Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

BD / bd_lab_kn(2008)

.pdf
Скачиваний:
59
Добавлен:
03.03.2016
Размер:
787.27 Кб
Скачать

Нормализуем таблицу ЗАВОДЫ, разбив ее на 2 таблицы:

-ЗАВОДЫ (в ней будут приведены сведения о заводах),

-ЦЕХИ (сведения о цехах заводов).

ЗАВОДЫ

 

Завод

 

Город

 

Начало

 

Директор

Телефон

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ДМЗ

 

Донецк

 

1913

 

 

 

 

Азовсталь

 

Мариуполь

 

1930

 

 

 

 

Макзавод

 

Макеевка

 

1947

 

 

 

 

 

 

 

 

 

Первичный ключ таблицы поле Завод.

 

 

 

 

 

 

 

 

 

 

 

ЦЕХИ

 

 

 

 

 

 

 

Завод

 

Цех

 

Дата ввода

Кол-во рабочих

 

 

ДМЗ

 

Литейный

 

 

 

 

 

ДМЗ

 

Прокатный

 

 

 

 

 

ДМЗ

 

Формовочный

 

 

ДонНТУ

 

 

 

 

 

 

 

 

Азовсталь

 

Литейный

 

 

 

 

 

Азовсталь

 

Прокатный

 

 

 

 

 

…..

 

…….

 

 

 

 

В этой таблице поле Завод - внешний ключ; первичный ключ-составной:

Завод + Цех.

Между таблицами ЗАВОДЫ-ЦЕХИ существует связь один-ко-многим

 

ПМИ

(один завод имеет несколько цехов). Так как названия цехов повторяются, то

целесообразно организовывать справочник названий:

 

НАЗВАНИЯ ЦЕХОВ

 

Код названия цеха

Цех

 

 

 

Л

Литейный

 

 

 

П

Прокатный

 

 

 

Ф

Формовочный

 

 

 

….

……..

 

 

КафедраВ таблице ЗАВОДЫ введем искусственный первичный

 

ключ с тем, чтобы

 

В этой таблице поле Код названия цеха искусственный ПК Так как за период существования металлургической промышленности перечень названий цехов уже сформировался (навряд ли появятся новые цехи), то в качестве кода можно взять первую букву названия цеха ( при условии, что ее значения будут уникальны).

в таблице ЦЕХИ заменить длинное поле Завод коротким полем Код завода:

20

ЗАВОДЫ

 

 

Код завода

 

Завод

 

 

 

 

 

Город

 

Начало

 

 

Директор

 

Телефон

 

 

 

1

 

 

ДМЗ

 

 

 

Донецк

 

 

 

 

 

 

 

 

 

2

 

 

Азовсталь

 

 

 

Мариуполь

 

 

 

 

 

 

 

 

 

3

 

 

Макзавод

 

 

 

Макеевка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

….

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ДонНТУ

 

 

Для таблицы ЦЕХИ составной ПК Завод + Цех также нужно заменить

 

простым ключом . Для этого введем искусственный ПК Код цеха:

 

 

 

 

 

 

 

 

 

 

 

 

 

ЦЕХИ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Код цеха

 

 

Код завода

 

 

 

 

Код названия цеха

Дата ввода

 

Количество

 

 

 

1

 

 

1

 

 

 

 

 

 

Л

 

 

 

 

 

 

 

 

 

 

 

2

 

 

1

 

 

 

 

 

 

П

 

 

 

 

 

 

 

 

 

 

 

3

 

 

1

 

 

 

 

 

 

Ф

 

 

 

 

 

 

 

 

 

 

 

4

 

 

2

 

 

 

 

 

 

Л

 

 

 

 

 

 

 

 

 

 

 

5

 

 

2

 

 

 

 

 

 

П

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Между объектами ЦЕХИПРОДУКЦИЯ существует отношение “m:n" (с

 

 

 

 

 

 

 

 

 

ПМИ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

одной стороны, каждый цех выпускает несколько видов продукции, с другой

 

стороны, каждый вид продукции выпускается цехами нескольких заводов).

 

 

Связь “m:n” должна быть приведена с помощью таблицы пересечения к

 

двум связям “1:n”.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Разобьем таблицу

 

 

 

 

 

ПРОДУКЦИЯ на

две:

АССОРТИМЕНТ и

 

ВЫПУСКАЕМАЯ ПРОДУКЦИЯ. Код продукции искусственный первичный

 

ключ.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

АССОРТИМЕНТ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Код продукции

 

Тип

 

 

 

Марка стали

 

Кафедра

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

Швеллер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

Балка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

Катанка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВЫПУСКАЕМАЯ ПРОДУКЦИЯ

 

 

 

 

 

 

 

 

Код цеха

 

Код продукции

 

Квартал

 

 

План

 

Цена единицы

 

 

 

1

 

 

2

 

 

 

 

 

4

 

 

 

53

 

 

 

120

 

 

 

1

 

 

3

 

 

 

 

 

1

 

 

 

85

 

 

 

210

 

 

 

1

 

 

3

 

 

 

 

 

3

 

 

 

100

 

 

 

220

 

 

 

5

 

 

2

 

 

 

 

 

1

 

 

 

100

 

 

 

112

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица ВЫПУСКАЕМАЯ ПРОДУКЦИЯ является таблицей пересечения (Код цеха внешний ключ, Код продукции- внешний ключ).

Естественный первичный ключ составной: Код цеха + Код продукции + Квартал, но можно ввести короткий искусственный ПК.

21

естественный ПК.

Структура рассмотренных таблиц (все находятся в 3НФ) и связи между ними приведены в Схеме данных, представленной на рис. 1.

Рисунок 1- Схема данных для БД Продукция металлургическихДонНТУзаводов

Пример 2

В БД, содержащей сведения о научной деятельности сотрудников университета, должны бытьПМИпредставлены данные о сотрудниках (ФИО, дата рождения, факультет, кафедра, должность, публикации (вид(статья, доклад на конференции, тезисы доклада,…), название, дата публикации)) и данные о темах, над которыми они работают (номер темы, финансирование по теме, дата начала выполнения, дата окончания, название, заказчик).

Первоначально можно выделить такие объекты предметной области: СОТРУДНИКИ, ТЕМЫ. Соответствующие им таблицы будут выглядеть так:

 

 

 

 

ТЕМЫ

 

 

 

Номер

Финансирование

Дата

Дата

Название

Заказчик

 

темы

 

начала

окончания

 

 

 

97-002

5000

01.01.97

31.12.98

ВНИИГД

 

97-010

10000

01.05.97

30.06.98

ПКТИ

 

97-021

8500

01.01.98

31.12.98

ДонУГИ

 

 

Кафедра

 

 

 

 

Таблица ТЕМЫ находится в 3НФ, Номер темы

СОТРУДНИКИ

 

Дата

Факуль-

Кафед-

Долж-

Вид

Назва-

Дата

ФИО

рожде-

тет

ра

ность

публи-

ние

публи-

 

ния

 

 

 

кации

 

кации

Иванов

01.12.54

ВТИ

ПМИ

ст.н.с.

статья

……

10.04.84

Иванов

01.12.54

ВТИ

ПМИ

ст.н.с.

статья

……

02.02.85

Иванов

01.12.54

ВТИ

ПМИ

ст.н.с.

доклад

……

11.10.86

Иванов

01.12.54

ВТИ

ПМИ

ст.н.с.

тезисы

……

12.12.89

Петров

25.05.62

ВТИ

ПМИ

м.н.с.

статья

……

10.10.88

Петров

25.05.62

ВТИ

ПМИ

м.н.с.

тезисы

……

16.08.92

Чайка

13.07.76

ВТИ

ЭВМ

техник

тезисы

……

19.10.97

22

 

 

 

 

 

 

 

 

СОТРУДНИКИ нормализованная таблица, находится в 1НФ. Обладает

следующими недостатками:

 

 

 

 

 

 

 

 

 

- сложность определения первичного ключа,

 

 

 

 

 

1

 

Иванов

01.12.54

ВТИ

ПМИДонНТУст.н.с. 97-010

-

избыточность данных,

 

 

 

 

 

 

 

 

 

-

существование неоднозначных зависимостей между атрибутами,

- отсутствие связи с объектом ТЕМЫ.

 

 

 

 

 

 

 

Проведем

над

таблицей

СОТРУДНИКИ

процесс

нормализации,

учитывая семантику данных и их связи. Разобьем ее на две таблицы: СОТРУДНИКИ и ПУБЛИКАЦИИ. В первой таблице будут содержаться общие сведения о сотрудниках на каждого сотрудника по одной записи; во второй сведения о научных публикациях (у сотрудника может быть несколько публикаций, одна или ни одной).

СОТРУДНИКИ

Код

ФИО

 

Дата

Факультет

Кафедра

Долж-

Номер

сотрудника

 

 

ПМИ

 

 

 

 

рождения

 

 

ность

темы

2

Петров

25.05.62

ВТИ

ПМИ

м.н.с.

98-021

3

Чайка

13.07.76

ВТИ

ЭВМ

техник

97-002

 

 

Так как для этой таблицы практически невозможно определить

естественный ПК, то введем

искусственный первичный ключ - Код

сотрудника. Для связи таблицы

СОТРУДНИКИ с таблицей ТЕМЫ .в таблицу

СОТРУДНИКИ необходимо ввести внешний ключ атрибут Номер темы. Между таблицами ТЕМЫ и СОТРУДНИКИ существует связь “1:n”.

Таблица СОТРУДНИКИ находится во 2НФ, так как атрибут Кафедра однозначно зависит от неключевого атрибута Факультет. Нужно продолжить процесс нормализации над таблицей и привести ее к 3НФ.

Кроме того, для уменьшения объема таблицы следует использовать таблицы справочники (таблицы подстановок): КАФЕДРЫ, ФАКУЛЬТЕТЫ, ДОЛЖНОСТИ:

 

 

 

 

 

 

 

 

ФАКУЛЬТЕТЫ

 

 

 

Код факультета

 

 

Факультет

 

Полное название

 

 

 

 

1

 

 

ВТИ

 

Вычисл. техники и информатики

 

 

 

2

 

 

КИТА

 

Комп.инф.технологий и автоматики

 

 

 

 

 

 

 

Кафедра

 

КАФЕДРЫ

 

 

 

Код

 

Кафедра

 

 

Полное название

 

Код

 

 

кафедры

 

 

 

 

 

 

факультета

23

1

ПМИ

Прикладной математики и информатики

1

2

ЭВМ

Электронных выч. машин

1

3

АТ

Автоматики и телемеханики

2

2

Петров 25.05.62

1

ДонНТУ2 98-021

 

ДОЛЖНОСТИ

 

Код должности

Должность

 

 

1

ст.н.с.

 

 

 

2

м.н.с.

 

 

 

3

лаборант

 

 

 

4

техник

 

 

 

 

 

Окончательный вид таблицы СОТРУДНИКИ:

Код

ФИО

Дата

Код

Код

Номер

сотрудника

 

рождения

кафедры

долж-

темы

 

 

 

 

ности

 

1

 

ПМИ

1

97-010

Иванов

01.12.54

1

3

Чайка

13.07.76

2

4

97-002

Таблица находится в 3НФ; использование справочников уменьшает ее объем и упрощает процесс занесения данных в соответствующие поля.

Для таблицы ПУБЛИКАЦИИ также используем справочник:

Кафедра

ВИДЫ ПУБЛИКАЦИЙ

 

 

 

 

 

 

 

 

 

 

 

Код вида

Вид публикации

 

 

 

 

 

1

 

 

статья

 

 

 

 

 

 

2

 

 

доклад

 

 

 

 

 

 

3

 

 

тезисы

 

 

 

 

 

 

 

 

 

Окончательный вид таблицы ПУБЛИКАЦИИ :

 

 

 

 

 

 

 

 

 

 

 

Код

 

Код

 

Код

Назва-

Дата

 

публикации

сотрудника

 

вида

ние

публи-

 

 

 

 

 

 

 

 

кации

 

1

 

 

1

 

1

……

10.04.84

 

2

 

 

1

 

1

……

02.02.85

 

3

 

 

1

 

2

……

11.10.86

 

4

 

 

1

 

3

……

12.12.89

 

5

 

 

2

 

1

……

10.10.88

 

6

 

 

2

 

3

……

16.08.92

 

 

 

24

Здесь :

Код публикации искусственный первичный ключ; Код сотрудника - внешний ключ, связывает таблицы СОТРУДНИКИ и

ПУБЛИКАЦИИ (связь “1: n”);

 

ДонНТУ

Код вида -

внешний

ключ, связывает таблицу ПУБЛИКАЦИИ со

справочником

ВИДЫ ПУБЛИКАЦИЙ.

 

Итак, сформированные

 

таблицы находятся в 3НФ, поэтому их набор

является оптимальным и, следовательно, может служить моделью реляционной базы данных.

3НФ таблиц позволяет гораздо эффективнее выполнять операции включения, удаления и модификации записей БД, а также делает избыточность данных минимальной.

Структура спроектированных таблиц и связи между ними приведены в Схеме данных, представленной на рис.2.

КафедраРисунок 2- Схема данных для БД «Научная деятельность сотрудников университета»

Пример 3

Для посреднической фирмы, занимающейся продажей вычислительной техники, необходимы сведения о поставщиках ( название фирмы, город, страна, форма собственности, телефон, адрес) и о представленных ими товарах ( наименование товара, фирма-изготовитель, дата поставки партии, цена единицы, количество единиц).

Структура таблиц, содержащих указанные данные, и связи между таблицами приведены в Схеме данных, представленной на рис.3.

.

25

Рисунок 3- Схема данных для БД о работе посредническойДонНТУфирмы

Для БД, рассмотренной в примере 3, разработаны все примеры, приведенные в последующих лабораторных работах

Задание к лабораторной работе

Для предметной области, описанной в заданном варианте, выделить объекты и представить их взаимосвязанными таблицами, находящимися в 3НФ. Определить базовые таблицы и таблицы-справочники; указать для них первичные и внешние ключи.

 

 

Контрольные вопросы

1. Сформулировать следующие определения:

 

ПМИ

предметная область, объект, БД, СУБД, банк данных;

концептуальная, внешняя, внутренняя модели данных;

реляционная модель данных;

нормализованная таблица, нормализация;

нормальные формы таблиц (первая, вторая, третья);

первичный, искусственный, внешний ключи;

целостность данных, ссылочная целостность.

Кафедра

 

2. Виды связей между объектами предметной области.

3. Реализация связей между таблицами в Access.

26

ЛАБОРАТОРНАЯ РАБОТА 2

СОЗДАНИЕ БАЗЫ ДАННЫХ В СРЕДЕ MICROSOFT ACCESS

Цель работы: освоение возможностей создания таблиц и установления связей между ними. ДонНТУ

Методические указания к выполнению работы

Создание новой базы данных

База данных Microsoft Access представляет собой файл с расширением mdb (multiple database). Для запуска Access нужно щелкнуть по кнопке Пуск на панели задач и выбрать команду Программы Microsoft Access.

Появляется окно, которое позволяет открыть уже созданный файл или создать новый файл базы данных с помощью опции Новая база данных. Создать новую БД можно также из главного окна Access с помощью кнопки Создать

результате открывается окно Файл новой базы данных, где нужно указать имя

новой БД и папку, в которой файл будет сохранен. Щелчок по кнопке Создать завершает создание БД и открывает главное окно Access.

В верхней части главного окна Access расположена строка меню, пункты которой изменяются в зависимости от режима работы системы. Ниже строки меню находится Панель инструментов - группа кнопок для быстрого выполнения наиболее популярных команд меню. В нижней части окна находится строка состояния в которой слева отображается полезная

на панели инструментов или команды Файл Создать. При этом способе создания можно воспользоваться шаблонами баз данных (вкладка База данных в окне Создание) либо сформироватьПМИновый mdb файл (вкладка Общие). В

Кафедраинформация о текущих действиях, , а справа располагаются индикаторы режимов работы клавиатуры (CapsLock, NumLock).

В центральной части главного окна Access раскрываются другие окна, соответствующие различным этапам работы с БД.

Первоначально в главном окне открывается окно базы данных, содержание которого иллюстрируется рисунком 4. Окно содержит панель Объекты, набор кнопок панели инструментов и список объектов выбранного класса (Таблицы, Запросы, Формы, Отчеты, Страницы, Макросы,

Модули). Дополнительно окно БД содержит три пиктограммы для создания соответствующих типов объектов.

Во время работы с Access пользователь в любой момент может получить справку (с помощью клавиши F1 или команды главного меню Справка Справка по Microsoft Access). Справочная система охватывает все аспекты работы с системой: команды, меню, объекты, термины и концепции Access.

В Access существует множество средств, облегчающих и ускоряющих процесс создания и настройки объектов программ - Мастеров, помогающих

27

конструировать БД, таблицы, формы, отчеты, диаграммы, приложения, почтовые наклейки, элементы управления и свойства.

Рисунок 4 – ОкноПМИбазы данных Microsoft Access

Режим конструктора таблицы

Создание таблицы то есть формирование ее структуры выполняется в Кафедрарежиме конструктора. ,Для активизации этого режима нужно, щелкнуть по кнопке Создать окна БД и в появившемся диалоговом окне Новая таблица

выбрать опцию Конструктор. Открывается окно конструктора таблиц (рис.5), состоящее из двух областей (панелей): области описания полей и области свойств полей. Для переключения между областями можно использовать клавишу F6.

В области описания полей вводятся имена, типы данных полей, а также

описание полей. В области свойств указываются характеристики полей, называемые свойствами. Свойства определяют порядок использования поля.

Имена полей могут быть длиной от 1 до 64 символов и могут включать буквы (в том числе и русские в русифицированной версии Access), цифры, символ подчеркивания, пробелы (но с пробела имя начинаться не может). Нельзя использовать в имени такие символы как точка, восклицательный знак, апостроф, квадратные скобки.

Описание поля - это своего рода комментарий. Рекомендуется вводить его для полей, назначение которых должно быть уточнено.

28

 

 

 

ПМИ

 

 

 

 

Рисунок

5 – Окно конструктора таблицы

 

 

 

 

 

Типы полей

 

 

 

Тип поля - это тип данных, которые будут в нем храниться. Аccess

 

поддерживает восемь основных типов данных. Описание типов полей МА

 

приведено в следующей таблице:

 

 

 

 

Кафедра

 

 

 

 

 

 

Тип

 

 

 

Описание

 

 

 

Текстовый

используется

для

представления

алфавитно-

цифровых

 

 

(символьных) данных, например, имен, адресов, описаний, а

 

 

также числовых данных, которые не используются в

 

 

вычислениях (номера телефонов, документов, почтовые

 

 

индексы и т.п.). Длина их не должна превышать 255 байт

 

 

(символов).

 

 

 

 

 

 

Числовой

применяется для представления данных, используемых в

 

 

вычислениях. Числовые данные могут быть разного размера:

 

 

1, 2, 4, 8 или 12 байт.

 

 

 

Денежный

используется

для

хранения данных

о денежных суммах

 

 

(занимает 8 байт). Целая часть данного типа может содержать

 

 

до 15 десятичных знаков, дробная до четырех.

 

 

Счетчик

предназначен для представления искусственного первичного

 

 

ключа. Значения задаются путем автоматической генерации

 

 

последовательных целых чисел. Размер – 4 байта (значения до

 

 

2 миллиардов); значения счетчика обновлять нельзя.

 

Логический

используется

для

хранения данных,

имеющих

только два

29

Соседние файлы в папке BD