Базы данных_Лекц2 -14.ppt
- Количество слайдов: 15
Модель предметной области Совокупность объектов, выделенных из предметной области, их свойств, необходимых для решения определенной задачи, и связей между объектами называется моделью предметной области (МПО). Связь между объектами характеризуется направлением и количеством экземпляров объектов, которые могут в ней участвовать. Вид связи Пример один – к - одному (1: 1) «секретарь представляет кафедру» и «кафедра имеет секретаря» один – ко - многим (1: n) «секретарь регистрирует абитуриента» многие – к - одному (n: 1) «абитуриент регистрируется у секретаря» многие – ко -многим (n: m) «студент сдает предмет» 1
Концептуальная модель – это представление МПО в терминах модели данных. Процесс построения концептуальной модели называется логическим проектированием базы данных Концептуальная модель средствами СУБД отображается в соответствующие структуры физической базы данных 2
Реляционная модель данных (модель Кодда). Relation (англ. ) – отношение Математическое определение отношения: Пусть даны N множеств D 1, D 2, . . . , DN. Тогда R есть отношение над этими множествами, если R есть множество упорядоченных m – кортежей вида <d 1, d 2, . . . , dn>, где d 1 – это элемент из D 1, d 2 –элемент из D 2, . . . , dn –элемент из DN. D 1, D 2, . . . , DN называются доменами отношения R. 3
Пример отношения Схема отношения Студент : Студент (ФИО, Дата_рождения, Курс, Специальность). ФИО Дата_рождения Курс Специальность Иванов И. И. 01. 09. 93 3 история Петров П. П. 09. 12. 94 2 физика Сидоров С. С. 07. 10. 95 1 история Соловьев С. С. 07. 10. 95 1 биология 4
Основные понятия реляционной модели Реляционная модель – это набор отношений (двумерных таблиц), на которые накладываются некоторые ограничения. Такой набор может быть использован для хранения сведений об объектах реального мира и моделирования связей между ними. Каждая таблица (отношение) имеет имя и состоит из множества строк (кортежей) и столбцов. Столбцы также имеют имена. Имена столбцов – это атрибуты отношения. Число столбцов или атрибутов отношения называют его степенью, а текущее число строк – мощностью. Список атрибутов отношения называют схемой отношения 5
Ограничения, накладываемые реляционной моделью на таблицы (отношения) n n n Все строки таблицы (кортежи отношения) должны иметь одинаковую структуру, одно и то же количество атрибутов. Значения каждого атрибута должны быть взяты из некоторого фиксированного множества значений (домена). Никакие две строки не могут совпадать. Каждая строка таблицы должна иметь свое значение первичного ключа. В целях непротиворечивости базы данных должна соблюдаться ссылочная целостность для внешних ключей. Значения атрибутов должны быть атомарными. 6
Запрет на присутствие в таблице строк, имеющих одинаковые первичные ключи Первичный ключ – это такой атрибут или набор атрибутов, который может быть использован для однозначной идентификации конкретной строки. Первичный ключ не должен иметь лишних атрибутов. Если отношение имеет несколько потенциальных первичных ключей, то выбирают тот из них, который короче, другие потенциальные ключи называются возможными ключами или ключами – кандидатами. Первичным ключом отношения Студент может быть совокупность атрибутов ФИО и Домашний_Адрес или атрибут №Зачетки. 7
Отношение Студент после добавления атрибута №Зачетки ФИО Дата_рождения Курс Специальность 13/3 -5 Иванов И. И. 01. 09. 93 3 история 14/1 -2 Петров П. П. 09. 12. 94 2 физика 15/2 -2 Сидоров С. С. 07. 10. 95 1 история 15/2 -1 Соловьев С. С. 07. 10. 95 1 биология 8
Типы отношений реляционной БД n Объектное отношение. Хранит данные об экземплярах объекта предметной области Примеры: Студент (№Зачетки, ФИО, Дата_рождения, Курс, Специальность). Предмет (Название, Кол_Часов) n Связное отношение. Содержит атрибуты, характеризующие связь между объектами, обязательно содержит первичные ключи объектных отношений, участвующих в связи, а также атрибуты, которые функционально зависят от этой связи. Пример: Сдал (№Зачетки, Название, Дата_Сдачи, Оценка) 9
Ограничения, накладываемые реляционной моделью на внешние ключи Атрибут отношения, который является первичным ключом другого отношения, называется внешним или вторичным ключом Каждому внешнему ключу должна соответствовать строка какого – либо объектного отношения Если таблица Предмет имеет вид: Название Кол_Часов физика 50 информатика 40 история 30 математика 40 иностранный язык 40 , то строка таблицы Сдал 15/2 -1 история 25. 01. 03 5 является допустимой, а строка 15/2 -1 химия 27. 01. 03 4 является недопустимой 10
Требование атомарности значений атрибутов Отношения должны быть нормализованы, то есть находиться, как минимум, в первой нормальной форме (1 НФ). Это означает, что каждый атрибут отношения должен быть простым, т. е. содержать атомарные, неделимые значения. Значения атрибутов не могут быть ни списками значений, ни именами отношений, которые бы заменили собой списки значений. Например, недопустимо отношение Сдал следующего вида: №Зачетки Название Дата_Сдачи Оценка 15/2 -1 физика, информатика, история 02. 01. 03, 07. 01. 03, 15. 01. 03 5, 4, 3 15/2 -2 физика, информатика, история 02. 01. 03, 07. 01. 03, 15. 01. 03 4, 4, 4 13/3 -5 физика, информатика, история 03. 01. 03, 08. 01. 03, 17. 01. 03 4, 3, 5 11
Отношение Сдал после его приведения к 1 НФ №Зачетки Название Дата_Сдачи Оценка 15/2 -1 физика 02. 01. 03 5 15/2 -1 информатика 07. 01. 03 4 15/2 -1 история 15. 01. 03 3 15/2 -2 физика 02. 01. 03 4 15/2 -2 информатика 07. 01. 03 4 15/2 -2 история 15. 01. 03 4 13/3 -5 физика 03. 01. 03 4 13/3 -5 информатика 08. 01. 03 3 13/3 -5 история 17. 01. 03 5 12
Связь между таблицами реляционной модели Связь осуществляется по общим полям (атрибутам) таблиц и может быть 1: 1 или 1: n. n Существуют понятия главной (родительской) таблицы и подчиненной (дочерней). n Поле связи должно быть обязательно первичным ключом главной таблицы. n Поля связи в таблицах не обязательно должны иметь одинаковые имена, но значения полей должны быть взяты из одного и того же множества. n Возможно использование для связи не только одного поля, но и совокупности полей. Например, связь между таблицами Студент и Сдал осуществляется по полю №Зачетки, это связь 1: n. Главной является таблица Студент, а подчиненной – таблица Сдал. n 13
Пример связей между таблицами реляционной БД Сдал Студент № зачетки ФИО Дата_рождения Курс Специальность 1 n № зачетки Название предмета Дата сдачи Предмет n 1 Название Кол_часов Оценка 14
Случаи, когда СУБД осуществляет автоматический контроль данных на непротиворечивость n При добавлении данных в подчиненную таблицу. Нельзя добавить строку, в которой поле связи содержит значение, отсутствующее в главной таблице. При добавлении данных в главную таблицу контроль ссылочной целостности не требуется. n При удалении данных из главной таблицы. Из главной таблицы запрещается удалять строку, если в подчиненной таблице есть строки, связанные с ней. Альтернативным способом решения проблемы сохранения ссылочной целостности данных при удалении является каскадное удаление, то есть удаление строки из главной таблицы с одновременным удалением соответствующих ей строк из подчиненной. n При модификации значения поля связи, как в главной, так и в подчиненной таблице. В подчиненной таблице значение поля связи можно изменить на другое значение, но только в случае, если новое значение есть в главной таблице. Изменить значение поля связи главной таблицы нельзя или следует произвести соответствующую замену и во всех строках подчиненной таблице, то есть выполнить каскадное изменение данных. Изменение в таблицах значений полей, не участвующих в связи контроля ссылочной целостности не требует. 15
Базы данных_Лекц2 -14.ppt