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

Генерирование SQL-сценария создания БД

Читайте также:
  1. Бригады специализированной медицинской помощи (БСМП). Предназначение, база создания.
  2. Генерирование альтернатив
  3. Генерирование, преобразование и сохранение энергии
  4. Глава 3. ВРЕМЯ СОЗДАНИЯ ПРОИЗВЕДЕНИЯ
  5. ГЛАВА 8. КРАТКАЯ ИСТОРИЯ СОЗДАНИЯ ВИРТУАЛЬНОГО ГОРОСКОПА
  6. Дайте характеристику брокерской и дилерской деятельности. Каков порядок создания и регистрации брокерских и дилерских компаний в Российской Федерации.

Основной целью процесса проектирования является генерация физической схемы БД. Для генерации схемы БД следует выбрать пункт меню «Tasks/ Forward Engineer/Schema Generation...».

Рисунок 19 Диалоговое окно генератора схем

Физическая схема БД генерируется на основе логической схемы и набора установок, задаваемых в диалоговом окне генератора схем (рис. …). Эти установки определяют, какие элементы должны войти в схему БДе диалога содержатся и другие кнопки:

Элементы генерируемой схемы организованы по разделам, список которых находится в левом окне страницы. В правом окне находится список элементов отмеченного раздела с флажками. Для выбора элемента, который должен использоваться при генерации схемы БД, следует проставить флажок рядом с этим элементом.

А теперь можно сгенерировать схему нашей БД:.

1. В диалоговом окне генератора схем на странице «Options» выделите в левом списке объект «Trigger» и уберите все флажки в правом списке;

2. Выделите объект «Index» и уберите все флажки в правом списке;

3. Нажмите «Preview». В окне просмотра появится SQL-скрипт создания БД:

 

 

CREATE TABLE AIRCOMPANY (

AC_CODE INTEGER NOT NULL,

AC_NAME VARCHAR( 20 )

);

ALTER TABLE AIRCOMPANY

ADD PRIMARY KEY ( AC_CODE );

CREATE TABLE AIRLINE (

AL_NUM VARCHAR( 20 ) NOT NULL,

AL_AC_CODE INTEGER NOT NULL,

AL_PL_CODE VARCHAR( 20 ) NOT NULL,

AL_NAME VARCHAR( 20 )

);

ALTER TABLE AIRLINE

ADD PRIMARY KEY ( AL_NUM );

CREATE TABLE AIRPORT (

AP_CODE INTEGER NOT NULL,

AP_NAME VARCHAR( 20 ),

AP_CT_CODE INTEGER NOT NULL

);

ALTER TABLE AIRPORT

ADD PRIMARY KEY ( AP_CODE );

CREATE TABLE BOARD (

BRD_NUM INTEGER NOT NULL,

BRD_PL_CODE VARCHAR( 20 ) NOT NULL,

BRG_AC_CODE INTEGER NOT NULL

);

ALTER TABLE BOARD

ADD PRIMARY KEY ( BRD_NUM );

CREATE TABLE CITY (

CT_CODE INTEGER NOT NULL,

CT_NAME VARCHAR( 20 ) NOT NULL

);

ALTER TABLE CITY

ADD PRIMARY KEY ( CT_CODE );

CREATE TABLE EQUIPAGE (

EQ_CODE INTEGER NOT NULL,

EQ_FL_DATE DATE NOT NULL,

EQ_RNK_CODE INTEGER NOT NULL,

EQ_PR_CODE INTEGER NOT NULL,

EQ_FL_NUM VARCHAR( 20 ) NOT NULL

);

ALTER TABLE EQUIPAGE

ADD PRIMARY KEY ( EQ_CODE );

CREATE TABLE FLIGHT (

FL_DATE DATE NOT NULL,

FL_NUM VARCHAR( 20 ) NOT NULL,

FL_BRD_NUM INTEGER NOT NULL

);

ALTER TABLE FLIGHT

ADD PRIMARY KEY ( FL_DATE, FL_NUM );

CREATE TABLE PERSON (

PR_CODE INTEGER NOT NULL,

PR_NAME VARCHAR( 20 )

);

ALTER TABLE PERSON

ADD PRIMARY KEY ( PR_CODE );

CREATE TABLE PLANE (

PL_CODE VARCHAR( 20 ) NOT NULL

);

ALTER TABLE PLANE

ADD PRIMARY KEY ( PL_CODE );

CREATE TABLE RANK (

RNK_CODE INTEGER NOT NULL,

RNK_NAME VARCHAR( 20 )

);

ALTER TABLE RANK

ADD PRIMARY KEY ( RNK_CODE );

CREATE TABLE SALON (

SL_TYPE INTEGER NOT NULL,

SL_NAME VARCHAR( 20 )

);

ALTER TABLE SALON

ADD PRIMARY KEY ( SL_TYPE );

CREATE TABLE SALON_IN_PLANE (

SP_SL_TYPE INTEGER NOT NULL,

SP_PL_CODE VARCHAR( 20 ) NOT NULL,

SP_COUNT INTEGER

);

ALTER TABLE SALON_IN_PLANE

ADD PRIMARY KEY ( SP_SL_TYPE, SP_PL_CODE );

CREATE TABLE TIMETABLE (

TBL_AP_CODE INTEGER NOT NULL,

TBL_AL_NUM VARCHAR( 20 ) NOT NULL,

TBL_DOWN_TIME VARCHAR( 20 ),

TBL_START_TIME DATE,

TBL_NUMBER INTEGER

);

ALTER TABLE TIMETABLE

ADD PRIMARY KEY ( TBL_AP_CODE, TBL_AL_NUM );

CREATE TABLE TARIFF (

TR_CODE INTEGER NOT NULL,

TR_SL_TYPE INTEGER,

TR_AL_NUM VARCHAR( 20 ) NOT NULL,

TR_COST INTEGER,

TR_AP_FROM INTEGER NOT NULL,

TR_AP_TO INTEGER NOT NULL

);

ALTER TABLE TARIFF

ADD PRIMARY KEY ( TR_CODE );

CREATE TABLE TICKET (

TC_NUM INTEGER NOT NULL,

TC_PR_CODE INTEGER NOT NULL,

TC_TR_CODE INTEGER NOT NULL,

TC_FL_DATE DATE NOT NULL,

TC_FL_NUM VARCHAR( 20 ) NOT NULL

);

ALTER TABLE TICKET

ADD PRIMARY KEY ( TC_NUM );

ALTER TABLE AIRLINE

ADD FOREIGN KEY ( AL_AC_CODE )

REFERENCES AIRCOMPANY;

ALTER TABLE AIRLINE

ADD FOREIGN KEY ( AL_PL_CODE )

REFERENCES PLANE;

ALTER TABLE AIRPORT

ADD FOREIGN KEY ( AP_CT_CODE )

REFERENCES CITY;

ALTER TABLE BOARD

ADD FOREIGN KEY ( BRG_AC_CODE )

REFERENCES AIRCOMPANY;

ALTER TABLE BOARD

ADD FOREIGN KEY ( BRD_PL_CODE )

REFERENCES PLANE;

ALTER TABLE EQUIPAGE

ADD FOREIGN KEY ( EQ_RNK_CODE )

REFERENCES RANK;

ALTER TABLE EQUIPAGE

ADD FOREIGN KEY ( EQ_PR_CODE )

REFERENCES PERSON;

ALTER TABLE EQUIPAGE

ADD FOREIGN KEY ( EQ_FL_DATE, EQ_FL_NUM )

REFERENCES FLIGHT;

ALTER TABLE FLIGHT

ADD FOREIGN KEY ( FL_BRD_NUM )

REFERENCES BOARD;

ALTER TABLE FLIGHT

ADD FOREIGN KEY ( FL_NUM )

REFERENCES AIRLINE;

ALTER TABLE SALON_IN_PLANE

ADD FOREIGN KEY ( SP_PL_CODE )

REFERENCES PLANE;

ALTER TABLE SALON_IN_PLANE

ADD FOREIGN KEY ( SP_SL_TYPE )

REFERENCES SALON;

ALTER TABLE TIMETABLE

ADD FOREIGN KEY ( TBL_AL_NUM )

REFERENCES AIRLINE;

ALTER TABLE TIMETABLE

ADD FOREIGN KEY ( TBL_AP_CODE )

REFERENCES AIRPORT;

ALTER TABLE TARIFF

ADD FOREIGN KEY ( TR_AP_TO, TR_AL_NUM )

REFERENCES TIMETABLE;

ALTER TABLE TARIFF

ADD FOREIGN KEY ( TR_AP_FROM, TR_AL_NUM )

REFERENCES TIMETABLE;

ALTER TABLE TARIFF

ADD FOREIGN KEY ( TR_AL_NUM )

REFERENCES AIRLINE;

ALTER TABLE TARIFF

ADD FOREIGN KEY ( TR_SL_TYPE )

REFERENCES SALON;

ALTER TABLE TICKET

ADD FOREIGN KEY ( TC_FL_DATE, TC_FL_NUM )

REFERENCES FLIGHT;

ALTER TABLE TICKET

ADD FOREIGN KEY ( TC_TR_CODE )

REFERENCES TARIFF;

ALTER TABLE TICKET

ADD FOREIGN KEY ( TC_PR_CODE )

REFERENCES PERSON;

 

Для каждой таблицы, входящей в модель, генерируются запросы, заданные в опциях объекта Table. В данном случае это:

CREATE TABLE - создание таблицы;

ALTER TABLE... ADD PRIMARY KEY - добавление первичного ключа;

ALTER TABLE... ADD FOREIGN KEY - добавление внешнего ключа.

Использование IB Expert для работы с базой данных [1]


Дата добавления: 2015-12-08; просмотров: 97 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.018 сек.)