Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практические работы по УБД 2013.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
3.27 Mб
Скачать

Лабораторная №3, №4 Визуальное проектирование структуры базы данных: таблицы, индексы, условия ссылочной целостности, взаимосвязи.

Цель работы: познакомить с принципами разработки и внедрения SQL-сценариев при проектировании структуры базы данных; научиться работе в графическом построителе базы данных

  • Разработка SQL-сценариев создания объектов базы данных

Объекты базы удаленной данных: таблицы, триггеры, домены и т.д. Сначала следует удалить из Exmpl.gdb все таблицы, появившиеся после переноса их из настольной базы.

  1. Запустите утилиту Interactive SQL командой Tools/Interactive SQL главного меню IBConsole.

  2. Используя меню Query/Execute, удалите таблицы командой drop TABLE.

Определение типов данных таблиц

Назначая типы данных колонкам таблиц, можно использовать "свои" типы — домены.

Типы данных полей таблиц базы данных Exmpl.gdb Описание доменов базы данных

Имя

таблицы

Имя

поля

Тип

Длина

Деся-

тичная

часть

Имя

поля

Тип

Длина

Значение

по умолчанию

Ограничения

Owner

NOn

SMALLINT

dnNum

SMALLINT

-

>0

Ow

CHAR

10

dnOwTn

CHAR

10

нет

AdO

CHAR

20

dnAddrs

CHAR

20

нет

Lease

NLease

SMALLINT

dnTyp

CHAR

20

1-к.

квартира

1-к.квартира

2-к. квартира

дом

Tn

SMALLINT

dnRn

NUMERIC

6,2

60

>0

AdT

CHAR

20

dnDATE

TIMESTAMP

-

<= "TODAY"

NOn

SMALLINT

AdR

CHAR

20

LDate

DATE

Realty

AdR

CHAR

20

Тур

CHAR

20

Rent

Тур

CHAR

20

Rn

NUMERIC

6

2

Контрольное задание

Опишите типы полей (data type) InterBase-таблиц, используя ее справочную систему.

  • SQL-скрипты создания доменов и таблиц

  1. В редакторе Блокнот набрать текст, представленный в листинге 1 и 2.

  2. Сохраните в файлы domains.sql и tables.sql SQL-операторы создания доменов и таблиц соответственно.

Листинг 1, SQL-операторы скрипта domains.sql

Листинг .2. SQL-операторы скрипта tables.sql

CREATE DOMAIN dnNum AS SMALLINT

CHECK (VALUE > 0)

NOT NULL;

commit;

CREATE DOMAIN dnOwTn AS CHAR(10)

NOT NULL;

commit;

CREATE DOMAIN dnAddrs AS CHAR (20)

NOT NULL;

commit;

CREATE DOMAIN dnTyp AS CHAR(20)

DEFAULT ‘1-к. квартира'

CHECK (VALUE IN (‘1-к. квартира',

2-к. квартира',

'дом'))

NOT NULL;

commit;

CREATE DOMAIN dnRn AS NUMERIC(6,2)

DEFAULT 60

CHECK (VALUE > 0)

commit;

CREATE DOMAIN dnDATE AS TIMESTAMP

CHECK (Value <= "TODAY");

commit;

CREATE TABLE Owner(

NOn dnNum,

Ow dnOwTn,

AdO dnAddrs,

PRIMARY KEY (NOn))

commit;

CREATE TABLE Rent(

Тур dnTyp,

Rn dnRn,

PRIMARY KEY (Тур));

commit;

CREATE TABLE Realty(

AdR dnAddrs,

Тур dnTyp,

PRIMARY KEY (AdR),

FOREIGN KEY (Тур) REFERENCES Rent(Тур));

commit;

CREATE TABLE Lease(

NLease dnNum,

NTn dnNum,

NOn dnNum,

AdR dnAddrs,

Ldate dnDATE,

PRIMARY KEY (NLease),

FOREIGN KEY (NOn) REFERENCES Owner (NOn), FOREIGN KEY (AdR) REFERENCES Realty(AdR));

commit ;

  • Выполнение скриптов:

  1. Запустите утилиту IBConsole.

  2. Зарегистрируйтесь на локальном сервере: Server/Login.

  3. Соединитесь с базой данных Exmpl.gdb, для чего выделите ее псевдоним и, используя меню, выполните команду Database/Connect As.

  4. Введите пароль, выберите character Set равным WIN1251 и щелкните мышью на кнопке Connect.

  5. Запустите утилиту Interactive SQL (Tools/Interactive SQL).

  6. Выполните команду Query/Load Script.

  7. Укажите имя скрипта domains.sql и щелкните на кнопке Открыть.

  8. Исполните скрипт командой Query/Execute.

  9. Перейдите в окно IBConsole и убедитесь, что все домены созданы

Аналогично выполнить скрипт tables.sql