Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
метод указания по ЛР БД 2008-2009.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
237.57 Кб
Скачать

2 Практическая работа

2.1 Тема: Изучение интерфейса и назначение пунктов главного меню программного средства разработки баз данных

2.2 Цель: научиться создавать инфологическую модель БД в нотации IDEF1X

2.3 Оборудование, инструменты, расходные материалы:

  1. Персональный компьютер

  2. Программа Erwin 4.0

2.4 Теоретическое обоснование:

Инфологическая модель в нотации IDEF1X строится на основании технического задания с применением метода декомпозиции при проектировании.

В основе проектирования реляционной БД лежит принцип последовательной нормализации схемы отношений, что позволяет снизить избыточность хранимой в БД информации и устранить «аномалии» технологических операций. При практической реализации РБД достаточно привести отношения к 4-ой нормальной форме.

2.5 Выполнение работы

  1. Изучите техническое задание.

  2. Создайте инфологическую модель БД в нотации IDEF1X с помощью программного продукта ERwin.

  3. Проверьте все отношения в схеме БД на выполнение 4 НФ.

  4. Составьте отчет о проделанной работе.

2.6 Пример выполнения работы

Рекомендации к выполнению данной работы:

1) Рекомендуется при создании новой модели в программе Erwin выбрать в качестве типа создаваемой модели тип Logical/Physical, чтобы иметь возможность сразу определиться с типом данных каждого реквизита.

2) В качестве целевой СУБД выберите MS SQL Server 2000.

3) При создании модели обратите внимание на то, чтобы имена реквизитов не совпадали с ключевыми словами, принятыми в СУБД MS SQL Server 2000.

4) Имена реквизитов, которые по смыслу повторяются в пределах модели желательно именовать с префиксом таблицы. Например, имя автора – au_fname.

Пример инфологической модели для предметной области «Книгоиздательская компания» представлен на рисунке 1.

2.7 Вывод

Рисунок 1 – Инфологическая модель БД в нотации IDEF1X

3 Практическая работа

3.1 Тема: Управление объектами базы данных 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 Вывод