
- •Лабораторная №1 Проектирование структуры базы данных. Нормализация таблиц.
- •О бозначение таблиц и полей
- •Лабораторная №2 Создание серверной части приложения: алиас, файл базы данных, таблицы.
- •Лабораторная №3, №4 Визуальное проектирование структуры базы данных: таблицы, индексы, условия ссылочной целостности, взаимосвязи.
- •Примечание
- •Лабораторная №5, №6 Клиентская часть: размещение не визуальных компонентов, соединение с бд. Клиентская часть: размещение визуальных компонентов, отображение таблиц.
- •Лабораторная №7, №8 Запросы на добавление данных. Запросы на редактирование и удаление данных.
- •Лабораторная №9 Создание генераторов и триггеров. Каскадные воздействия.
- •Лабораторная №10 Создание хранимых процедур.
- •Лабораторная №11 Сортировка, поиск, фильтрация данных: в базе данных и выборках.
- •Лабораторная №12, №13 Работа с транзакциями. Кэширование изменений при работе с транзакциями.
- •Лабораторная №14 Обеспечение достоверности данных и перехват исключительных ситуаций.
- •Лабораторная №15 Работа с отчетами.
- •Лабораторная №16 Установление привилегии доступа.
- •Лабораторная №17 Копирование и восстановление данных.
- •Лабораторная №18 Копирование клиентской части
- •Список рекомендуемых баз данных
Лабораторная №3, №4 Визуальное проектирование структуры базы данных: таблицы, индексы, условия ссылочной целостности, взаимосвязи.
Цель работы: познакомить с принципами разработки и внедрения SQL-сценариев при проектировании структуры базы данных; научиться работе в графическом построителе базы данных
Разработка SQL-сценариев создания объектов базы данных
Объекты базы удаленной данных: таблицы, триггеры, домены и т.д. Сначала следует удалить из Exmpl.gdb все таблицы, появившиеся после переноса их из настольной базы.
Запустите утилиту Interactive SQL командой Tools/Interactive SQL главного меню IBConsole.
Используя меню 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 и 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 ;
|
Выполнение скриптов:
Запустите утилиту IBConsole.
Зарегистрируйтесь на локальном сервере: Server/Login.
Соединитесь с базой данных Exmpl.gdb, для чего выделите ее псевдоним и, используя меню, выполните команду Database/Connect As.
Введите пароль, выберите character Set равным WIN1251 и щелкните мышью на кнопке Connect.
Запустите утилиту Interactive SQL (Tools/Interactive SQL).
Выполните команду Query/Load Script.
Укажите имя скрипта domains.sql и щелкните на кнопке Открыть.
Исполните скрипт командой Query/Execute.
Перейдите в окно IBConsole и убедитесь, что все домены созданы
Аналогично выполнить скрипт tables.sql