Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Задание. Создайте следующие таблицы с указанными ограничениями целостности: Имя таблицы Имя столбца Тип данных столбца Длина (точность)




Создайте следующие таблицы с указанными ограничениями целостности:

Имя таблицы Имя столбца Тип данных столбца Длина (точность) Масш­таб Ограничение целостности
FACULTY FacNo integer     PRIMARY KEY
Name varchar2   UNIQUE, не может быть NULL
Dean varchar2   UNIQUE
Building char    
Fund number не может быть отрицательным
table constraint  
DEPARTMENT DepNo integer     PRIMARY KEY
FacNo integer     FOREIGN KEY, ссылающийся на FacNo в FACULTY. Если факультет, на который делается ссылка, удаляется, то кафедра тоже удаляется.
Name varchar2   Не может быть NULL
Head varchar2    
Building char    
Fund number не может быть отрицательным
table constraints пара столбцов (name, head) уникальна - UNIQUE
TEACHER TchNo integer     PRIMARY KEY
DepNo integer     FOREIGN KEY, ссылающийся на DepNo в DEPARTMENT. Если удаляется кафедра, то все ссылки не нее становятся NULL.
Name varchar2   Не может быть NULL
Post varchar2   Принимает значения из списка: assistant, counselor, assistant professor, professor
Tel char    
Hiredate date     Должен быть более 01.01.1950; не может быть NULL
Salary number Не может быть отрицательным, не может быть NULL
Commission number Не может быть отрицательным. DEFAULT значение равно 0
table constraint a) Commission должно быть по крайне мере в два раза меньше, чем Salary b) Salary + Commission не может превышать 2000
SGROUP GrpNo integer     PRIMARY KEY
DepNo integer     FOREIGN KEY , ссылающийся на DepNo в DEPARTMENT. При удалении кафедры все ссылки не нее становятся NULL.
Course number   Принимает значения из списка: 1, 2, 3, 4, 5
Num number    
Quantity number   Принимает значения в интервале 1 - 50
Curator integer     FOREIGN KEY, ссылающийся на TchNo в TEACHER. При удалении преподавателя все ссылки на него как на куратора становятся NULL.
Rating number   Принимает значения в диапазоне 0–100. DEFAULT значение равно 0.
table constraints Пара значений (DepNo, Num) является UNIQUE
SUBJECT SbjNo integer     PRIMARY KEY
Name varchar2   Не может быть NULL
table constraint  
ROOM RomNo integer     PRIMARY KEY
Num number   Не может быть NULL
Seats number   Принимает значения в интервале 1 - 300
Floor number   Принимает значения в интервале 1 - 16
Building char   Не может быть NULL
table constraint Пара значений (Num, Building) является UNIQUE
LECTURE TchNo integer     FOREIGN KEY, ссылающийся на TchNo в TEACHER. При удалении учителя все ссылки на него становятся NULL.
GrpNo integer     FOREIGN KEY, ссылающийся на GrpNo в SGROUP. При удалении группы удаляются все лекции, читаемые этой группе.
SbjNo integer     FOREIGN KEY, ссылающийся на SbjNo в SUBJECT. Предмет не может быть удален до тех пор, пока не удалены все лекции, читаемые по этому предмету.
RomNo integer     FOREIGN KEY, ссылающийся на RomNo в ROOM. При удалении помещения ссылка на него становится NULL.
Type varchar2   Принимает значения из списка: lecture, lab, seminar, practice. Не может быть NULL
Day char   Принимает значения из списка: sun, mon, tue, wed, thu, fri, sat. Не может быть NULL
Week number   Принимает значения 1 или 2. Не может быть NULL
Lesson number   Принимает значения в интервале 1 – 8. Не может быть NULL
table constraint Столбцы (GrpNo, Day, Week, Lesson) в совокупности являются UNIQUE

Контрольные вопросы

Дайте ответы на следующие вопросы:

1) Какова цель ограничений целостности?

2) Какие типы ограничений целостности вы знаете?

3) Какие синтаксические формы ограничений целостности вы знаете? В чем различие между ними?

4) Что означает ограничение UNIQUE? Что такое составной уникальный ключ? Какой синтаксис может использоваться для описания составного уникального ключа (синтаксис ограничения столбца или синтаксис ограничения таблицы)? Может ли столбец с ограничением UNIQUE принимать значения NULL? Можно ли одновременно устанавливать ограничения UNIQUE и PRIMARY KEY для одного и того же столбца (совокупности столбцов)?

5) Что означает ограничение PRIMARY KEY? Что такое составной первичный ключ? Какой синтаксис может использоваться для описания составного первичного ключа (синтаксис ограничения столбца или синтаксис ограничения таблицы)? Сколько первичных ключей может содержать таблица? Может ли столбец с ограничением PRIMARY KEY принимать значения NULL?

6) Что означает ограничение NULL (NOT NULL)? Какое значение по умолчанию принимается, если это ограничение не указывается явно? Можно ли задавать это ограничение в синтаксисе ограничения таблицы?

7) Что означает ограничение целостности FOREIGN KEY (референциальное ограничение целостности)? Определите следующие понятия: референциальный ключ, внешний ключ, родительская таблица, дочерняя таблица. Какие ограничением целостности должна обладать тот столбец (совокупность столбцов), на который делается ссылка из внешнего ключа? Можно ли определить референциальный ключ и внешний ключ в одной и той же таблице? Что означает составной внешний ключ? Какой синтаксис может использоваться для описания составного внешнего ключа (синтаксис ограничения столбца или синтаксис ограничения таблицы)? Можно ли определить внешний ключ в одним столбцом в синтаксисе ограничения таблицы? Можно ли использовать один и тот же столбец (совокупность столбцов) в качестве первичного ключа и внешнего ключа? Можно ли использовать один и тот же столбец (совокупность столбцов) в качестве внешнего ключа и уникального ключа? Можно ли несколько внешних ключей в одной таблице? Можно ли устанавливать значение NULL для вненего ключа (составного внешнего ключа)? Можно ли определить референциальное ограничение целостности в предложении CREATE TABLE, которое содержит фразу AS subquery? Можно ли при определении внешнего ключа опускать имена столбцов родительской таблицы? Что означает фраза ON DELETE в определении внешнего ключа? Что означает отсутствие фразы ON DELETE в определении внешнего ключа?

8) Что означает ограничение целостности CHECK? Когда условие ограничения CHECK считается выполненным (удовлетворяется)? Можно ли определить ограничение CHECK над несколькими столбцами в синтаксисе ограничения столбца? Можно ли задать несколько ограничений CHECK для одного столбца? Проверяет ли Oracle тот факт, что множество ограничений CHECK, сформулированных для одного столбца, являются взаимно исключающими? Можно ли определить ограничение CHECK над столбцами различных таблиц?


Поделиться:

Дата добавления: 2015-09-13; просмотров: 73; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты