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