Основы проектирования реляционных баз данных
Термин | Определение | ||
---|---|---|---|
1. | Локально секционированный индекс | A | имеет такой же ключ секционирования, количество табличных пространств и правила секционирования, что и отвечающая ему базовая таблица |
2. | Глобально секционированный индекс | Б | Ключ секционирования; секционирование выполняется по значениям, отличным от значений колонки индексирования |
3. | Префиксный секционированный индекс | В | означает, что индекс имеет то же число секций и те же правила секционирования, что и его базовая таблица |
4. | Непрефиксный секционированный индекс | Г | содержит предложение PARTITION BY RANGE, в котором задаются параметры секционирования, отличные от параметров секционирования соответствующей базовой таблицы |
5. | Локально равносекционированный секционированный индекс | Д | секционирование производится по ключу секционирования, который содержит основную часть индексного ключа |
Термин | Определение | ||
---|---|---|---|
1. | Ключ секционирования | A | колонка таблицы, относительно значений которых СУБД будет делать физическое разнесение таблицы по различным табличным пространствам на жестких дисках |
2. | Секционирование по диапазону | Б | означает распределение строк таблицы на различные предопределенные табличные пространства в зависимости от значения ключа секционирования |
3. | Хеш-секционирование | В | означает, что таблица сначала распределяется среди табличных пространств на основе диапазона значений ключа секционирования, далее каждая из полученных секций диапазонов делится на подчиненные секции или подсекции, и затем строки равномерно распределяются среди подчиненных секций по значению хеш-ключа |
4. | Составное секционирование | Г | означает равномерное распределение строк таблицы по назначенным табличным пространствам в зависимости от значения ключа секционирования, который в данном случае хешируется |
SELECT * FROM east_sales@icp.ac.ru WHERE LOC = 'EAST'UNION ALLSELECT * FROM west_sales@ioc.ac.ru WHERE LOC = 'WEST';Если заменить предложение WHERE на ограничение CHECK, то в таком случае …
CREATE TABLE PROJECT (PROJNO char(8) NOT NULL,PNAME char(25),BUDGET dec(9,2),PRIMARY KEY (PROJNO));
Ниже приведено изменение в определении таблицы для того, чтобы иметь возможность различать законченные проекты и переносить их в таблицу PROJECT_OLD. Упрощает ли данное изменение сопровождение таблицы?
CREATE TABLE PROJECT (PROJNO char(8) NOT NULL,FINISH char(1)PNAME char(25),BUDGET dec(9,2),PRIMARY KEY (PROJNO));
Комментарий к Задаче 6. Добавление дополнительных колонок в первичный ключ приведет к дополнительным накладным расходам. Отбор записей для перенесения и последующего удаления с помощью переменной типа дата менее выгоден, чем использование односимвольной переменной. Спорным остается вопрос наложения на переменную FINISH ограничения NOT NULL. Это целесообразно сделать, но это приводит к лишней операции при вводе проекта - явного указания, что он не завершен.
CREATE TABLE PROJECT (PROJNO char(8) NOT NULL,PNAME char(25),BUDGET dec(9,2),PRIMARY KEY (PROJNO));
Ниже приведено изменение в определении таблицы для того, чтобы иметь возможность различать законченные проекты и переносить их в таблицу PROJECT_OLD. Упрощает ли данное изменение сопровождение таблицы?
CREATE TABLE PROJECT (PROJNO char(8) NOT NULL,FINISH char(1) NOT NULL,PNAME char(25),BUDGET dec(9,2),PRIMARY KEY (PROJNO, FINISH));
Комментарий к Задаче 6. Добавление дополнительных колонок в первичный ключ приведет к дополнительным накладным расходам. Отбор записей для перенесения и последующего удаления с помощью переменной типа дата менее выгоден, чем использование односимвольной переменной. Спорным остается вопрос наложения на переменную FINISH ограничения NOT NULL. Это целесообразно сделать, но это приводит к лишней операции при вводе проекта - явного указания, что он не завершен.
Действия | |
---|---|
1. | Создание таблиц |
2. | Определение типов данных колонок |
3. | Определение первичного ключа |
4. | Задание ограничений на значения колонок |
5. | Создание таблиц для взаимосвязи многие-ко-многим |
6. | Создание индексов |
7. | Создание представлений |
8. | Проверка корректности созданной физической модели |
9. | Создание других объектов базы данных |
CREATE TABLE PROJECT (PROJNO char(8) NOT NULL,PNAME char(25),BUDGET dec(9,2),PRIMARY KEY (PROJNO));
Ниже приведено изменение в определении таблицы для того, чтобы иметь возможность различать законченные проекты и переносить их в таблицу PROJECT_OLD. Упрощает ли данное изменение сопровождение таблицы?
CREATE TABLE PROJECT (PROJNO char(8) NOT NULL,S_DATE date NOT NULL,F_DATE date,PNAME char(25),BUDGET dec(9,2),PRIMARY KEY (PROJNO));
Комментарий к Задаче 6. Добавление дополнительных колонок в первичный ключ приведет к дополнительным накладным расходам. Отбор записей для перенесения и последующего удаления с помощью переменной типа дата менее выгоден, чем использование односимвольной переменной. Спорным остается вопрос наложения на переменную FINISH ограничения NOT NULL. Это целесообразно сделать, но это приводит к лишней операции при вводе проекта - явного указания, что он не завершен.
CREATE TABLE PROJECT (PROJNO char(8) NOT NULL,PNAME char(25),BUDGET dec(9,2),PRIMARY KEY (PROJNO));
Ниже приведено изменение в определении таблицы для того, чтобы иметь возможность различать законченные проекты и переносить их в таблицу PROJECT_OLD. Упрощает ли данное изменение сопровождение таблицы?
CREATE TABLE PROJECT (PROJNO char(8) NOT NULL,S_DATE date NOT NULL,F_DATE date,PNAME char(25),BUDGET dec(9,2),PRIMARY KEY (PROJNO, S_DATE));
Комментарий к Задаче 6. Добавление дополнительных колонок в первичный ключ приведет к дополнительным накладным расходам. Отбор записей для перенесения и последующего удаления с помощью переменной типа дата менее выгоден, чем использование односимвольной переменной. Спорным остается вопрос наложения на переменную FINISH ограничения NOT NULL. Это целесообразно сделать, но это приводит к лишней операции при вводе проекта - явного указания, что он не завершен.