
- •1. Определение информации. Основные проблемы, возникающие при хранении информации.
- •2. Отличительные особенности субд как программного продукта. Понятие экземпляра и базы данных.
- •3. Категории пользователей субд. Функциональные требования различных категорий пользователей к субд.
- •4. История развития субд. Особенности не реляционных моделей данных.
- •5. Общая характеристика моделей данных. Основные свойства. Понятие атрибутов, доменов.
- •6. Отношения модели данных. Понятия сущности и связи.
- •7. Ограничение целостности модели данных. Трехуровневая архитектура ansi/sparc.
- •8. Структурные компоненты модели данных в нотации idef1x. Понятия сущность, связь. Типы сущностей и связей.
- •9. Реляционная модель данных. Базовые структурные компоненты реляционной модели данных. Основные свойства.
- •10. Свойства реляционной модели данных. Представление сущности.
- •11. Свойства реляционной модели данных. Представление связи.
- •12. Требования целостности в реляционной модели данных.
- •13. Язык определения данных в реляционной модели данных. Основные возможности. Примеры.
- •14. Типы ограничений целостности, основные типы данных, основные операции реляционной модели данных.
- •15. Проектирование реляционных баз данных. Цели проектирования, основные этапы.
- •16. Проектирование реляционных баз данных. Проблемы обновления, удаления, добавления данных. Типы ограничений целостности.
- •17. Функциональная зависимость. Нормализация отношений. Концепция нормальных форм.
- •18. Первая и вторая нормальные форма. Определение. Аномалии, возникающие при нарушении. Примеры нарушения и нормализации.
- •19. Третья нормальная форма. Нормальная форма Бойса-Кодда. Определение. Аномалии, возникающие при нарушении. Примеры нарушения и нормализации.
- •20. Понятие многозначной зависимости. Примеры.
- •21. Четвертая и пятая нормальные формы. Определение. Аномалии, возникающие при нарушении. Примеры нарушения и нормализации.
- •22. Основные свойства sql, как языка программирования. Отличие от других языков программирования.
- •23. Основы построения sql- запросов. Источники данных запроса. Условия выборки кортежей. Примеры.
- •24. Левые, правые и полные соединения. Функции для работы с null значениями. Выборка уникальных записей. Примеры.
- •25. Использование подзапросов. Типы подзапросов. Примеры.
- •26. Коррелированные подзапросы. Особенности использования in, not in,exists, not exists.
- •27. Теоретико-множественные операции в sql-запросах. Примеры.
- •28. Агрегирующие функции. Группировка кортежей. Примеры.
- •29. Представления. Особенности использования. Примеры.
- •30. Триггеры в Transact sql. Пример реализации триггера.
- •31. Курсоры. Основные функции. Правила применения. Примеры.
- •32. Внутренние структуры данных. Двухуровневая система доступа к данным. Отношения каталогов.
- •33. Методы доступа к данным. Бинарные деревья.
- •34. Методы доступа к данным. Многоходовые деревья.
- •35. Методы доступа к данным. Сбалансированные деревья. Структура, правила следования. Основные свойства.
- •36. Операция вставки элемента в в-дерево. Проблема переполнения, методы решения. Пример.
- •37. Операция удаления элемента из в-дерева. Проблема антипереполнения. Методы решения. Пример
- •42. Индекс на основе битовых карт. Основные свойства.
- •43. Индекс на основе битовых карт. Структура листового блока. Операция добавления элемента.
- •44. Индекс на основе битовых карт. Операция обновления элемента. Блокировка записей.
- •45. Методы доступа к данным. Основные операции выполнения sql-выражения.
- •46. Методы доступа к данным. Типы соединений таблиц.
11. Свойства реляционной модели данных. Представление связи.
Свойства реляционной модели данных
1. Каждый атрибут отношения имеет уникальное в данном отношении имя
2. Каждый атрибут определен на каком-то одном домене.
3. На одном и том же домене может быть определено несколько атрибутов.
4. Имя атрибута может совпадать с именем домена.
5. Порядок следования атрибутов не устанавливается.
6. В отношении нет совпадающих кортежей (каждый кортеж уникален).
7. Порядок следования кортежей не устанавливается.
8. Отношение имеет имя, которое в схеме базы данных отличается от имен всех других отношений.
Внешний ключ (FK – Foreign Key) – это атрибут или некоторое множество атрибутов отношения R1, которые не являются собственными атрибутами отношения R1, но их значение совпадает со значениями первичного ключа некоторого отношения R2 (возможность идентичности R1 и R2 не исключается).
Основными типами связей между сущностями являются связи 1 : n (“один-ко-многим») и n : n («много-ко-многим»).
1:n.
Каждый сотрудник работает в одном
определённом отделе, в каждом отделе
работают много сотрудников. Эта связь
определяется атрибутом внешнего ключа
в отношении СОТРУДНИК: в это отношение
включается внешний ключ Номер
отдела,
значения которого совпадают со значениями
первичного ключа Номер
отдела
отношения ОТДЕЛ.
n:n.
Каждый поставщик поставляет много
деталей, каждая деталь поставляется
многими поставщиками. В этом случае
связь ПОСТАВКА ( ПОСТАВЩИК, ДЕТАЛЬ )
представляется собственным отношением,
в котором будут атрибуты внешних ключей,
ссылающиеся на отношения ПОСТАВЩИК и
ДЕТАЛЬ. Эти атрибуты могут войти в состав
первичного ключа отношения связи. Кроме
того, отношение связи может иметь
собственный атрибут.
12. Требования целостности в реляционной модели данных.
Требование целостности сущности (entity integrity) - любой кортеж любого отношения должен быть отличим от любого другого кортежа этого же отношения. Другими словами, у любой переменной отношения должен существовать первичный ключ, и никакое значение первичного ключа в кортежах значения-отношения переменной отношения не должно содержать неопределенных значений. Ограничения:
уникальность других атрибутов (АК)
обязательность значений атрибутов (NULL, NOT NULL)
допустимость значений атрибутов (CHECK)
Требование целостности по ссылкам (referential integrity), является более сложным. Ссылочные ограничения целостности в реляционной модели данных представляют собой условия, накладываемые на сосуществование кортежей в связанных отношениях. В реляционной базе данных связи между отношениями представляются с помощью внешних ключей.
Требование целостности по ссылкам, или требование целостности внешнего ключа, значение атрибута внешнего ключа в любом кортеже дочернего отношения должно соответствовать значению атрибута первичного ключа в некотором кортеже родительского отношения. Другими словами, требование целостности по ссылкам означает, что должно существовать то, на что ссылаемся.
При обновлении ссылающегося отношения (вставке новых кортежей или модификации значения внешнего ключа в существующих кортежах) достаточно следить за тем, чтобы не появлялись некорректные значения внешнего ключа.
При удалении кортежа существуют три подхода, каждый из которых поддерживает целостность по ссылкам.
запрещается производить удаление кортежа, для которого существуют ссылки (т. е. сначала нужно либо удалить ссылающиеся кортежи, либо соответствующим образом изменить значения их внешнего ключа).
при удалении кортежа, на который имеются ссылки, во всех ссылающихся кортежах значение внешнего ключа автоматически становится полностью неопределенным (NULL).
при удалении кортежа из отношения, на которое ведет ссылка, из ссылающегося отношения автоматически удаляются все ссылающиеся кортежи.