Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otchet_Petrov_KO[1].doc
Скачиваний:
4
Добавлен:
22.09.2019
Размер:
363.01 Кб
Скачать

2. Реализация серверной части. Язык запросов sql.

2.1.Создание таблиц.

Создадим таблицу «Преподаватели»( KO_Prepodavateli):

Create table KO_Prepodavateli

(Tab_№ Number(9) constraint PK_Tab_№ Primary key,

FIO1 Varchar2(50) constraint nn_FIO1 NOT NULL,

Cafedra Varchar2(30) constraint nn_cafedra NOT NULL,

Fakultet Varchar2(30) constraint nn_fakultet NOT NULL,

Doljnost Varchar2(30) constraint nn_doljnost NOT NULL,

Staj Number(2) check (staj>0),

Uchenaya_Step Varchar2(30),

Adres Varchar2(50) constraint nn_Adres NOT NULL,

Telefon Number(30) check (telefon>0),

Cod_goroda number(10) constraint FK_cod_goroda references KO_Gorod(cod_goroda));

Create table KO_Prepodavateli – данный запрос создает таблицу «Преподаватели». Далее в скобках указывается, из каких полей будет состоять данная таблица и какой тип данных каждого из полей:

Поле Tab_№ является первичным ключом и имеет тип Number(9), т.е. число состоящее из 9 цифр.

Поле FIO1 имеет тип Varchar2(50), т.е. строка длиной 50 символов. Это поле не может быть пустым, т.к. у преподавателя обязательно должно быть ФИО.

Поле Cafedra имеет тип Varchar2(30), т.е. строка длиной 30 символов. Это поле не может быть пустым, т.к. преподаватель должен быть закреплен за какой-либо кафедрой в зависимости от своей специальности.

Поле Fakultet имеет тип Varchar2(30), т.е. строка длиной 30 символов. Это поле не может быть пустым, т.к. преподаватель должен быть закреплен за каким-либо факультетом, отведенным ему для обучения.

Поле Doljnost имеет тип Varchar2(30), т.е. строка длиной 30 символов. Это поле не может быть пустым, т.к. преподаватель взят на работу и это уже означает, что у него должна быть должность. Без должности работать невозможно.

Поле Staj имеет тип Number(2), т.е. строка состоящая из 2 цифр. Это поле не может быть отрицательным, т.к. стаж меньше нуля не бывает.

Поле Uchenaya_Step имеет тип Varchar2(30), т.е. строка длиной 30 символов.

Поле Adres имеет тип Varchar2(50), т.е. строка длиной 50 символов. Это поле не может быть пустым, т.к. у преподавателя в паспорте обязательно должно быть прописано место проживания.

Поле Telefon имеет тип Number(30), т.е. строка состоящая из 30 символов. Это поле не может быть отрицательным, т.к. телефон меньше нуля не может быть.

Поле Cod_goroda имеет тип number(10), т.е. строка состоящая из 10 цифр. Это оле не может быть пустым. Является внешним ключом, т.е. ссылка на соответствующее поле таблицы «Город».

Некоторые поля требуют установления ограничений целостности с помощью ключевого слова CONSTRAINT:

PRIMARY KEY – первичный ключ;

CHECK (<ЛВ>) – ограничение поля, где ЛВ – логическое выражение, определяющее это ограничение;

REFERENCES <ИТ> (<ПК>) – внешний ключ для связи с таблицей <ИТ> по ключу <ПК>;

FOREIGN KEY – внешний ключ, т.е. ссылка на соответствующее поле другой таблицы.

Если таких полей несколько, то они перечисляются в скобках через запятую после ключевого слова CONSTRAINT и указанного ограничения целостности. Данная операция проводится после перечисления полей.

Так как создание таблиц остальных таблиц существенно не отличается от создания таблицы «Преподаватели», то приводить подробное описание запросов для следующих таблиц не обязательно.

Создадим таблицу «Город»(KO_Gorod):

Сreate table KO_Gorod

(Cod_goroda number(10) constraint PK_cod_goroda Primary key,

Gorod Varchar2(20) constraint nn_Gorod not null);

Создадим таблицу «Курсы»(KO_curs):

Create table KO_curs

(№_predmet Number(9) constraint PR_№_predmet primary key,

Predmet varchar2(50) constraint nn_Predmet NOT NULL,

№_group number(9) constraint FK_№_group references KO_group(№_group),

lektions number(2) check (lektions>0),

practics number(2) check (practics>0),

laboratorian number(2) check (laboratorian>0),

Semestr number(2) constraint nn_Semestr NOT NULL check(semestr>0 and semestr<15),

tab_№ number(9) constraint FK_tab_№ references KO_Prepodavateli(Tab_№),

№_kontrol number(9) constraint FK_№_kontrol references KO_Form_Kontrol(№_kontrol));

Создадим таблицу «Группы»( KO_group):

Create table KO_group

(№_group number(9) constraint PK_№_group primary key,

group_g varchar2(9) constraint nn_group_g NOT NULL,

specialnost varchar2(50) constraint nn_specialnost NOT NULL,

fakultet1 Varchar2(30) constraint nn_fakultet1 NOT NULL);

Создадим таблицу «Форма контроля»( KO_Form_kontrol):

Create table KO_Form_kontrol

(№_kontrol number(9) constraint PK_№_kontrol primary key,

kontrol varchar2(30) constraint nn_kontrol not null);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]