Главная Обратная связь

Дисциплины:






Требования к значениям столбцов



Примеры фрагментов ограничений:

CREATE TABLE PERSON _PARAMS (

ID_INTEGER NOT NULL PRIMARY KEY,

HEIGHT INTEGER NOT NULL,

WIEGHT INTEGER NOT NULL CHECK (HEIGHT > WIEGHT)

);

---------------------------------------------------------------------------------

CREATE TABLE RASHOD (

CONSTRAINT PO_DATE_RASH

CHECK (EXISTS (SELECT TOVAR FROM PRIHOD

WHERE PROHOD.TOVAR=RASHOD.TOVAR))

);

 

Столбец должен содержать сочетание символов USD

… CHECK (STOLBEZ CONTAINING “USD”)

Столбец должен начинаться с сочетания символов USD

… CHECK (STOLBEZ STARTING WITH “USD”)

Изменение объявлений таблицы

Оператор ALTER TABLE позволяет:

Добавить определение нового столбца

ALTER TABLE <имя таблицы> ADD <определение столбца>;

Удалить столбец из таблицы

ALTER TABLE <имя таблицы> DROP <имя столбца1> [,<имя столбца2>…

Удалить атрибуты целостности таблицы или отдельного столбца

ALTER TABLE <имя таблицы> DROP <имя ограничения целостности>

Добавить новые ограничения целостности

ALTER TABLE <имя таблицы> ADD [CONSTRAINT <имя ограничения>] <определение целостности>;

 

Удаление таблицы

Удаление таблицы целиком:

DROP TABLE <имя таблицы>

 

Работа с индексами

Логическое разделение на ключи индексы:

Логический уровень

· Первичный ключ выполняет функцию однозначной идентификации записи в таблицы. Первичный и внешний ключи строятся для обеспечения ссылочной целостности реляцинно-связанных таблиц.

· Индексы служат для сортировок и оптимизации доступа к данным

Физический уровень

· Все ключи и индексы преобразуются в физические индексы - специальный механизм, обеспечивающий быстрый доступ к данным.

 

Необходимость создания индексов:

Индексы необходимо создавать в случае, когда по столбцу или группе столбцов:

· Часто производится поиск в БД;

· Часто строятся объединения таблиц;

· Часто производится сортировка;

· Часто производится сортировка;

Не рекомендуется строить индексы по столбцам или группам столбцов, которые:

· Редко используются для поиска, объединения , сортировки результатов запроса

· Часто меняют значение, что приводит к необходимости часто обновлять индекс и способно существенно замедлить скорость работы с БД;

· Содержит небольшое число вариантов значения

 

Пример:

CREATE TABLE SOTR (

ID_SOTR INTEGER NOT NULL,

OTDEL VARCHAR (10),

DOLGNOST CHAR (10),

FIO VARCHAR(25),

PRIMARY KEY (ID_SOTR));

CREATE INDEX DLJ ON SOTR (DOLGNOST);



 

Именоваться индексы будут так :

DLJ INDEX ON SOTR (DOLGNOST)

RDB$PRIMARY18 UNIQUE INDEX ON SOTR (ID_SOTR)

После многократного внесения изменений в таблицу БД индексы этой таблицы могут быть разбалансированы. Разбалансировка приводит к тому, что глубина индекса возрастает сверх критического значения.

Для улучшения показателя индекса необходимо выполнить его перестроение:

ALTER INDEX <имя индекса> DEACTIVATE;

ALTER INDEX <имя индекса> ACTIVATE;

Замечания:

· Нельзя перестроить индекс, если он используется в данный момент в запросах

· Нельзя перестроить индекс, созданный в результате создания первичного ключа, внешнего и уникального ключей.





sdamzavas.net - 2019 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...