
- •Лабораторная работа №1. Проектирование инфологической и концептуальной моделей
- •Методика проектирования инфологической модели предметной области
- •Составление перечня атрибутов предметной области
- •Определение сущностей
- •Агрегация атрибутов в сущности
- •Определение первичных ключей
- •Нормализация сущностей
- •Внешнее кодирование
- •Графическое представление сущностей
- •Определение связей
- •Графическое изображение инфологической модели предметной области
- •Методика проектирования концептуальной модели предметной области
- •Основные понятия реляционной модели данных
- •Этапы проектирования концептуальной модели
- •Графическое изображение концептуальной модели предметной области
- •Приложение Пример проектирования базы данных по теме: «Автоматизация учета получения и выдачи книг в библиотеке» Системный анализ предметной области
- •Инфологическая модель предметной области Составление перечня атрибутов предметной области
- •Определение сущностей Агрегация атрибутов в сущности
- •Определение первичных ключей
- •Нормализация сущностей
- •Графическое представление сущностей
- •Определение связей
- •Определение внешних ключей
- •Реализация связей типа «многие-ко-многим»
- •Графическое изображение концептуальной модели предметной области
- •Библиография
Графическое изображение концептуальной модели предметной области
Заключительным этапом концептуального проектирования является графическое изображение базы данных (БД). Реляционная схема БД представляет собой совокупность диаграмм всех отношений, входящих в БД (в том числе и отношений-связок), и линий, изображающих связи между отношениями. Отношение изображается в виде прямоугольника, в пределах которого наносится имя отношения и перечень атрибутов с указанием их типов данных (если необходимо, размеров). Ключевые атрибуты отношения выделяются подчеркиванием. Связь изображается в виде сплошной линии со стрелкой, направленной от дочернего отношения к родительскому. Рядом с линией необходимо указать условие связи – равенство внешнего ключа дочернего отношения первичному ключу родительского отношения. Фрагмент реляционной схемы приведен на рисунке:
EXEMPLAR INV_NUMBER
int ISBN
varchar(14) NUM_READER
int
Present
bit
Date_IN
datetime DATE_OUT
datetime
BOOK
ISBN
int
TITLE
varchar(100)
AUTHORS
varchar
PLACE_PUBLISH
varchar(20)
PUBLISHER
varchar(20)
YEAR_PUBLISH
int
PAGES
int
COST
money
COPIES
int
COPIES_HAND
int
SPISANIE
boolean CATEGORY
int
BOOK.ISBN= EXEMPLAR.ISBN
Задание 2. Выбрать предметную область из следующего списка вариантов:
Вариант № 1.
База данных «Разведывательная сеть» содержит следующую информацию:
коды и псевдонимы агентов и резидентов;
даты рождения и начала разведывательной деятельности резидентов;
адреса штаб-квартир резидентов;
даты вербовки агентов;
содержания сообщений, переданных агентами.
При проектировании базы данных учесть следующее: каждый резидент может завербовать несколько агентов; одно и то же сообщение может быть передано несколькими агентами.
Требуется выполнить следующие запросы:
получить список всех агентов (коды и псевдонимы), завербованных указанным резидентом;
просмотреть все сообщения, переданные через данного резидента;
определить, каким агентом было передано данное сообщение.
Вариант №2.
База данных аэропорта должна хранить следующие сведения:
номера рейсов;
пункты назначения;
продолжительность полета;
время вылета;
дни недели, в которые выполняется тот или иной рейс;
марки самолетов;
число посадочных мест;
номер и цену проданного билета;
информацию о пассажирах: ФИО, паспортные данные.
При проектировании базы данных учесть следующее: один и тот же рейс в разные дни может выполняться разными самолетами; каждый самолет может выполнять разные рейсы.
Требуется выполнить следующие запросы:
по дате и номеру рейса определить марку выполняющего его самолета;
определить количество билетов, проданных по заданному рейсу и дате полета;
определить пункт назначения по номеру билета;
определить номера рейсов, который выполняет указанный самолет.
Вариант № 3.
База данных магазина продовольственных товаров содержит следующую информацию:
наименования товаров, их цены, единицы измерения (шт, кг и т.д.), количество на складе;
наименования отделов магазина;
наименования поставщиков товаров, их адреса;
фамилии и паспортные данные работников магазина.
При проектировании базы данных учесть следующие сведения: определенный товар продается только в одном отделе; один и тот же товар может поставляться разными поставщиками.
Требуется выполнить следующие запросы:
для заданного товара получить цену и количество на складе;
определить наименование и адрес поставщика данного товара;
по номеру отдела получить список всех продавцов;
по номеру отдела получить список наименований товаров.
Вариант № 4.
База данных предприятия по продаже и техобслуживанию автомобилей содержит следующие сведения:
табельные номера, ФИО, должности, оклады работников;
информация о продаваемых автомобилях (марка, модель, цена автомобиля, количество автомобилей определенной марки и модели, гарантийный срок);
информация об автомобилях, сданных в ремонт (марка, модель, цена ремонта);
наименования и цены запчастей;
Требуется выполнить следующие запросы:
получить сведения о количестве автомобилей, проданных данным продавцом и сумме выручки;
получить список автомобилей, отремонтированных данным мастером;
получить список наименований и цен запчастей, потребовавшихся для заданного ремонта.
Вариант № 5.
База данных научно-исследовательского института по изучению НЛО должна содержать следующие сведения:
данные о сотрудниках (ФИО, паспортные данные и должности);
виды НЛО (круглое, квадратное, треугольное, три точки и т.д.);
места и даты появления НЛО, по каждому случаю – данные об очевидцах (ФИО, адреса, телефоны);
данные о вещественных доказательствах появления НЛО (кино-, фотоматериалы);
Требуется выполнить следующие запросы:
для заданного вида НЛО определить все места и даты их появления;
для заданного района и периода времени получить фамилии и адреса очевидцев появления НЛО;
для заданного вида НЛО определить даты их появления и сведения о вещественных доказательствах;
определить все случаи появления НЛО, по которым работает заданный сотрудник НИИ.
Вариант №6.
База данных нормативных документов по льготам содержит следующую информацию:
наименование законодательного документа;
дата начала и конца действия нормативного документа;
категории граждан, группа инвалидности (в случае инвалидности), место боевых действий (в случае участия в боевых действиях);
вид и размер льготы;
в случае жилищно-коммунальной услуги - наименование, процент льготы, дата начала и конца действия льготы;
источник финансирования (бюджет РФ и так далее);
Требуется выполнить следующие запросы:
каков нормативный документ, в котором описываются указанные пользователем льготы для указанной категории граждан;
выбрать все категории граждан и льготы, указанные в заданном нормативном документе и подсчитать их;
выбрать все льготы, указанные в заданном нормативном документе, для заданной категории граждан, которые действовали в указанный период времени;
определить перечень категорий граждан, для которых действуют максимальные жилищно-коммунальные льготы;
Вариант №7.
База данных коммунальных платежей содержит следующую информацию:
Лицевой счет (номер);
ФИО квартиросъемщика;
ФИО членов семьи и льготные категории, дата начала и конца прописки;
Адрес;
Перечень коммунальных услуг и соответствующих поставщиков;
По каждой услуге есть тариф, расход, начисление, размер льготы для каждого месяца;
Требуется выполнить следующие запросы:
определить по номеру лицевого счета состав членов семьи, проживающих с (указанной) даты;
вычислить величину начислений за коммунальные услуги за первое полугодие текущего года;
вычислить величину льгот за второе полугодие, рассчитанную для заданной категории граждан;
определить ФИО граждан, имеющих заданную категорию и живущих на заданной улице.
Вариант № 8.
База данных социальной защиты содержит следующую информацию:
ФИО членов семьи, занятость, социальный номер;
Льготные категории, документ, подтверждающий льготу, дата начала и конца действия документа;
Адрес, жилищные условия;
Место работы;
Лицевой счет в банке для перечисления начисленных сумм;
Перечень социальных услуг, оказанных гражданину, наименование организации – исполнителя, суммы социальной помощи, дата заявления о помощи, дата исполнения;
Требуется выполнить следующие запросы:
определить ФИО граждан, имеющих заданную категорию и работающих на заданном предприятии;
определить гражданина и перечисленные ему суммы по номеру лицевого счета в банке за указанный квартал;
определить для заданного гражданина перечень социальных услуг, оказанных позднее конкретной даты;
выявить наименования организаций – исполнителей, оказавших социальную помощь более конкретного числа.
Вариант № 9
База данных больничной кассы содержит следующую информацию:
ФИО членов семьи, занятость, страховой полис;
Льготные категории, документ, подтверждающий льготу, дата начала и конца действия документа;
Адрес, номер поликлиники, к которой прикреплен гражданин;
Место работы;
Наименование льготных медикаментов, сумм, даты получения;
Требуется выполнить следующие запросы:
Определить ФИО граждан, имеющих заданную категорию и прикрепленных к конкретной поликлинике.
Определить ФИО граждан и начисленные им льготные суммы за указанный квартал.
Определить для заданного гражданина перечень льготных медикаментов, полученных позднее конкретной даты, а также величины льготных сумм.
Выявить наименования поликлиник, прикрепленные граждане которых получили все вместе максимальную льготу.
Задание №10
База данных гостиницы содержит следующую информацию:
о номерах гостиницы, количестве мест в нем, цене за место;
о гостях: ФИО гостя, паспортные данные, в каком номере проживает, дата въезда и выезда.
Требуется выполнить следующие запросы:
получить список гостей (паспортные данные и фамилии), проживающих в указанном номере;
получить список гостей, отъезжающих сегодня;
для заданного гостя вычислить стоимость проживания;
для заданного номера получить список свободных мест на указанную дату.
Задание №11
База данных магазина бытовой техники содержит следующую информацию:
об отделах магазина (их номера и наименования);
о консультантах: ФИО и паспортные данные консультантов;
о продаваемой технике: наименование, фирма-производитель, год выпуска, модель, цена;
данные о продажах техники консультантами (количество и дата продажи).
База данных должна позволять выполнять следующие запросы:
получить список продаж на указанную дату с указанием фамилий консультантов и наименований отделов;
для заданного консультанта получить список проданных им товаров (наименование, фирма и модель);
для каждого консультанта получить объем продаж на указанную дату;
получить самый «ходовой» товар (наименование, фирма и модель) за указанный период.
Задание №12
База данных ресторана содержит следующую информацию:
об официантах (ФИО и паспортные данные официантов);
заказах (номер, состав и количество блюд в нем, дата и время заказа),
меню ресторана на каждый день (наименования блюд, выход (в граммах) для каждого блюда; цена блюда).
При проектировании базы данных учесть следующее: с одного столика одновременно может быть получено несколько заказов; каждый заказ имеет номер, состоит из нескольких наименований блюд, каждое блюдо в одном заказе может быть заказано в разном количестве.
База данных должна позволять выполнять следующие запросы:
для каждого заказа вычислить стоимость;
для заданного номера столика получить фамилию официанта;
получить наименование самого популярного блюда.
Задание №13
База данных маршрутного такси хранит следующую информацию: о водителях и кондукторах, маршрутах и расписании автобусов. Каждый маршрут имеет номер, имеет начальную, конечную и несколько промежуточных остановок. Маршрут также характеризуется длительностью (в мин), расстоянием (в км). Для каждой маршрутки указывается номер гос регистрации, номер маршрута, количество рейсов в день. Рейс – проезд от начальной остановки до конечной и обратно. Каждый водитель и кондуктор работают в паре на одной и той же машине по одному и тому же маршруту. Для них необходимо хранить ФИО и паспортные данные.
База данных должна позволять выполнять следующие запросы:
для каждой маршрутки определять ФИО и паспортные данные водителя и кондуктора;
для заданного маршрута получить список наименований остановок;
для заданной остановки определить номера маршрутов;
для заданного маршрута вычислить средний интервал движения за указанный период времени.
Для выбранной предметной области спроектировать в соответствии с изложенными методиками инфологическую и концептуальную модели.
Задание 3. Написать отчет о выполненной лабораторной работе в следующей форме:
Отчет студента (ФИО, № группы):________________________________
Лабораторная работа №1. Проектирование инфологической и концептуальной моделей.
Далее приводятся результаты проектирования в виде перечисленных в методиках таблиц и графического изображения полученных моделей.