Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт по БД.doc
Скачиваний:
7
Добавлен:
16.08.2019
Размер:
282.62 Кб
Скачать

2. Реализация серверной части.

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

Запросы SQL для создания таблиц выглядят следующим образом:

CREATE TABLE AngPROGRAMMA

(nazvanie VARCHAR2(20) CONSTRAINT pkluch_nazvanie PRIMARY KEY,

firma VARCHAR2(20) CONSTRAINT fkluch_firma REFERENCES AngPROIZVODITEL(firma),

tip VARCHAR2(20),

podderjka VARCHAR2(20))

CREATE TABLE AngPROGRAMMA - данный запрос создаёт таблицу ПРОГРАММА.

Далее в скобках указывается, из каких полей будет состоять данная таблица и какой тип данных каждого из полей:

поле nazvanie является первичным ключом и имеет тип VARCHAR2(20), т.е. строка длиною 20 символов;

поле firma является вторичным ключом, т.е. ссылка на соответствующее поле таблицы 2, и имеет тип данных VARCHAR2(20), т.е. строка длиною 20 символов;

поле tip имеет тип VARCHAR2(20), т.е. строка длиною 20 символов;

поле podderjka имеет тип данных VARCHAR2(20), т.е. строка длиною 20 символов.

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

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

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

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

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

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

Остальные таблицы создаются аналогично:

CREATE TABLE AngPROIZVODITEL

(firma VARCHAR2(20) CONSTRAINT pkluch_firma PRIMARY KEY,

strana VARCHAR2(20),

svyaz NUMBER)

CREATE TABLE AngVERSIYA

(nazvanie VARCHAR2(20) CONSTRAINT fkluch_nazvanie REFERENCES AngPROGRAMMA(nazvanie),

versiya NUMBER,

naznachenie VARCHAR2(20),

dataV NUMBER,

stoimost NUMBER(5) CONSTRAINT ch_stoimost CHECK (stoimost>0),

CONSTRAINT pkluch_AnzVERSIYA PRIMARY KEY (nazvanie,versiya))

CREATE TABLE AngTEXNXARAKT

(nazvanie VARCHAR2(20),

versiya NUMBER,

tipSistTreb VARCHAR2(20),

znachenieSistTreb NUMBER,

yazik VARCHAR2(20),

CONSTRAINT pkluch_AngTEXNXARAKT PRIMARY KEY (nazvanie,versiya,tipSistTreb),

CONSTRAINT fkluch_nazvanie_versiya FOREIGN KEY(nazvanie,versiya)

REFERENCES AngVERSIYA(nazvanie,versiya))

В ответ на данные запросы мы получим ответ сервера в виде фразы:

TABLE CREATED – таблица создана.

Запросы SQL для удаления таблиц выглядят следующим образом:

DROP TABLE AngTEXNXARAKT.

Для изменения данных в полях используется команда ALTER TABLE c добавлением фразы MODIFY, она изменяет следующие значения столбца: тип данных, размер, умалчиваемое значение, ограничение столбца NOT NULL. Во фразе MODIFY достаточно специфицировать имя столбца и модифицируемую часть определения.

Например:

Изменить стоимость программ с пятизначного числа на четырехзначное.

ALTER TABLE AngVERSIYA

MODIFY (stoimost NUMBER(4))

Для добавления нового столбца в таблицу используется команда ALTER TABLE c добавлением фразы ADD.

Например:

Добавить ограничение стоимости программ не равной нулю.

ALTER TABLE AngVERSIYA

ADD (CONSTRAINT nn_Stoimost NOT NULL Stoimost)

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