- •Оглавление
- •Глава 1 Представление данных 6
- •Глава 2 Реляционные базы данных 10
- •Глава 3 Язык структурированных запросов 42
- •Глава 4 Задание к выполнению лабораторных работ 72
- •Глава 5 Курсовая работа 97 Введение
- •Представление данных
- •Уровни представления данных
- •Инфологическая модель «сущность-связь»
- •Основные понятия
- •Характеристика связей
- •Вопросы для самопроверки
- •Реляционные базы данных
- •Основные понятия
- •Объекты реляционной структуры
- •Операции реляционной алгебры
- •Неопределенные значения
- •Ограничения целостности
- •Разработка реляционной базы данных
- •Основные предпосылки
- •Нормализация
- •Нормальные формы
- •Правила нормализации
- •Алгоритм нормализации
- •Нормализация в примерах.
- •Заключение
- •Вопросы для самопроверки
- •Язык структурированных запросов
- •Основные понятия
- •Типы данных
- •Операции над данными и null
- •Выбор данных из базы
- •Выбор данных из базы – оператор join
- •Выбор данных из базы – источник данных запрос
- •Управление структурой базы данных
- •Типы команд управления структурой
- •Типы объектов структуры
- •Создание таблицы
- •Удаление таблицы
- •Создание представления
- •Удаление представления
- •Изменение представления
- •Создание триггера
- •Изменение данных
- •Удаление данных
- •Ограничения целостности при манипулировании данными
- •Пример создания базы данных
- •Заключение
- •Вопросы для самопроверки
- •Задание к выполнению лабораторных работ
- •Лабораторная работа №1. Изучение команды select – простые запросы
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Содержание отчета
- •Лабораторная работа №2. Изучение команды select – запрос из нескольких источников
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Видео прокат
- •Вариант 2 Биржа
- •Вариант 3 Биржа труда
- •Вариант 4 Коктейли
- •Вариант 5 Урожай
- •Вариант 6 Фитнес центр
- •Вариант 7 Овощная база
- •Вариант 8 Оборудование
- •Вариант 9 Курортная карта
- •Вариант 10 осаго
- •Контрольные вопросы
- •Содержание отчета
- •Лабораторная работа №3. Разработка структуры базы данных. Вторая часть
- •Задания для самостоятельного решения
- •Контрольные вопросы
- •Содержание отчета
- •Лабораторная работа №3. Разработка системы протоколирования операций над данными реляционной таблицы с использованием триггеров
- •Задание для самостоятельного решения:
- •Контрольные вопросы:
- •Содержание отчета
- •Лабораторная работа №2. Разработка пользовательских функций и процедур
- •Задания для самостоятельного решения
- •Контрольные вопросы:
- •Содержание отчета
- •Лабораторная работа №2. Импорт данных
- •Задания для самостоятельного решения
- •Контрольные вопросы:
- •Содержание отчета
- •Курсовая работа
- •Библиографический список
Характеристика связей
Между двумя сущностями, например, А и В, возможны четыре вида связей.
Связь один к одному (1:1) – в каждый момент времени каждому экземпляру сущности А соответствует 1 или 0 экземпляров сущности В.
Связь один ко многим (1:М) – в каждый момент времени каждому экземпляру сущности А соответствует 1, 0 или несколько экземпляров сущности В.
Поскольку связь может быть не только в направлении от А к В, но и обратно, то появляются еще связи многие к одному (М:1) и многие ко многим (М:М).
В задаче учета семейных отношений между мужчинами и женщинами можно сформировать все четыре вида связи. Связь один к одному характеризует традиционный брак. Связь один ко многим характеризует многоженство. Связь многие к одному характеризует многомужие. Связь многие ко многим характеризует групповой брак.
Для организации связи многие ко многим необходима дополнительная сущность, обеспечивающая эту связь и называемая ассоциативной сущностью. Остальные связи могут связывать сущности напрямую.
Вопросы для самопроверки
Назовите три модели данных применяемые при разработке базы данных.
Дайте определение инфологической модели данных.
Для каких элементов инфологической модели «сущность-связь» определены тип и экземпляр?
Дайте определение понятия сущность.
Дайте определение понятия атрибут.
Дайте определение понятия сущность.
Дайте определение понятия ключ.
Дайте определение понятия связь.
Дайте определение связи многие к одному.
Дайте определение связи один к одному.
Реляционные базы данных
Основные понятия
Практически, все широко известные современные системы управления базами данных, как коммерческие, так и бесплатные, основаны на реляционной модели данных.
Реляционная модель предложена в 60-е года двадцатого столетия. Одним из основателей данного подхода является Э. Кодд, в статьях которого изложены основные положения реляционного подхода и их математическое обоснование. В основе реляционного подхода лежат теория множеств и аппарат реляционной алгебры.
Основу реляционного подхода составляют: объекты структуры данных, операции над ними и ограничения целостности.
Объекты реляционной структуры
Основным элементом реляционной модели, ее основой, является отношение. Определения основных понятий реляционной модели: отношений, переменных отношений, атрибутов, кортежей и других – были сформулированы Э. Коддом в его классических статьях [7, 8, 9] и неоднократно описаны в других источниках [2, 3, 4, 10, 11, 12].
С точки зрения прикладных задач удобно перейти к табличным эквивалентам реляционной модели. В этом ключе основная идея реляционной модели трансформируется в идею представления данных в виде двумерных таблиц. Точнее, в виде таблиц, удовлетворяющих требованиям, делающим их эквивалентными понятию отношение. При этом, остальные понятия реляционной модели можно отобразить на понятия таблиц следующим образом:
заголовок отношения – заголовок таблицы;
тело отношения – тело таблицы;
атрибут отношения – наименование столбца таблицы;
кортеж отношения – строка таблицы;
мощность отношения – количество строк таблицы.
Отношение обладает рядом свойств, которые не являются обязательными для таблиц. Наличие этих свойств и делает таблицу эквивалентной отношению, т.е. реляционной таблицей:
тело отношения не содержит идентичных кортежей, т.е. в таблице не должно быть абсолютно одинаковых строк;
кортежи отношения не упорядочены, т.е. при рассмотрении данных таблицы нельзя учитывать последовательность строк. Например, в таблице, содержащей список сотрудников отдела, первой строкой указывается начальник отдела. С точки зрения табличного представления информация о начальнике определяется по упорядочиванию ее строк. В отношениях такое не допустимо. Другими словами, порядковый номер строки и взаимное расположение строк в таблице не должно нести никакой информации;
атрибуты отношения не упорядочены, т.е. при рассмотрении данных таблицы нельзя учитывать последовательность столбцов или порядковый номер столбца, и взаимное расположение столбцов в таблице не должно нести никакой информации;
все значения атрибутов отношения атомарные, т.е. на пересечении любых строки и столбца лежит в точности одно значение или ничего.
Ключ – это еще один элемент реляционной модели, широко использующийся при определении операции и целостности. Сразу рассмотрим понятия в принятой нами выше табличной интерпретации реляционной модели.
Ключ – это набор столбцов заголовка таблицы, обладающий определенными свойствами. Если набор состоит из одного столбца, то это простой ключ. Если из нескольких столбцов, то это составной ключ.
В реляционном подходе определяют несколько видов ключей:
первичный;
возможный;
внешний.
Первичный ключ – это минимальный набор столбцов заголовка таблицы, комбинация значений которых будет уникальной в любой момент времени для любой строки таблицы. Минимальность означает, что при исключении любого из выбранных столбцов из первичного ключа условие уникальности нарушается.
Возможный ключ – альтернативный первичный ключ таблицы. Любая реляционная таблица имеет один или более возможных ключей. Один из этих ключей выбирается первичным ключом, т.е. определение возможного ключа совпадает с определением первичного ключа. Необходимо отметить, что один и тот же столбец может входить в состав нескольких составных возможных ключей. А также, существуют таблицы, в первичный ключ которых входят все ее столбцы. Это не редкий случай для таблиц, выступающих в роли ассоциативных сущностей.
Внешние ключи появляются при появлении в структуре базы данных нескольких таблиц. В любой базе данных таблицы связаны между собой либо прямыми связями, либо через другие таблицы, иначе база распадается на несколько независимых структур. Собственно, внешние ключи служат для организации прямых связей таблиц.
В прямой связи двух таблиц можно выделить родительскую и дочернюю таблицу. Для организации связи дочерняя таблица должна содержать среди своих столбцов копии столбцов первичного ключа родительской таблицы. По значениям в столбцах внешнего ключа дочерней таблицы осуществляется поиск соответствующей строки родительской таблицы.
Прямая связь между двумя таблицами соответствует связи один ко многим от родительской таблицы к дочерней таблице, т.е. в дочерней таблице определенное значение внешнего ключа может встретиться в нескольких строках, а в родительской только один раз, т.к. это первичный ключ. При указании дополнительного требования об уникальности внешнего ключа связь преобразуется к связи один к одному. Такие таблицы могут быть объединены в одну.
