Атрибут - САО РАН

advertisement
Основы реляционных баз
данных
Лекция 2. Введение в проектирование
Желенкова Ольга Петровна, с.н.с. ОИ САО РАН, к.ф.-м.н.
14-18 апреля 2008
Базовые понятия
• Тип данных
• Домен
• Атрибут
• Кортеж
• Отношение
• Первичный ключ
• Вторичный ключ
Типы данных
• Символьные (CHAR, VARCHAR2)
• Целые числа
• с плавающей точкой (NUMBER)
• Битовые сроки (RAW)
• Специализированные числовые данные
• Временные данные (DATE)
•
Домен - это семантическое понятие (несет
определенную смысловую нагрузку)
• Домен определен на некотором простом типе
данных или на другом домене.
• Домен может иметь некоторое логическое условие,
позволяющее описать подмножество данных,
допустимых для данного домена. Область
допустимых значений атрибута
Отношение – именованная таблица
• Атрибут отношения - некоторое
свойство, характеристика отношения
или наименование столбца таблицы
• Кортеж отношения – строка таблицы
База данных – набор отношений
Схема базы данных – набор
заголовков таблиц
Фундаментальные свойства отношений
• Отсутствие кортежей-дубликатов
• Отсутствие упорядоченности кортежей
• Отсутствие упорядоченности атрибутов
• Атомарность значений атрибутов
• Предметная область
• Модель предметной области
(инфологическая модель)
• Логическая модель данных
• Физическая модель данных
• Собственно база данных и приложения
• информативными и полезными при
разработке баз данных являются
описания предметной области,
выполненные при помощи
специализированных графических
нотаций. Имеется большое количество
методик описания предметной области
ER-диаграммы, UML-диаграммы и т.д.
• Сущность – любой различимый объект (объект,
который мы можем отличить от другого),
информацию о котором необходимо хранить в базе
данных.
• тип сущности относится к набору однородных
личностей, предметов, событий или идей,
выступающих как целое.
• экземпляр сущности относится к конкретной вещи
в наборе
• Атрибут – поименованная
характеристика сущности
• Ключ – минимальный набор атрибутов,
по значениям которых можно
однозначно найти требуемый
экземпляр сущности.
• Связь – ассоциирование двух или более сущностей.
• Если бы назначением базы данных было только
хранение отдельных, не связанных между собой
данных, то ее структура могла бы быть очень
простой.
• Однако одно из основных требований к организации
базы данных – это обеспечение возможности
отыскания одних сущностей по значениям других,
для чего необходимо установить между ними
определенные связи.
Entity-Relation-диаграммы
• Первый тип – связь ОДИН-К-ОДНОМУ (1:1) в каждый
момент времени каждому представителю (экземпляру)
сущности А соответствует 1 или 0 представителей сущности В:
• Второй тип – связь ОДИН-КО-МНОГИМ
(1:М): одному представителю сущности А
соответствуют 0, 1 или несколько представителей
сущности В
• Так как между двумя сущностями
возможны связи в обоих направлениях,
то существует еще два типа связи
МНОГИЕ-К-ОДНОМУ (М:1) и МНОГИЕКО-МНОГИМ (М:N).
• множество связей между одними и
теми же сущностями
• три основные класса сущностей: стержневые,
ассоциативные и характеристические.
• Первичный ключ - служат
идентификаторами объектов предметной
области (т.е. предназначены для различения
объектов)
• Значения первичных ключей не могут
содержать неизвестные значения (NULL).
• Различные объекты предметной
области, информация о которых
хранится в базе данных, всегда
взаимосвязаны друг с другом.
• Такие взаимосвязи отражаются в
реляционных базах данных при
помощи внешних ключей,
связывающих несколько отношений.
Внешние ключи
• Внешний ключ, также как и потенциальный, может быть
простым и составным и определяется на тех же доменах, что
и соответствующий первичный ключ родительского
отношения.
• Внешний ключ, как правило, не обладает свойством
уникальности. В дочернем отношении может быть несколько
кортежей, ссылающихся на один и тот же кортеж
родительского отношения.
• Хотя каждое значение внешнего ключа обязано совпадать со
значениями потенциального ключа в некотором кортеже
родительского отношения, то обратное, вообще говоря,
неверно. Например, могут существовать поставщики, не
поставляющие никаких деталей.
• Правило целостности сущностей. Атрибуты,
входящие в состав некоторого потенциального
ключа не могут принимать null-значений.
• Правило целостности внешних ключей. Внешние
ключи не должны быть несогласованными, т.е. для
каждого значения внешнего ключа должно
существовать соответствующее значение
первичного ключа в родительском отношении.
Ссылочная целостность (или связь родительская-дочерняя
таблицы) может нарушиться в результате операций
(добавления, обновление и удаление) изменяющих состояние
базы данных.
В определении ссылочной целостности участвуют два отношения
- родительское и дочернее.
Ссылочная целостность в принципе может быть нарушена при
выполнении одной из четырех операций:
• Обновление кортежа в родительском отношении.
• Удаление кортежа в родительском отношении.
• Вставка кортежа в дочернее отношение.
• Обновление кортежа в дочернем отношении.
Существуют две основные стратегии поддержания ссылочной
целостности:
• RESTRICT (ОГРАНИЧИТЬ)- не разрешать выполнение операции,
приводящей к нарушению ссылочной целостности (требуется
проверка, имеются ли кортежи в дочернем отношении, связанные с
некоторым кортежем в родительском отношении).
• CASCADE (КАСКАДИРОВАТЬ)- разрешить выполнение требуемой
операции, но внести при этом необходимые поправки в других
отношениях так, чтобы не допустить нарушения ссылочной
целостности и сохранить все имеющиеся связи. Изменение
начинается в родительском отношении и каскадно выполняется в
дочернем отношении. В реализации этой стратегии имеется одна
тонкость, заключающаяся в том, что дочернее отношение само может
быть родительским для некоторого третьего отношения.
Нормализация таблиц основана на понятии
функциональной зависимости атрибутов
отношения.
• 1 нормальная форма (1НФ)– нет дублирующих кортежей,
однако первой нормальной формы недостаточно для
правильного моделирования данных
• Отношение находится во второй нормальной форме (2НФ)
тогда и только тогда, когда отношение находится в 1НФ и нет
неключевых атрибутов, зависящих от части сложного
ключа
• Отношение находится в третьей нормальной форме (3НФ)
тогда и только тогда, когда отношение находится в 2НФ и все
неключевые атрибуты взаимно независимы. Атрибуты
называются взаимно независимыми, если ни один из них не
является функционально зависимым от другого
Download