
- •Независимость данных. Трехуровневая модель описания данных.
- •Основные функции субд. Архитектуры приложений, использующих субд.
- •Модель данных сущность-связь: сущности, атрибуты и множества сущностей.
- •Модель данных сущность-связь: связи. Использование сущностей и связей при проектировании бд.
- •Модель данных сущность-связь: наследование, агрегирование. Использование при проектировании бд.
- •Модель данных сущность-связь: ограничения целостности.
- •Модель данных сущность-связь: Диаграммные и предикатные представления.
- •Реляционная модель данных: отношения, таблицы, домены, атрибуты. Описание таблиц и представлений в языке sql.
- •Реляционная модель данных: алгебраические операции.
- •Реляционная модель данных: исчисления. Эквивалентность алгебры и исчислений.
- •Объектно-ориентированные базы данных: типы данных. Идентификация и изменяемость.
- •Объектно-ориентированные базы данных: алгебраические операции.
- •Отображение модели сущность-связь в реляционную.
- •Иерархическая и сетевая модели данных, отображения в другие модели.
- •Функциональные зависимости и аномалии вставки, обновления, удаления.
- •Нормализация: декомпозиция отношений. Нормальные формы.
- •Язык запросов sql: операции реляционной алгебры.
- •Первичные и вторичные индексы. Плотные и неплотные индексы.
- •Протокол установки замков для дерева.
- •Мультигранулярные замки.
- •Уровни изоляции в sql и оптимистические замки.
- •Многоверсионные протоколы управления транзакциями.
- •Оптимистические протоколы управления транзакциями.
- •Распределенные субд: фиксация транзакций.
- •Хранение и использование xml в базах данных.
- •Темпоральные расширения моделей данных.
Модель данных сущность-связь: наследование, агрегирование. Использование при проектировании бд.
Связь типа Is-A. Операции обобщения и специализации: удаление/добавление атрибутов. Ключ специализации должен совпадать с ключом обобщения. Множественное наследование возможно, если имеется общее обобщение (ромб наследования). Атрибуты наследуются, но не копируются.
Связь типа «наследование» такова, что связываемые ею сущности должны иметь одинаковый идентификатор. Пример: работающий студент идентифицируется как человек, сотрудник, студент.
Слабые сущности: не могут существовать, не будучи связанными с другими сущностями (пример: дети сотрудников). [т.е. без некоторых атрибутов связанных с ними, стоящими «выше» по иерархии, мн-в сущностей, слабые сущности не будут иметь смысла. Связи, обеспечивающие эти атрибуты, называются поддерживающими связями.]
Агрегат – группа сущностей и связей, рассматриваемая как единая сущность и/или связь
Агрегирование: конструирование сложных сущностей и сложных связей (объединение нескольких сущностей / связей в новую сущность или связь). Более компактная диаграмма и более структурированная модель.
Агрегатная сущность вместе с каждой связью должна включать все связанные сущности.
Агрегатная связь вместе с каждой сущностью должна включать все ее связи.
Во время агрегации/деагрегации нужно следить за арностью связей (producer-product-consumer <-> producer-consumer).
В каких случаях возможно наследование в модели «сущность – связь»? Кажется очевидным, что сущность «пассажир» может быть унаследована от сущности «человек». Однако если мы хотим подсчитать количество перевезённых за месяц пассажиров, то придётся учитывать, что некоторые совершили более одной поездки. Понятно, что в подобном случае наследование неуместно. Пассажир – это отношение человека и рейса.
Модель данных сущность-связь: ограничения целостности.
Ограничения целостности — задают ограничения на использование связей. Определяется кратность связи для каждой участвующей сущности. Для бинарных связей различаются:
0:1, 1:n, 0:n, m:n, где 1 – ровно одна, 0 – не более одной.
Пример: добавить студента в вуз, но его ещё нет
По Молине (стр 74):
Ограничение уникальности - определенное значение в некотором контексте должно быть уникальным (например, ключи и связи “многие к одному”).
Ограничение ссылочной целостности - некоторое значение, на которое ссылается другой объект, должно существовать в базе данных (притом в точности одно (стр 78)).
Ограничение домена - значение атрибута должно выбираться из некоторого конечного множества значений или принадлежать определенному диапазону значений.
Ограничение общего вида - произвольное требование (типа, каждому кинофильму сопоставляем не более десяти актеров).