- •Введение
- •Цели и задачи курсового проекта
- •Цель курсового проекта
- •Порядок выполнения курсового проекта
- •Исследование информационных потребностей пользователей базы данных
- •3.1. Методика анализа предметной области по варианту № 1 «От информационных потребностей пользователя к рмбд»
- •3.2. Методика анализа предметной области по варианту №2: «От документов к реляционной модели базы данных»
- •Вид использования
- •3.3. Методика анализа предметной области по варианту № 3 «От технико-экономических показателей к реляционной модели базы данных»
- •Методика анализа предметной области по варианту №4: «От текстовой информации и реляционной модели базы данных»
- •3.5 Методика анализа предметной области по варианту №5 «От видов деятельности к реляционной модели базы данных»
- •3.6. Методика анализа предметной области по варианту №6 «От физических объектов к реляционной модели базы данных»
- •Список реквизитов, хранимых в базе данных
- •4. Инфологическое проектирование базы данных
- •4.1. Построение модели «сущность-связь» на основе алгоритма т. Тиори, Дж. Фрай.
- •4.2 Построение модели “Сущность-связь” на основе интуиции.
- •5. Даталогическое проектирование базы данных.
- •5.1. Характеристика программных средств субд.
- •5.2. Анализ инфологической схемы.
- •5.3. Логическое описание базы данных в среде субд.
- •5.4. Загрузка базы данных.
- •5.5. Разработка сервиса пользователей.
- •5.6. Реализация запросов пользователей в среде субд.
- •Программная реализация запросов базы данных «Система бронирования авиабилетов» Краткое описание программных средств
- •Рекомендуемая литература.
- •Содержание.
- •Цель и задачи курсового проекта…………………………………….…3
- •Порядок выполнения курсового проекта……………………………...4
- •Исследование информационных потребностей пользователей баз данных………………………………………………………………………5
- •Инфологическое проектирование базы данных……………………..78
- •Даталогическое проектирование базы данных……………………..102
3.1. Методика анализа предметной области по варианту № 1 «От информационных потребностей пользователя к рмбд»
Исходными данными для анализа являются сведения о предметной области, которые были собраны студентами в ходе выполнения предыдущих заданий. Приступая к выполнению работы студент должен:
прочитать методические материалы по проведению анализа;
разобраться в последовательности работ по проведению анализа;
ознакомиться с содержанием совокупности таблиц или проекта структуры предметной области на содержательном уровне (см. табл. 1,2,3,4).
Студент должен придерживается следующей последовательности работ:
формулирование и идентификация запросов пользователей;
прагматический анализ каждого запроса пользователя;
алгоритмический анализ каждого запроса пользователя;
семантический анализ.
При формулировании и идентификации запросов студент должен уяснить, что понятие «запрос пользователя» вкладывается информационная потребность конкретного пользователя (начальника цеха, мастера, прораба, директора предприятия и т.д.). Запрос считается сформулированным если имеется:
перечень реквизитов-признаков, реквизитов-оснований (имя), который требует пользователь (выход);
перечень реквизитов-признаков, реквизитов-оснований, которые необходимы для получения выходных реквизитов (вход);
последовательность действий по получению всех выходных реквизитов с помощью входных.
Например:
Запрос начальник цеха .
(наименование должности конечного пользователя)
Периодичность решения: один раз в декаду.
Срок выдачи сведений: 11,21,31 каждого месяца.
Код запроса: 01.
Имя запроса: Выдать сведения о наличии материалов.
Выход: Наличие материала.
Номенклатурный номер материала |
Наименование материала |
Количество материала на складе |
Единица измерения |
|
|
|
|
Дата__________
Вход:
Номенкла-турный номер материала |
Наимено-вание материала |
Единица измерения |
Количе-ство поставки |
Код поставки |
Израсход. количество |
Код цеха |
Остаток материала |
|
|
|
|
|
|
|
|
Дата_________
Последовательность действий:
Вход |
Преобразование |
Результат |
Количество поставки за текущий период по всем поставщикам по каждому наименованию материала (№ материала) |
Ш.1 Суммирование |
Сумма поставок (А) |
Количество израсходованного материала по каждому номенклатурному номеру по каждому цеху |
Ш.2 Суммирование |
Расход (В) |
Остаток материала (С), сумма поставки, расход |
Ш.3 С+А-В |
Наличие материала на складе, номенклатурный номер, наименование материала, ед. измерения. |
Вывод.
Для формирования запросов пользователей студент может воспользоваться сведениями о конкретной задаче управления, результаты которой нужны определенному кругу пользователей. В качестве «претендента» на запрос может быть каждый выходной документ, если его реквизиты использует какой-то определенный пользователь (начальник материально-технического снабжения, начальник склада, кладовщик и т.д.), если один пользователь получает, например, три выходных документа, то будем считать, что его информационные потребности выражены в трех запросах. Этим самым студент формирует выходную структуру первоначального варианта запроса пользователя (запросов пользователей), эта структура строго фиксирована пользователем, т.е. определен перечень реквизитов и форма представления результатов. Например, был выявлен следующий перечень реквизитов и форма представления результатов начальнику сборочного цеха:
Сведения выполнения плана по цеху за месяц
Наименование цеха_____________
Код СЕ |
Наименование сборочн. единицы |
План |
Факт |
Отклонение от плана |
|
|
|
|
|
Студент начинает прагматический анализ выходного документа, т.е. выявляет элементы-реквизиты, которые нецелесообразно выдавать пользователю. Таких элементов здесь три: наименьшие цеха (каждый начальник цеха знает, каким цехом он руководит), план, факт: поскольку его интересует сам факт отклонения от плана. Кроме того, вызывает сомнение выдача одинаковых элементов, код, наименование СЕ.
При этом студент выявляет роль каждого реквизита: «код детали» — однозначно определяет имя такого объекта, как «деталь».
По поводу элементов студент принимает решение, которое должно быть обосновано. В реальной (неучебной) ситуации проектировщик уточняет список реквизитов у конкретного пользователя. Здесь же студент руководствуется идеей рационализации.
После уточнения перечня реквизитов и формы представления результатов (табличная, списковая и т.д.) студент приступает к алгоритмическому анализу. Для этого он использует:
алгоритм решения задачи управления (детальный);
реквизиты-основания.
В ходе анализа он устанавливает перечень входящих реквизитов и может воспользоваться зафиксированной структурой входных документов в качестве формы представления входных реквизитов, либо спроектировать. На этом этапе студент выделяет производные реквизиты и исходные. В нашем примере (смотри запрос начальника сборочного цеха), «отклонение от плана» — производный, он рассчитывается следующим образом:
ФАКТ - ПЛАН = ОТКЛОНЕНИЕ ОТ ПЛАНА (+,-).
Следовательно, входной документ имеет следующие реквизиты:
Код СЕ |
Наименование СЕ |
Месяц план |
Месяц факт |
|
|
|
|
Затем выделяет среди входных реквизитов условно-постоянные и переменные. В нашем случае: переменные — план, факт; условно-постоянные — код СЕ, наименование СЕ. Следовательно: прежде чем удовлетворить этот запрос начальника сборочного цеха, нужно ввести новые значения «факт», проверить, хранится ли новое значение «план» в момент удовлетворения запроса. Такой анализ проводится по всем запросам, сформированным на основе сведений о задаче управления, выявленных на этапе сбора. Такие запросы будем называть регламентированными.
При формировании перечня реквизитов, включаемых в базу, необходимо учитывать, прогнозировать расширение информационных потребностей пользователей, а также учитывать поступление запросов такого вида: каковы затраты материала с кодом 001, 003, 004 по цеху №1, №2 на 5-ое января 2002 года.
Будущие потребности пользователей можно учесть, только зная перспективные планы, прогнозы на расширение номенклатуры продукции и из других сведений. В пределах учебного процесса студент не может собрать такие сведения, но поступления таких вопросов-запросов на основе выделенного списка реквизитов он может предусмотреть и приобрести навыки формулирования и таких запросов.
Для этого студент проводит структуризацию запроса-предложения: выявляет перечень имен реквизитов-признаков и реквизитов-оснований на выходе, это будут:
наименование материала;
номер цеха;
остаток материала.
Можно представить и форму выходного документа:
Сведения о затратах и остатке материалов на 5 января 2002 года.
Код цеха |
Наименование материала |
Количество затраченного материала |
Остаток |
|
|
|
|
В реальной ситуации — проектировщик уточняет и «перечень» и «форму» у пользователя информации. Затем студент формирует входной документ: какие данные необходимы, чтобы получить выходной документ. Это будут следующие:
код цеха;
код материала;
наименование материала;
количество поставленного материала с начала года;
количество затраченного материала;
дата учета затрат.
«Остаток» материала можно рассчитать. Для таких запросов необходимо спроектировать последовательность процедур формирования выходного и входного документов. На основе своих сведений студент должен сформировать 5 вопросов-запросов (в каждом запросе — 7 реквизитов).
В результате таких процедур студент формирует:
запрос пользователя (см. выше).
перечень реквизитов (по всем запросам), которые будут храниться в централизованном фонде.
Список реквизитов, хранимых в базе.
Имя реквизита |
Код рекви-зита |
Роль реквизита |
Одно, много значений |
Алфави-тный (А), цифровой (Ц) А,Ц |
Число символов |
частота или характер изменений |
Источник входа |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
наименование изделия |
01 |
однозна-чно опре-деляет имя объекта «изделия» |
одно значение |
А |
6 |
|
|
Кол-во деталей в сутки |
02 |
|
|
|
|
Значение меняется каждый день |
|
Перечень реквизитов, не хранимых в базе данных.
Список реквизитов, не хранимых в базе данных
Код запроса |
Имя реквизита |
Формула расчета |
Руководство прикладному программисту |
1 |
2 |
3 |
4 |
|
|
|
|
Далее, студент проводит семантический анализ по списку реквизитов, хранимых в базе. Цель семантического анализа состоит в определении смысловой близости между реквизитами, т.е. в установлении связей между реквизитами. При этом студент должен понимать, что некоторые реквизиты напрямую могут быть не связаны между собой, а их связь осуществляется только при наличии существования других элементов.
В ходе выполнения анализа студент устанавливает:
Наличие связи.
Характеристики избирательности связи:
необязательная;
возможная;
условная;
обязательная.
Размерность связи (1:1, 1:M, M:N, M:1).
Наличие связи можно установить на основе следующих суждений: шифр покупателя — ФИО покупателя, «за каждым покупателем закреплен шифр».
Характеристика избирательности определяется на основе правил:
необязательная связь устанавливается, когда существование обоих реквизитов в связи не зависит от связи: наименование организации, ФИО служащего;
возможная связь появляется, если существование одной из сущностей зависит от связи: наименование изделия, изготовлено, наименование детали;
условная — специальный случай возможной связи, когда между реквизитами обнаружена связь, только при определенных условиях: ФИО рабочего, если заболеет, номер больничного листа;
обязательная связь появляется, если существование обоих элементов (реквизитов) зависит от связи: заказ — заказаны товары.
Размерность связи устанавливаем на основе взаимосвязи значений реквизитов:
-
Шифр изделия
Наименование детали
0 01 втулка
0 04 гайка
0 07 шестерня
Здесь связь 1:1.
После таких рассуждений студент формирует таблицу «Спецификация связей реквизитов».
Имя реквизита |
Имя реквизита |
Обоснование наличия связи в виде предложения |
Размерность связи |
Характеристики связи (возможная, обяз., усл., необяз.) |
|
|
|
1:3 (М) |
|
|
|
|
1:1 |
|
|
|
|
5:7 (M:N) |
|
Таким образом, структурный анализ выявляет совокупность реквизитов, показателей и связей между ними, которые являются основой построения базы данных.
Отчет по первому этапу курсового проектирования должен содержать:
Общие сведения о предметной области.
Выводы о возможности создания единого информационного фонда.
Проект структуры предметной области на содержательном уровне.
Проект структуры предметной области на содержательном уровне.
Первый возможный вариант: в виде совокупности таблиц.
Таблица 1
Список запросов пользователя.
Должность пользователя |
Наименование запроса |
Код запроса |
Частота выполнения |
Дополнительные сведения |
начальник плановоэкономи-ческого отдела |
Формирование плана поставок продукции на год |
01 |
1 раз в год |
Выдается перед началом планируемого года на основании документов: спецификации на поставку продукции и т.д |
Таблица 2
Список реквизитов, включаемых в базу данных.
Код реквизита |
Наиме-нование рекви-зита |
Значе-ние рекви-зита |
Алфави-тн., число-вой, логиче-ского типа |
Кол-во симво-лов |
Частота или характер изменения |
Роль реквизита |
Исто-чник входа |
01 |
шифр цеха |
01
02 03 04 |
число-вой — // — — // — — // — |
2
2 2 2 |
|
Однозначно определят объект «цех» |
план-эк. отдел |
Таблица 3
Спецификация связей
Код реквизита |
Наименование реквизита |
Код реквизита |
Наименование реквизита |
Обоснование наличия и типа связи |
Тип связи |
07 |
шифр изделия |
02 |
наименование детали |
в одно изделие входит множество деталей |
1:М (1:5) |
Таблица 4
Требования к обработке данных.
Код запроса |
Требование к обработке данных
|
Да/Нет |
все запросы |
интегрированное хранение данных |
Да |
01 04 |
Сбор информации от удаленных источников |
Да |
*)
В случае выбора СУБД необходимо воспользоваться параметрами в сборнике статей под ред. В.М. Савинкова «Прикладная информатика» (с. 156-164). — М.: Финансы и статистика, 1986, выпуск 2(II).