Сущность – совокупность всех однотипных объектов предметной области, обладающих одинаковым составом атрибутов. При этом каждый объект, входящий в сущность, называется элементом (экземпляром) сущности. | ||
Поясним смысл словосочетания «однотипные объекты». Так, каждая сущность должна иметь имя – существительное во множественном числе – достаточно широкое понятие, чтобы охарактеризовать все входящие в неё объекты, но достаточно узкое, чтобы исключить вхождение в эту сущность посторонних объектов. При этом каждый элемент, входящий в сущность, называется тем же существительным, но в единственном числе.
Например, для сайта-визитки достаточно одной сущности Новости, в состав которой входят новости организации (каждый элемент сущности Новости будет называться Новость). Для корпоративного сайта организации, активно работающей с партнёрами, может оказаться необходимым введение двух сущностей: НовостиКомпании и НовостиПартнёров. Несмотря на внешнее сходство, эти новости будут совершенно по-разному использоваться посетителями – и, скорее всего, будут выводиться в разных разделах сайта.
В IDEF1x сущность обозначается прямоугольником, сверху которого подписано имя сущности – существительное во множественном числе.
Картинка ???Внимание! Просим не путать сущности с таблицами и инфоблоками, поскольку сущность – это часть инфологической модели, тогда как таблицы и ифноблоки – принадлежность даталогической модели. Это не одно и то же! | ||
Действительно, при переходе от инфологической модели к даталогической сущность обычно превращается в таблицу (в случае использования традиционной СУБД) либо – в случае Битрикса – в инфоблок. Однако позднее мы рассмотрим случаи, когда преобразования намного более сложные.
Битрикс, являясь высокоуровневой средой, абстрагирует нас от таблиц, заставляя мыслить в терминах инфоблоков. Так, для сохранения элемента данных в одном инфоблоке реально могут затрагиваться несколько таблиц. Об этом – в соответствующей главе. | ||
С процессом преобразования инфологической модели в даталогическую тесно связан процесс нормализации.
Нормализация предполагает последовательное приведение структуры данных к нормальным формам (NF). Их мы рассмотрим далее.
Внимание! Нормальные формы относятся к даталогической модели. То есть нельзя сказать, например, что «сущность находится в 1NF». Зато можно сказать «инфоблок находится в 1NF» или «таблица находится в 1NF». | ||
Цель нормализации – создание структуры данных, при которой:
На практике нередко отступают от требований нормализации, поскольку полное их соблюдение может в некоторых случаях приводить к деградации производительности базы данных и усложнению ввода и отображения данных.
Нормализация – это некий идеал, к которому следует стремиться, но которого не всегда стоит достигать.