Основы проектирования реляционных баз данных
Элементы | Определение | ||
---|---|---|---|
1 | Работы | A | - это материалы или информация, которые производятся работой. |
2 | Стрелки | B | обозначают поименованные процессы, функции или задачи, которые происходят в течение определенного времени и имеют распознаваемые результаты. |
3 | Вход | C | - это правила, стратегии, процедуры или стандарты, которыми руководствуется работа. |
4 | Управление | D | - это материалы или информация, которые используются или преобразуются работой для получения результата (выхода). |
5 | Выход | E | описывают взаимодействие работ между собой и с внешними миром |
6 | Механизм | F | - это специальная стрелка, указывающая на другую модель работы. |
7 | Вызов | G | - это ресурсы, которые выполняют работу (персонал, станки, устройства). |
Ограничение | Описание | ||
---|---|---|---|
1 | CHECK | А | Гарантирует, что колонка всегда содержит значение и оно уникально в таблице |
2 | DEFAULT | Б | Помещает значение по умолчанию в колонку. Гарантирует, что колонка всегда имеет значение |
3 | FOREING KEY | В | Гарантирует, что значение существует как значение в колонке первичного ключа другой таблицы. Обеспечивает процедуры удаления дочерних строк при удалении связанных с ней родительских. |
4 | NOT NULL | Г | Гарантирует, что значение будет уникальным в таблице |
5 | PRIMARY KEY | Д | Гарантирует, что значения находятся в границах специфицированного интервала, задаваемого предикатом |
6 | UNIQUE | Е | Гарантирует, что колонка всегда содержит значение |
Действия | |
---|---|
1. | Определить функциональные зависимости в отношении |
2. | Назначить первичные ключи связывающих отношений, исходя из уникального идентификатора связи и процедуры миграции ключей при нормализации |
3. | Получить список атрибутов сущности |
4. | Определить класс принадлежности сущности к связи |
5. | Для полученных отношений назначить первичные ключи |
6. | Определить степень связи сущностей |
7. | Выполнить нормализацию сущности (преобразовать сущность в отношение |
8. | Нормализовать отношение (разрешить связи) |
9. | Определить возможные ключи отношения, в частности, рассмотрев уникальный идентификатор сущности |
10. | Получить список детерминантов |
CREATE CLUSTER cust_c (cust_id varchar(8))INDEX;CREATE INDEX cust_c_id ON CLUSTER cust_c;CREATE TABLE cust (cust_id varchar2(8) NOT NULL REFERENCES customers,ent# number NOT NULL,date_ent date NOT NULL,comment varchar2(60) NOT NULL,…PRIMARY KEY(cust_id, ent#)) CLUSTER cust_c (cust_id);
Созданная таблица кластеризована по колонке cust_id, и все специальные записи о клиента в колонке comment будут расположены в одной странице физической базы данных, либо в смежных страницах. Их можно выбрать за одну операцию поиска по индексу:
SELECT date_ent, comment FROM cust_c WHERE cust_id=:cur_cust;
Комментарий. Ограничение первичного ключа в операторе CREATE сделано, чтобы избежать создания второго индекса.
Является ли такое решение преимуществом с точки зрения утверждения: "Очень немного строк о клиентах имеют специальные записи о клиенте".
CREATE CLUSTER cust_c (cust_id varchar(8))INDEX;CREATE INDEX cust_c_id ON CLUSTER cust_c;CREATE TABLE cust (cust_id varchar2(8) NOT NULL REFERENCES customers,ent# number NOT NULL,date_ent date NOT NULL,comment varchar2(60) NOT NULL,…PRIMARY KEY(cust_id, ent#)) CLUSTER cust_c (cust_id);
Созданная таблица кластеризована по колонке cust_id, и все специальные записи о клиента в колонке comment будут расположены в одной странице физической базы данных, либо в смежных страницах. Их можно выбрать за одну операцию поиска по индексу:
SELECT date_ent, comment FROM cust_c WHERE cust_id=:cur_cust;
Комментарий. Ограничение первичного ключа в операторе CREATE сделано, чтобы избежать создания второго индекса.
Является ли такое решение преимуществом с точки зрения утверждения: "Строки, имеющие специальные записи о клиенте, имеют более одной записи о клиенте".
Нормальная форма | Определение | ||
---|---|---|---|
1 | Первая нормальная форма (1НФ) | A | отношение должно удовлетворять зависимости по соединению относительно своих проекций. |
2 | Вторая нормальная форма (2НФ) | B | все неключевые атрибуты отношения функционально полно зависят от составного ключа отношения; отношение не должно содержать частичных ФЗ. |
3 | Третья нормальная форма (3НФ) | C | неключевые атрибуты отношения не зависят от ключей; отношение допускает наличия только таких нетривиальных ФЗ, в которых ключ определяет один или более других атрибутов: , где включает некоторый ключ. |
4 | Нормальная форма Бойса-Кодда (НФБК) | D | все неключевые атрибуты отношения зависят только от первичного ключа; отношение не должно содержать транзитивных ФЗ неключевых атрибутов от ключа |
5 | Четвертая нормальная форма (4НФ) | E | отношение не должно содержать независимых многозначных ФЗ. |
6 | Пятая нормальная форма (5НФ) | F | все атрибуты отношения являются простыми, т.е. не имеют компонентов. |