Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив3 / kurs (2) / kurs / Курсовая_БД.docx
Скачиваний:
11
Добавлен:
07.08.2013
Размер:
85.46 Кб
Скачать
  1. Структура данных

Таблица 1. flights(Рейсы)

Имя

Тип

NOT NULL

Описание

Fid

NUMBER(2)

Id рейса, первичный ключ

Fnum

NUMBER(4)

Номер рейса

Fname

VARCHAR(50)

Название рейса

Fdata

DATE

Дата отправления рейса

Таблица 2. airplanes(Самолёты)

Имя

Тип

NOT NULL

Описание

Aid

NUMBER(3)

Idсамолёта, первичный ключ

F_id

NUMBER(3)

Id рейса

Acapacity

NUMBER(4)

Вместимость самолёта

avialines

VARCHAR(50)

Название авиалинии

3. Скрипт создания таблиц (create_tables.Sql)

Назначение: создание таблиц в БД требуемой структуры (см. Таблица 1 и Таблица 2) ,а также последовательности seq , необходимых для генерации значений первичных ключей.

Результат:

Рис 1. Таблица flights

Рис 2. Таблица airplanes

3.1 Скрипт create_table.Sql

DROP TABLE for_trigger;

DROP TABLE airplanes;

DROP TABLE flights;

DROP SEQUENCE seq;

CREATE TABLE airplanes(

aid NUMBER(3) NOT NULL PRIMARY KEY,

f_id NUMBER(3) NOT NULL, -- flights id

acapacity NUMBER(4) NOT NULL,

avialines VARCHAR(30)

);

CREATE TABLE flights(

fid NUMBER(2) NOT NULL PRIMARY KEY,

fnum NUMBER(4) NOT NULL,

fname VARCHAR(50) NOT NULL,

fdata DATE NOT NULL

);

ALTER TABLE airplanes ADD CONSTRAINT out_key

FOREIGN KEY (f_id) REFERENCES flights(fid);

CREATE TABLE for_trigger(

ID NUMBER(3) not null primary key,

tuser VARCHAR2(50),

tdata DATE

);

CREATE SEQUENCE seq;

4. Скрипт pack1

CREATE OR REPLACE PACKAGE pack1 IS

PROCEDURE fill_tables;

PROCEDURE clear_tables;

END pack1;

/

CREATE OR REPLACE PACKAGE BODY pack1 IS

PROCEDURE fill_tables IS

BEGIN

INSERT INTO flights VALUES(1, 303, 'London-Paris', TO_DATE('12.01.2013','DD.MM.YYYY'));

INSERT INTO flights VALUES(2, 201, 'Paris-London', TO_DATE('13.01.2013','DD.MM.YYYY'));

INSERT INTO flights VALUES(3, 202, 'Berlin-London', TO_DATE('14.01.2013','DD.MM.YYYY'));

INSERT INTO flights VALUES(4, 301, 'London-Berlin', TO_DATE('12.01.2013','DD.MM.YYYY'));

INSERT INTO flights VALUES(5, 302, 'Berlin-Rome', TO_DATE('11.01.2013','DD.MM.YYYY'));

INSERT INTO flights VALUES(6, 203, 'Rome-London', TO_DATE('27.12.2012','DD.MM.YYYY'));

INSERT INTO flights VALUES(7, 304, 'Rome-Berlin', TO_DATE('28.12.2012','DD.MM.YYYY'));

INSERT INTO airplanes VALUES(1, 1, 600, 'EuropeAL');

INSERT INTO airplanes VALUES(2, 7, 500, 'FranceAL');

INSERT INTO airplanes VALUES(3, 4, 600, 'GermanAL');

INSERT INTO airplanes VALUES(4, 3, 400, 'EuropeAL');

INSERT INTO airplanes VALUES(5, 4, 500, 'GermanAL');

INSERT INTO airplanes VALUES(6, 1, 700, 'EuropeAL');

INSERT INTO airplanes VALUES(7, 5, 500, 'GermanAL');

COMMIT;

END;

PROCEDURE clear_tables IS

BEGIN

DELETE FROM airplanes;

DELETE FROM flights;

END;

END pack1;

/

BEGIN

pack1.clear_tables;

pack1.fill_tables;

END;

Соседние файлы в папке kurs