
- •Разработка структуры бд Проектирование логической структуры бд
- •Модели данных, поддерживаемые субд
- •Дореляционные модели данных
- •Реляционная модель данных
- •Постреляционные моделей данных
- •Преобразование концептуальной модели данных в реляционную модель данных
- •Суррогатные ключи
- •Ограничения целостности
- •1. Ограничения на значения данных.
- •1.1. Ограничения доменов.
- •1.2. Ограничение обязательности значения.
- •1.3. Ограничение уникальности.
- •2. Ограничения на связи между данными.
- •2.1. Ограничения ссылочной целостности.
- •2.2. Ограничения кардинальности связи.
- •2.3. Ограничения на изменения в записях.
- •Нормализация отношений
- •1). Первая нормальная форма (1нф).
- •2). Вторая нормальная форма (2нф).
- •3). Третья нормальная форма (3нф).
- •Понятие физической структуры бд
Суррогатные ключи
В отношении (таблице) может быть определен суррогатный ключ.
Суррогатный ключ – уникальный идентификатор, используемый в качестве первичного ключа отношения, не имеющий смысла для пользователей.
Пример: СТУДЕНТ (НомерСтудента, ИмяСтудента, Курс)
НомерСтудента – сквозной уникальный идентификатор, не несущий никакой смысловой нагрузки.
Основная причины использования суррогатных ключей - индексы на основе атрибутов (полей), которые определены на текстовом домене, слишком велики.
1). Ключ, созданный на основе текстового атрибута (поля), требует построения уникального индекса.
ОБЩЕЖИТИЕ
-
Название
Адрес
КоличествоМест
…….
Целесообразно ввести суррогатный ключ – НомерОбщежития.
ОБЩЕЖИТИЕ
-
НомерОбщежития
Название
Адрес
КоличествоМест
…….
2). Ключ отношения пересечения (связь M:N), состоящий из ключей связываемых отношений, созданных на основе текстовых атрибутов.
ОБЩЕЖИТИЕ
-
НазваниеОбщежития
Адрес
…
ВУЗ
-
НазваниеВуза
Адрес
…….
Отношение пересечения ОБЩЕЖИТИЕ_ВУЗ:
ОБЩЕЖИТИЕ_ВУЗ
-
НазваниеОбщежития
НазваниеВуза
КоличествоМест
Затраты на хранение и обработку индексов в этих отношениях могут быть значительно снижены, если в отношениях определить суррогатные ключи.
ОБЩЕЖИТИЕ
-
НомерОбщежития
НазваниеОбщежития
Адрес
…….
ВУЗ
-
НомерВуза
НазваниеВуза
Адрес
…….
ОБЩЕЖИТИЕ_ВУЗ
-
НомерОбщежития
НомерВуза
КоличествоМест
Достоинства суррогатных ключей:
постоянная идентификация;
компактность значений;
легкость индексирования;
снижение занимаемого объема памяти;
повышение быстродействия.
Замечания:
1). Всегда, когда отношение имеет первичный ключ, являющийся длинным текстом, или композитный ключ, содержащий длинные текстовые элементы, следует подумать об использовании суррогатных ключей.
2). Желательно, чтобы идентификатор строки был неизменен на протяжении всего времени существования строки. Если это не так, то целесообразно ввести суррогатный ключ.
Способы генерации значений суррогатного ключа:
генерация системой (тип Счетчик, AutoNumber);
генерация пользователем или программой (вручную или программно).
Совет:
Не следует вводить суррогатные ключи в отношения (таблицы), имеющие в качестве естественного ключа легко индексируемые данные.