
- •Базы данных
- •Лекция 1 Введение. Основы теории баз данных.
- •Цели и задачи дисциплины
- •Требования, предъявляемые к изучению дисциплины
- •Концепция систем баз данных
- •Лекция 2 Введение в банки и базы данных.
- •Введение бд и системы бд
- •Введение в Банки данных (БнД)
- •Причины создания БнД
- •Требования предъявляемые к БнД или бд
- •Компоненты банка данных (БнД)
- •5.Организационно-методические средства.
- •6. Пользователи бд
- •Классификация баз и банков данных, виды моделей данных Типология базы данных
- •Модели данных
- •Инфологическая модель
- •Лекция 4 Этапы проектирования бд
- •Лекция 5 Модели и структуры данных
- •Структуры.
- •Абстракция
- •Множества
- •Операции над множествами
- •Лекция 6 Многоуровневые модели предметной области
- •Трехуровневая архитектура субд
- •Лекция 7 Структуры данных
- •Линейные структуры
- •Нелинейные структуры
- •Лекция 8 Типы моделей данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Лекция 9 Системы управления базами данных
- •Лекция 10 Основные понятия реляционной модели данных
- •Атрибуты
- •Условия и ограничения, накладываемые на отношение реляционной модели данных
- •Достоинства и недостатки реляционных моделей
- •Основы реляционной алгебры Свойства отношений
- •Операции над отношениями.
- •Пересечение.
- •Вычитание (разность).
- •Декартово произведение.
- •5. Выборка (ограничение, селекция).
- •Соединение
- •1. Общая операция соединения.
- •2. Тэта-соединение.
- •Деление.
- •Примеры использования реляционных операторов.
- •Лекция 12 Нормализация отношений
- •Типы функциональных зависимостей.
- •Нормальные формы
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (3нф)
- •Усиленная 3нф Нормальная форма Бойса-Кодда (нфбк).
- •Четвертая нормальная форма (4нф)
- •Пятая нормальная форма (5нф)
- •Лекция 13 Инфологическое проектирование
- •Лекция 14 Даталогиечекское проектирование Общие сведения о даталогическом проектировании
- •Особенности даталогической модели
- •Лекция 15 Проектирование рбд с использованием er-технологий Сущности и связи
- •Построение er-диаграммы по
- •Характеристика связей
- •Лекция 16 Получение отношений из диаграммы er-типа
- •1. Предварительные отношения бинарных связей 1:1
- •2. Предварительные отношения бинарных связей 1:n
- •3. Предварительные отношения бинарных связей n:m
- •Лекция 17 Ограничение целостности
- •Целостность реляционных данных
Лекция 10 Основные понятия реляционной модели данных
Концепция реляционной модели данных была предложена Ф. Коддом в 1970 г. В связи с решением следующей задачи – обеспечить независимость представления и описания данных от прикладных программ. В основе реляционной модели данных лежит понятие отношения.
Реляционная база данных (РБД) представляет собой совокупность отношений, содержащих всю информацию, которая должна храниться в БД
Отношением называется любая взаимосвязь между объектами и/или их свойствами.
Различают взаимосвязи между объектами, между свойствами одного объекта и между свойствами различных объектов.
Отношение задается своим именем и списком атрибутов – элементов связанных этим отношением.
Отношение удобно представлять в виде двумерной таблицы при соблюдении определенных ограничивающих условий. Таблица понятна, обозрима и привычна для человека. Кодд показал, что набор отношений (таблиц) может быть использован для хранения данных о объектах реального мира и моделирования связей между ними. Например, для хранения сущности «студент» используется отношение СТУДЕНТ, в котором свойства сущности располагаются в столбцах таблицы1:
Типы данных
Целые числа
Строки символов
Дата
Строки символов
Целые числа
Строки
символов
Домены
Н |
Фамилия |
Имя |
Отчество |
Дата рождения |
Факультет |
Курс |
Группа |
С |
2001-351 |
Карева |
Алена |
Дмитриевна |
05.09.1984 |
Филфак |
5 |
10 |
С |
2002-972 |
Щеглова |
Ольга |
Леонидовна |
21.11.1983 |
Матфак |
4 |
5 |
П |
2002-222 |
Горчичко |
Сергей |
Алексеевич |
01.08.1985 |
Матфак |
4 |
5 |
П |
2002-678 |
Равилович |
Анна |
Викторовна |
23.05.1985 |
Юрфак |
3 |
1 |
П |
Атрибуты
Степень
Основными понятиями, с помощью которых определяется реляционная модель, являются:
Отношение (таблица) – совокупность объектов реального мира, которые характеризуются общими свойствами и характеристиками (поля таблицы)
Заголовок отношения (заголовок таблицы) – название полей (столбцов) таблицы
Тело отношения (тело таблицы) – совокупность значений для всех объектов реального мира, которая представима в виде записей таблицы (строки таблицы)
Схема отношения – строка заголовков столбцов таблицы (заголовок таблицы)
Атрибуты отношения – наименование столбца таблицы (поле таблицы)
Кортеж отношения - строка таблицы (запись) – имеет определенную смысловую нагрузку
Домен – множество допустимых значений атрибута
Значение атрибута – значение поля в записи
Первичный ключ – один или несколько атрибутов, который уникальный (единственным) образом определяет значение кортежа (значение строки таблицы)
Внешний ключ – атрибут таблицы, значения которого соответствуют значениям первичного ключа в другой связанной таблице. Внешний ключ может состоять как из одного, так и из нескольких атрибутов (составной внешний ключ). Если число атрибутов внешнего ключа меньше, чем количество атрибутов соответствующего первичного ключа, то он называется усеченным (частичным) внешним ключом.
Степень (арность) отношения – количество столбцов таблицы
Математически отношение определяется следующим образом: Пусть даны N множеств данных D1,D2,D3,…DN, тогда R есть отношение (связь) между этими множествами, если R – множество упорядоченных N-кортежей вида <d1,d2,…dN>, где d1D1, d2D2,…dNDN. Множества D1,D2,D3,…DN являются множествами возможных значений атрибутов A1, A2,…AN отношений R и называются доменами. Таким образом отношение является подмножеством декартова произведения одного или более доменов D1x, D2x,…xDN. Каждый кортеж в отношении уникален.
Домен представляет собой семантическое понятие, которое можно рассматривать как подмножество значений некоторого типа данных, имеющих определенный смысл. Домен характеризуется следующими свойствами:
-
имеет уникальное имя (в пределах базы данных);
-
определен на некотором простом типе данных или на другом домене;
-
может иметь некоторое логическое условие, позволяющее описать подмножество данных, допустимых для этого домена;
-
имеет определенную смысловую нагрузку.
В целом концепция РМД определяется следующими двенадцатью правилами Кодда:
1. Правило информации. Вся информация в БД должна быть представлена исключительно на логическом уровне и только одним способом – в виде значений, содержащихся в таблицах.
2. Правило гарантированного доступа. Логический доступ ко всем и каждому элементу данных (атомарному значению) в РБД должен обеспечиваться путем использования комбинации имени таблицы, первичного ключа и имени столбца.
3. Правило поддержки недействительных значений. В РБД должна быть реализована поддержка недействительных значений, которые отличаются от строки символов нулевой длины, строки пробельных символов, от нуля или любого другого числа и используются для представления отсутствующих данных независимо от типа этих данных.
4. Правило динамического каталога, основанного на реляционной модели. Описание БД на логическом уровне должно быть представлено в том же виде, что и основные данные, чтобы пользователи, обладающие соответствующими правами, могли работать с ним с помощью того же реляционного языка, который они применяют для работы с основными данными.
5. Правило исчерпывающего подъязыка данных. Реляционная система может поддерживать различные языки и режимы взаимодействия с пользователем. Однако должен существовать по крайней мере один язык, операторы которого можно представить в виде строк символов в соответствии с некоторым четко определенным синтаксисом и который в полной мере поддерживает следующие элементы:
-
определение данных;
-
определение представлений;
-
обработку данных (интерактивную и программную);
-
условия целостности;
-
идентификацию прав доступа;
-
границы транзакций (начало, завершение и отмена);
-
Правило обновления представлений. Все представления, которые теоретически можно обновить, должны быть доступны для обновления.
-
Правило добавления, обновления и удаления. Возможность работать с отношением как с одним операндом должна существовать не только при чтении данных, но и при добавлении, обновлении и удалении данных.
-
Правило независимости физических данных. Прикладные программы и утилиты для работы с данными должны на логическом уровне оставаться нетронутыми при любых изменениях способов хранения данных или методов доступа к ним.
-
Правило независимости логических данных. Прикладные программы и утилиты для работы с данными должны на логическом уровне оставаться нетронутыми при внесении в базовые таблицы любых изменений, которые теоретически позволяют сохранить нетронутыми содержащиеся в этой таблицы данные.
-
Правило независимости условий целостности. Должна существовать возможность определять условия целостности, специфические для конкретной РБД, на подъязыке РБД и хранить их в каталоге, а не в прикладной программе.
-
Правило независимости распространения. Реляционная СУБД не должна зависеть от потребностей конкретного клиента.
-
Правило единственности. Если в реляционной системе есть низкоуровневый язык (обрабатывающий одну запись за один раз), то должна отсутствовать возможность использования его для того, чтобы обойти правила и условия целостности, выраженные на реляционном языке высокого уровня (обрабатывающем несколько записей за одни раз).
Эффективность конкретной СУБД определяются наличием и удобством использования средств выполнения этих операций. Языки для выполнения операций над отношениями в реляционной СУБД можно разделить на два главных класса:
-
языки реляционной алгебры (алгебра Кодда);
-
языки реляционного исчисления.
ЯРА основаны на принципе: записывая последовательность операций над отношениями в соответствующем порядке, можно получить желаемый результат. Поэтому ЯРА является процедурным языком.
ЯРИ основаны на классическом исчислении предикатов. Они определяют пользователю набор правил для записи «запросов» к БД.В таком запросе содержится лишь информация о желаемом результате. На основании запроса СУБД автоматически, путем формирования новых отношений, выдает желаемый результат. ЯРИ является непроцедурным языком.