Skip to content

Реляционные базы данных. Основы

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 происходит следующее:

  1. сущности становятся таблицами
  2. атрибуты сущности становятся столбцами таблицы
  3. идентификатор становится первичным ключом