АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология
|
Тема: Управление объектами базы данных SQL
3.2 Цель: научиться создавать даталогическую модель БД на основе выбранной СУБД
3.3 Оборудование, инструменты, расходные материалы:
1) Персональный компьютер
2) Программа Erwin 4.0
3.4 Теоретическая часть
Даталогическая модель БД создается после того, как будет определена целевая СУБД, т.к. она определяет возможные к использованию типы данных.
Убедитесь в том, что в качестве целевой СУБД выбрана MS SQL Server 2000.
3.5 Выполнение работы
1) Убедитесь в том, что все реквизиты имеют верный тип данных.
2) Выполните команду Tools/Schema Generation.
3) Перейдите на вкладку Summary и активируйте опцию Edit Options.
4) Установите необходимые настройки:
- снять все опции в разделе View;
- снять все опции в разделе Index;
- в разделе Referential Integrity установить опцию для Primary Key – Create/PK;
- в разделе Referential Integrity установить опцию для Foreign Key – Create/FK и снять опции ON DELETE, ON UPDATE;
- снять все опции в разделе Trigger.
5) Нажмите кнопку Preview и сохраните SQL-код в файл script.sql в папку с моделью *.er1.
3.6 Пример выполнения работы
В результате выполнения указанных действий должен получиться следующий скрипт:
CREATE TABLE Publisher (
pub_id int NOT NULL,
pub_name varchar(40) NULL,
city varchar(20) NULL,
zip varchar(10) NULL,
PRIMARY KEY (pub_id ASC)
)
go
CREATE TABLE Phone (
pub_id int NOT NULL,
phone_num varchar(10) NOT NULL,
PRIMARY KEY (pub_id ASC, phone_num ASC),
FOREIGN KEY (pub_id)
REFERENCES Publisher (pub_id)
)
go
CREATE TABLE fee (
pos smallint NOT NULL,
fee_percent float NULL,
PRIMARY KEY (pos ASC)
)
go
CREATE TABLE Editor (
ed_id int NOT NULL,
ed_fname varchar(20) NULL,
ed_lname varchar(20) NULL,
city varchar(20) NULL,
zip varchar(10) NULL,
PRIMARY KEY (ed_id ASC)
)
go
CREATE TABLE Book (
book_id int NOT NULL,
title varchar(40) NULL,
book_vid varchar(20) NULL,
price float NULL,
advance float NULL,
year_sale float NULL,
pub_date datetime NULL,
page_count smallint NULL,
pub_id int NOT NULL,
PRIMARY KEY (book_id ASC),
FOREIGN KEY (pub_id)
REFERENCES Publisher (pub_id)
)
go
CREATE TABLE EditorBook (
ed_id int NOT NULL,
book_id int NOT NULL,
pos smallint NULL,
PRIMARY KEY (ed_id ASC, book_id ASC),
FOREIGN KEY (pos)
REFERENCES fee (pos),
FOREIGN KEY (ed_id)
REFERENCES Editor (ed_id),
FOREIGN KEY (book_id)
REFERENCES Book (book_id)
)
go
CREATE TABLE Author (
au_id int NOT NULL,
au_fname varchar(20) NULL,
au_lname varchar(20) NULL,
city varchar(20) NULL,
zip varchar(10) NULL,
PRIMARY KEY (au_id ASC)
)
go
CREATE TABLE AuthorBook (
book_id int NOT NULL,
au_id int NOT NULL,
pos smallint NULL,
PRIMARY KEY (book_id ASC, au_id ASC),
FOREIGN KEY (pos)
REFERENCES fee (pos),
FOREIGN KEY (book_id)
REFERENCES Book (book_id),
FOREIGN KEY (au_id)
REFERENCES Author (au_id)
)
go
CREATE TABLE Client (
client_id int NOT NULL,
client_name varchar(20) NULL,
city varchar(20) NULL,
zip varchar(10) NULL,
PRIMARY KEY (client_id ASC)
)
go
CREATE TABLE Sale (
client_id int NOT NULL,
sale_id int NOT NULL,
book_id int NOT NULL,
quantity smallint NULL,
sale_date datetime NULL,
PRIMARY KEY (client_id ASC, sale_id ASC, book_id ASC),
FOREIGN KEY (book_id)
REFERENCES Book (book_id),
FOREIGN KEY (client_id)
REFERENCES Client (client_id)
)
go
3.7 Вывод
Дата добавления: 2015-09-27 | Просмотры: 410 | Нарушение авторских прав
|