
- •Работы практические по дисциплине базы данных
- •1 Практическая работа
- •1.1 Тема: Нормализация данных. Выстраивание взаимодействий в модели. Построение инфологической модели бд
- •2 Практическая работа
- •2.1 Тема: Изучение интерфейса и назначение пунктов главного меню программного средства разработки баз данных
- •3 Практическая работа
- •3.1 Тема: Управление объектами базы данных sql
- •4 Практическая работа
- •4.1 Тема: Создание таблиц. Ввод исходных данных
- •5 Практическая работа
- •5.1 Тема: Создание форм. Ввод исходных данных в формы. Редактирование данных
- •6 Практическая работа
- •6.1 Тема: Создание запросов
- •7 Практическая работа
- •7.1 Тема: Назначение взаимосвязей в таблицах
- •8 Практическая работа
- •8.1 Тема: Создание индекса. Сортировка данных в таблице
- •9 Практическая работа
- •9.1 Тема: Формирование отчетов. Вывод отчетов на печать
- •Список использованных источников
2 Практическая работа
2.1 Тема: Изучение интерфейса и назначение пунктов главного меню программного средства разработки баз данных
2.2 Цель: научиться создавать инфологическую модель БД в нотации IDEF1X
2.3 Оборудование, инструменты, расходные материалы:
Персональный компьютер
Программа Erwin 4.0
2.4 Теоретическое обоснование:
Инфологическая модель в нотации IDEF1X строится на основании технического задания с применением метода декомпозиции при проектировании.
В основе проектирования реляционной БД лежит принцип последовательной нормализации схемы отношений, что позволяет снизить избыточность хранимой в БД информации и устранить «аномалии» технологических операций. При практической реализации РБД достаточно привести отношения к 4-ой нормальной форме.
2.5 Выполнение работы
Изучите техническое задание.
Создайте инфологическую модель БД в нотации IDEF1X с помощью программного продукта ERwin.
Проверьте все отношения в схеме БД на выполнение 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 Оборудование, инструменты, расходные материалы:
Персональный компьютер
Программа Erwin 4.0
3.4 Теоретическая часть
Даталогическая модель БД создается после того, как будет определена целевая СУБД, т.к. она определяет возможные к использованию типы данных.
Убедитесь в том, что в качестве целевой СУБД выбрана MS SQL Server 2000.
3.5 Выполнение работы
Убедитесь в том, что все реквизиты имеют верный тип данных.
Выполните команду Tools/Schema Generation.
Перейдите на вкладку Summary и активируйте опцию Edit Options.
Установите необходимые настройки:
снять все опции в разделе 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 Вывод