Relation – таблица с определенными характеристиками. Строки таблицы содержат данные об описываемом предмете, столбцы – содержат определенные свойства данного предмета.
Key – комбинация одного или более столбцов, используемая для однозначной идентификации строки. Ключи состоящие из более чем одного столбца называются composite keys. Существуют несколько видов ключей:
- Candidate key – ключ, однозначно идентифицирующий строку в таблице и который может быть использован в качестве primary key.
- Primary key – ключ, используемый DBMS (СУБД) для идентификации строки в таблице. Может быть только один на одну таблицу.
- Surrogate key – дополнительный столбец, создаваемый для использования в качестве primary key. Значение surrogate key назначает сама СУБД и оно уникально для каждой создаваемой в БД строки.
- Foreigner key – столбец или комбинация столбцов, являющихся primary key для другой таблицы. Путем foreigner key создаются relations. Referential integrity constraint – ограничение на значения foreigner key при котором каждое значение foreigner key соответствует primary key. Целостность ссылочных данных — функция в реляционных БД — не позволяющая удалять информацию, пока в БД есть данные, ссылающиеся на неё. Например, из таблицы поставщиков нельзя убрать вендора, если на него есть ссылка из действующего заказа. В общем случае — это состояние БД, когда все её таблицы не противоречат друг другу.
Entity-Relationship model (E-R) – моделирование БД. Где entity – тот предмет, который описывается, attributes – его свойства, identifiers – индивидуальные атрибут(ы) каждого entity, relationships – отношения между entities. E-R модель вводит понятие cardinality – мощность множества, которое бывает двух типов:
- maximum cardinality – максимальное количество entity instances (экземпляров сущности), которые могут участвовать в relationship instance (отношении инстанции).
- 1:1 отношение – отношение между одним экземпляром сущности одного типа и одним экземпляром сущности другого типа.
- 1:N отношение – отношение между одной сущностью (родителем) и множественными сущностями (детьми).
- N:M отношение – отношение между множествами сущностей.
- minimum cardinality – минимальное количество экземпляров сущности, которые должны участвовать в экземпляре отношения.
- optional – количество обязательных сущностей в отношении равно 0.
- mandatory – количество обязательных сущностей в отношении равно 1.
Соответственно минимальная мощность отношения может быть: M-M, O-M, M-O, O-O.
Сущности бывают двух типов:
- strong entity – сильная сущность, может существовать сама по себе.
- weak entity – слабая сущность, зависит от существования другой сущности.
При преобразовании из E-R модели в database design происходит следующее:
- сущности становятся таблицами
- атрибуты сущности становятся столбцами таблицы
- идентификатор становится первичным ключом