Реляционные базы данных. Основы
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
– индивидуальные атрибут(ы) каждого entityrelationships
– отношения между 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 происходит следующее:
- сущности становятся таблицами
- атрибуты сущности становятся столбцами таблицы
- идентификатор становится первичным ключом