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

2674

.pdf
Скачиваний:
0
Добавлен:
15.11.2022
Размер:
2.03 Mб
Скачать

Задание 2.

Дины отношения, моделирующие работу международной фирмы, имеющей несколько филиалов. Филиалы фирмы могут быть расположены в разных странах, это отряжено в отношении R1 (табл. 3.23). Клиенты фирмы также могут быть из разных стран, и это отражено в отношении R4 (табл. 3.26). По каждому конкретному заказу клиент мог заказать несколько разных товаров (табл. 3.24, 3.25).

Таблица 3.23

 

 

 

«Филиал»

 

 

 

 

R1

 

 

 

 

Филиал

 

 

Страна

 

 

 

 

 

 

 

 

Таблица 3.24

 

 

 

 

 

 

 

 

 

«Филиал»

 

 

 

 

R2

 

 

 

 

 

 

Филиал

Заказчик

№ заказа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 3.25

 

 

 

«Заказ»

 

 

 

 

R3

 

 

 

 

 

 

№ заказа

 

Товар

Количество

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 3.26

 

 

 

«Заказчик»

 

 

 

 

R4

 

 

 

 

Заказчик

 

 

Страна

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С использованием реляционной алгебры составить запросы, позволяющие выбрать:

1) Заказчиков, которые работают со всеми филиалами фирмы, но покупают только один товар.

81

2)Филиалы фирмы, которые торгуют всеми товарами.

3)Товары, которые работают с филиалами фирмы, которые расположены только в одной стране.

4)Заказчиков, которые работают с филиалами фирмы, которые расположены только в одной стране.

5)Филиалы, с которыми не работает ни один заказчик.

6)Заказчиков, которые работают только с филиалами, расположенными в той же стране, что и заказчик.

7)Заказчиков, которые покупают все товары, представленные в отношении R3.

Задание 3.

Даны отношения, моделирующие работу фирмы, занимающейся разработкой программных систем (табл. 3.27- 3.29). Каждый сотрудник административно закреплен только за одним отделом. Файлы хранятся на разных серверах. На разных серверах файлы могут иметь одинаковые имена. Создатель файла является его владельцем, поэтому у каждого файла только один владелец, но владелец файла может разрешить пользоваться файлом другим сотрудникам. Существует множество системного программного обеспечения, каждая программа может работать с одним или с несколькими файлами, расположенными на одном или нескольких серверах.

82

 

 

 

 

Таблица 3.27

 

«Сотрудник»

 

 

 

 

R1

 

 

R4

 

Название файла

Имя владельца файла

 

Сотрудник

Отдел

 

 

 

 

 

 

 

Таблица 3.28

«Программа»

 

R2

 

Название программы

Название файла

Сервер

 

 

 

Таблица 3.29

 

«Файл»

 

R3

Название файла

Название сервера

 

 

83

С использованием реляционной алгебры составить запросы, позволяющие выбрать:

1.Файлы, которые имеют нескольких пользователей из разных отделов.

2.Программы, которые работают только с одним

файлом.

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

4.Файлы, с которыми работают сотрудники всех

отделов.

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

6.Программы, которые работают со всеми

серверами.

7.Отделы, сотрудники которых не работают ни с одним файлом. То есть отделы, в которых нет ни одного сотрудника, работающего с каким-нибудь файлом.

8.Отделы, сотрудники которых работают со всеми

серверами.

9.Серверы, с которыми работают сотрудники только одного отдела.

84

4. ЗАДАЧИ И ЭТАПЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ. ИСПОЛЬЗОВАНИЕ НОРМАЛЬНЫХ ФОРМ ПРИ ПРОЕКТИРОВАНИИ ПРИЛОЖЕНИЙ В РЕЛЯЦИОННЫХ СУБД. ЭТАПЫ НОРМАЛИЗАЦИИ ОТНОШЕНИЙ. МЕТОДОЛОГИИ ПРОЕКТИРОВАНИЯ

4.1. Этапы проектирования баз данных

Проектирование реляционных БД на основе принципов нормализации.

Что такое проект? Это схема - эскиз некоторого устройства, который в дальнейшем будет воплощен в реальность. Что такое проект реляционной базы данных? Это набор взаимосвязанных отношений, в которых определены все атрибуты, заданы первичные ключи отношений и заданы еще некоторые дополнительные свойства отношений, которые относятся к принципам поддержки целостности. Почему именно взаимосвязанных отношений? Потому что при выполнении запросов мы производим объединение отношений, и одни и те же значения должны в разных отношенияхтаблицах обозначаться одинаково. Действительно, если мы в одной таблице оценки будем обозначать цифрами, а в другой словами «отлично», «хорошо» и т. д., то мы не сможем объединить эти таблицы по столбцу Оценка, хотя по смыслу это для нас одно и то же, но то, что интуитивно понятно человеку, совсем не понятно «умному» компьютеру. Это проблема систем с искусственным интеллектом, которые могут решать весьма сложные интеллектуальные задачи, трудные для рядового инженера, но иногда пасуют перед простейшими интуитивными ассоциациями, понятными любому школьнику. И это необходимо учитывать. Поэтому проект базы данных должен быть очень точен и выверен. Фактически проект базы данных – это фундамент будущего программного комплекса, который будет использоваться достаточно долго и многими пользователями. И как в любом здании, можно достраивать мансарды, переделывать крышу, можно даже менять окна, но

85

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

Проектирование БД

Проектирование

приложений

Эксплуатация БД

Разработка специальных средств администрирования БД

Реализация БД

Рис. 4.1. Этапы жизненного цикла БД

Процесс проектирования БД представляет собой последовательность переходов от неформального словесного описания информационной структуры предметной области к формализованному описаний объектов предметной области в терминах некоторой модели. В общем случае можно выделить следующие этапы проектирования:

86

1.Системный анализ и словесное описание информационных объектов предметной области.

2.Проектирование инфологической модели предметной области - частично формализованное описание объектов предметной области в терминах некоторой семантической модели, например, в терминах Е-модели.

3.Даталогическое или логическое проектирование БД, то есть описаниеБД в терминах принятой даталогической модели данных.

4.Физическое проектирование БД, то есть выбор эффективного размещении БД на внешних носителях для обеспечения наиболее эффективной работы приложения.

Если мы учтем, что между вторым и третьим этапами необходимо принять, решение, с использованием какой стандартной СУБД будет реализовываться наш проект, то условно, процесс проектирования БД можно представить последовательностью выполнения пяти соответствующих этапов. Рассмотрим более подробно этапы проектирования БД. (рис. 4.2).

Системный анализ предметной области

С точки зрения проектирования БД в рамках системного анализа, необходимо осуществить первый этап, то есть провести подробное словесное описание объектов предметной области и реальных связей, которые присутствуют между описываемыми объектами. Желательно, чтобы данное описание позволяло корректно определить все взаимосвязи между объектами предметной области.

В общем случае существуют два подхода к выбору состава и структуры предметной области:

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

87

выделить минимальный необходимый набор объектов предметной области, которые должны быть описаны.

Системный анализ предметной области

Инфологическое

проектирование

Выбор СУБД

Даталогическое проектирование (логическое проектирование)

Физическое проектирование

Рис. 4.2. Этапы проектирования базы данных

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

88

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

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

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

Пример описания предметной области

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

уникальный шифр;

89

название;

фамилии авторов (могут отсутствовать);

место издания (город);

издательство;

год издания;

количество страниц;

стоимость книги;

количество экземпляров книги в библиотеке. Книги могут иметь одинаковые названия, но они

различаются по своему уникальному шифру (ISBN). В библиотеке ведется картотека читателей.

На каждого читателя в картотеку заносятся следующие сведения:

фамилия, имя, отчество,

домашний адрес;

телефон (будем считать, что у нас два телефона - рабочий и домашний);

дата рождения.

Каждому читателю присваивается уникальный номер читательского билета.

Каждый читатель может одновременно держать на руках не более 5 книг. Читатель не должен одновременно держать более одного экземпляра книги одного названия.

Каждая книга в библиотеке может присутствовать в нескольких экземплярах. Каждый экземпляр имеет следующие характеристики:

уникальный инвентарный номер;

шифр книги, который совпадает с уникальным шифром из описания книг;

место размещения в библиотеке.

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

90

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]