Лабораторная работа №2
Отчётность:
- Логическое проектирование базы данных. Сдаётся в ПЕЧАТНОМ ВИДЕ!!!
- Схема базы данных, связи таблиц
- Структура таблиц (имена полей, типы данных и т.п.)
- Формы
- Запросы
- Отчёты, графики
- Создание таблиц, связей, форм
- Построение запросов
- Создание отчётов
Темы лабораторной работы:
1. Т е л е ф о н н ы й с п р а в о ч н и к
Телефонный справочник – информационная система (и база данных), содержащая информацию об абонентах телефонной сети. Телефонный справочник может быть использован как в сфере работы предприятий, предоставляющих услуги телефонной связи, так и в других целях. Например, его можно использовать в работе справочной службы, когда любой человек по фамилии или по номеру телефона абонента может узнать его адрес (если информация об этом абоненте имеется в системе).
В телефонном справочнике хранится следующая информация об абоненте: номер телефона, фамилия, имя, отчество, адрес (улица, номер дома, номер квартиры), номер почтового отделения.
Создаваемая система должна автоматизировать процесс ведения телефонного справочника: ввод новых и редактирование уже имеющихся записей об абонентах (обновление и удаление данных). Система также должна обеспечивать поиск по различным критериям, даже в том случае, если часть символов в полях, входящих в условия поиска, неизвестна (в этом случае допустимо использование символов: “*” – вместо нескольких неизвестных символов и “?” – вместо одного неизвестного символа). Конечно, в этом случае результат поиска может быть неоднозначным.
Рекомендация: в целях исключения дублирования информации при хранении адреса рекомендуется выделить в отдельную таблицу список улиц (понятие улицы включает и другие указатели адреса: переулок, тупик, проспект, площадь и другие возможные).
2. С п е ц и а л и з и р о в а н н а я б и б л и о т е к а
Рассмотрим специализированную библиотеку, которая располагает книжным фондом определенной тематической направленности. Предполагается, что каждая книга фонда может быть как в одном экземпляре, так и в нескольких. Поэтому каждой книге соответствует уникальный инвентарный номер и библиотечный код. Данные о книге содержатся в библиографической карточке, карточки объединяются в каталоги. Существует два вида каталогов: алфавитный и тематический; в алфавитном каталоге карточки отсортированы по фамилии автора, а в тематическом – сначала по темам, а в пределах каждой темы – по фамилии автора.
Библиотека выдает книги читателям во временное пользование. При записи в библиотеку каждому читателю присваивается порядковый номер, ему выдается читательский билет и для него заводится учетная карточка. Учетная карточка кроме данных о читателе в дальнейшем будет содержать информацию о выданных и возвращенных книгах.
Данные, характеризующие работу библиотеки с книгами и читателями, можно сгруппировать следующим образом:
– книжный фонд (инвентарный номер книги, библиотечный код книги, отметка о выдаче/возвращении );
– каталог (библиотечный код книги, автор, название, издательство, год издания, количество страниц, тема, цена)
– читатели (номер читательского билета, фамилия, имя, отчество, домашний адрес, домашний телефон, рабочий телефон);
– выдача книг (инвентарный номер книги, номер читательского билета, дата выдачи, запланированная дата возврата).
Создаваемая база данных предназначена, прежде всего, для ведения данных: о книгах (регистрация новых поступлений, списание литературы), о читателях (регистрация новых читателей, удаление информации о выбывших читателях), а также о перемещении книг между библиотекой и читателями, что должно найти отражение в таблицах книжный фонд и выдача книг. Кроме того, в системе должны быть реализованы возможности просмотра и поиска как среди книг, так и среди читателей.
3. И з д а т е л ь с т в о
Издательство – предприятие, занимающееся выпуском разнообразной печатной продукции. Издательство заключает договор с заказчиком (клиентом) на выполнение заказа. Заказчиком может выступать частное лицо или организация. Частное лицо может быть автором издания (или одним из авторов, если их несколько) или представителем автора. Организация для контактов с издательством также имеет своего представителя – контактную персону.
Заказ может быть книгой, брошюрой, рекламным проспектом, буклетом, бюллетенем для голосования или каким-либо другим видом издательской продукции. Подготовленные издательством материалы заказчика печатаются в типографиях, где издательство размещает свои заказы.
Информацию о работе издательства можно сгруппировать следующим
образом:
– сведения о заказчиках (частное лицо или организация, личные данные контактной персоны, адрес, телефон, факс);
– сведения о заказах (номер заказа, заказчик, вид печатной продукции, издание, типография, дата приема заказа, отметка о выполнении, дата выполнения заказа);
– сведения об изданиях (код издания, автор и название, объем в печатных листах, тираж, номер заказа);
– сведения об авторах (личные данные: Ф.И.О., домашний адрес, телефон; дополнительные сведения);
– сведения о типографиях (название, адрес, телефон).
4. Х о з р а с ч е т н а я п о л и к л и н и к а
Рассмотрим хозрасчетную поликлинику, например, стоматологическую. Поликлиника ведет прием и учет пациентов, учет их посещений (визитов) и учет обслуживания пациентов специалистами (врачами) поликлиники. Существует необходимость в хранении информации обо всех посещениях поликлиники пациентами и о том, на приеме у каких специалистов они находились.
Хранимую информацию о деятельности хозрасчетной поликлиники и ее пациентах можно сгруппировать так:
– пациент (номер истории болезни, Ф.И.О. пациента, домашний адрес пациента, телефон);
– специалист (личный номер специалиста, Ф.И.О. специалиста, специальность, домашний адрес, телефон);
– визиты (пациент, специалист, визит первый или повторный, дата визита, анамнез, диагноз, лечение, стоимость лекарств, стоимость услуг).
Необходимо обеспечить ввод, хранение и, возможно, редактирование данных. В определенных случаях необходимо выполнять удаление данных.
Например, можно удалить информацию обо всех визитах некоторого пациента, если после его последнего визита прошел определенный срок (например, 3 года), а данные о самом пациенте перенести в архив (или также удалить).
Необходимо предусмотреть поиск сведений о пациентах как по фамилии, так и по номеру истории болезни. Так как поликлиника хозрасчетная, то за каждое посещение пациенту выписывается счет, который он должен оплатить.
Кроме задач, перечисленных выше, могут быть также решены и другие задачи, например:
– подсчет выручки каждого специалиста за определенный период (день, месяц);
– подсчет выручки поликлиники в целом за определенный период (день, месяц);
– подсчет оплаченной суммы за лекарства за определенный период (день, месяц).
Также могут решаться задачи статистической обработки данных. Например, подсчет количества посещений поликлиники за месяц в целом и по каждой группе специалистов. А затем на основании этих данных можно построить графики посещений поликлиники по месяцам.
5. А т е л ь е м о д
Ателье мод выполняет заказы клиентов на индивидуальный пошив одежды. В ателье существует каталог моделей и каталог тканей. По каталогу моделей клиент выбирает модель, а по каталогу тканей – ткань, из которой будет выполнена модель, и заказывает ее пошив в ателье.
Заказ каждого клиента содержит: Ф.И.О. клиента, информацию о модели (ее номер из каталога моделей), информацию о ткани (номер из каталога тканей), Ф.И.О. закройщика (исполнителя заказа), дату приема заказа, дату примерки, отметку о выполнении заказа, дату выполнения заказа.
В каталоге моделей каждая модель имеет уникальный номер, для каждой модели указывается рекомендуемая ткань, необходимый расход ткани для данной модели с учетом ширины ткани, цена готовой модели, включающая цену ткани и стоимость пошива изделия.
В каталоге тканей каждая ткань имеет уникальный номер, название, а также указываются ее ширина и цена за 1 метр.
В ателье может быть еще и склад тканей. В книге учета тканей на складе для каждой ткани указывается общий метраж, который изменяется, если принимается заказ на изготовление модели из данной ткани.
6. О п т о в ы й с к л а д
Склад осуществляет продажу товаров оптом. Любая фирма, занимающаяся продажей товаров в розницу, закупает необходимые ей товары на складе, который служит посредником между производителями и продавцами.
На склад товар поступает от некоторой фирмы-поставщика, в свою очередь склад продает товар фирме-покупателю, заключая с ним сделку о продаже товара.
Деятельность оптового склада характеризуется следующей информацией, которую можно объединить в группы следующим образом:
– поставщики (код поставщика, название фирмы-поставщика, адрес, телефон);
– покупатели (код покупателя, название фирмы-покупателя, адрес, телефон);
– товар на складе (код товара, поставщик, название товара, единицы измерения, количество, цена покупки за единицу товара, цена продажи за единицу товара);
– сделки о продаже (код товара, поставщик, покупатель, количество проданного товара).
На основании описанных данных необходимо вести учет поставщиков, покупателей, продаж, движения товара на складе. Кроме того, можно делать выводы о работе склада, спросе на определенные товары, выгодности работы с некоторыми поставщиками и покупателями.
7. Т о р г о в о - з а к у п о ч н о е п р е д п р и я т и е
Торгово-закупочное предприятие имеет склад, содержащий определенные виды товаров, например, продовольственные товары. Предприятие имеет штат сотрудников, являющихся агентами-реализаторами. Предприятие выдает агенту товар, устанавливая цену его продажи. Агент-реализатор оплачивает выданный товар не сразу, а по мере его реализации, оформляя приходные кассовые ордера. С каждой единицы проданного товара агент получает оплату, установленную предприятием.
Данные, характеризующие торгово-закупочное предприятие, могут быть сгруппированы следующим образом:
– агенты-реализаторы (код агента, Ф.И.О. агента, адрес, телефон);
– товары (код товара, название товара, отпускная цена);
– товары на складе (код товара, количество);
– товары у агента (код агента, код товара, количество);
– приходный ордер (код агента, код товара, количество единиц реализованного товара, общая стоимость реализованного товара).
Необходимо вести учет движения товаров как на складе, так и у агентов-реализаторов. Кроме того, предприятие проводит операции: по новым поступлениям товара, по выдаче товара агенту, по расчету с агентом за реализованный товар.
8. А в т о с а л о н
Существует некоторая фирма, торгующая автомобилями. Автомобиль выступает в качестве товара и как товар имеет определенные характеристики.
Кроме того, на каждый автомобиль имеются исчерпывающие технические данные. Фирма имеет своих клиентов – покупателей автомобилей, сведения о которых хранит в течение определенного времени.
Деятельность фирмы может быть описана данными, сгруппированными следующим образом:
– товар (код товара, страна-изготовитель, марка автомобиля, модель, наличие на складе (да, нет, когда будет), цена);
– технические данные (код товара, тип кузова, количество дверей, количество мест, тип двигателя, расположение двигателя, рабочий объем двигателя);
– клиенты (код товара, ФИО клиента, паспортные данные (серия, номер), домашний адрес, телефон, доставка (да, нет), вид оплаты (перечисление или наличные: кредит или сразу)).
Необходимо обеспечить ввод, редактирование и просмотр данных в удобной для пользователя форме.
Предполагается также решение следующих задач:
– выдать информацию о наличии автомобилей определенной марки и модели;
– выдать технические данные заданной модели;
– выдать информацию обо всех проданных моделях некоторой марки, значение которой вводится в качестве параметра;
– посчитать сумму продаж моделей каждой марки и общую сумму продаж;
– выдать полную или частичную информацию о клиентах фирмы;
– выдать списки клиентов и автомобилей по виду оплаты.
Возможны постановка и решение других задач.
9. П р о д а ж а п о д е р ж а н н ы х а в т о м о б и л е й
Фирма по продаже подержанных автомобилей работает с физическими лицами – клиентами фирмы, имеющими подержанный автомобиль или автомобили и желающими продать их через фирму. Непосредственной продажей автомобилей занимаются сотрудники фирмы – дилеры. На каждый предлагаемый в продажу автомобиль фирма заключает с клиентом договор, содержащий данные о клиенте, необходимые сведения об автомобиле, а также данные о дилере, обслуживающем этот договор.
Данные, характеризующие деятельность фирмы, могут быть сгруппированы следующим образом:
– клиенты (код клиента, фамилия, имя, отчество, город, адрес, контактный телефон);
– дилеры (код дилера, фамилия, имя, отчество, фотография, домашний адрес, телефон);
– договоры (код договора, код клиента, код дилера, дата заключения договора, марка автомобиля, фото автомобиля, дата выпуска, пробег, дата продажи, цена продажи, размер комиссионных, примечание).
В создаваемой базе данных необходимо обеспечить ввод и редактирование данных. Кроме того, необходимо выдавать информацию о клиентах и предлагаемых ими автомобилях, а также информацию о деятельности дилеров (с перечислением договоров) и клиентах, которые они обслуживают. Могут быть выполнены разнообразные запросы, например:
– посчитать количество договоров, заключенных с каждым клиентом;
– посчитать количество договоров, обслуживаемых каждым дилером;
– выдать некоторую информацию (например: данные дилера, дата заключения договора, данные клиента, отметка о продаже) обо всех договорах, договорах за некоторый промежуток времени или договорах, удовлетворяющих определенному условию.
10.А с с о ц и а ц и я к р е с т ь я н с к и х ф е р м е р с к и х
х о з я й с т в
Предполагается, что существует некая региональная организация, назовем ее условно ассоциацией, которая является организационным объединением крестьянских фермерских хозяйств (КФХ). Ассоциация ведет учет зарегистрированных фермерских хозяйств, собирает информацию о видах их деятельности, а также о предлагаемой хозяйствами продукции и ее цене, ведет статистический учет. Вид деятельности хозяйства определяет его специализацию, например: овощеводство, животноводство, виноградарство и другие. В каждой специализации имеются виды производимых товаров.
Ассоциация располагает следующей информацией о хозяйствах:
– хозяйство (код КФХ, название хозяйства, специализация, личные данные фермера, регион, адрес, телефон);
– продукция (код КФХ, произведенный товар, единицы измерения, цена за единицу товара, предлагаемое количество).
Необходимо обеспечить ввод и обновление данных, возможности анализа товаров и цен. Необходимо также предусмотреть возможность получение информации о деятельности конкретных хозяйств: их продукции и ценах, а также получение информации о конкретных видах товаров: их производителях и ценах.
11. П а с с а ж и р с к о е а в т о п р е д п р и я т и е
Муниципальное автопредприятие осуществляет пассажирские перевозки на внутригородских маршрутах.
Автопредприятие имеет парк автобусов, которые работают на определенных маршрутах. Работу автопредприятия обеспечивает персонал предприятия, который можно разделить по категориям занимаемых должностей на администрацию, инженерно-технический персонал и персонал, обслуживающий маршруты (водители, кондукторы). Выезжая на маршрут, водитель автобуса получает маршрутный лист (или путевой лист), содержащий данные об автобусе, маршруте, режиме работы, водителе, кондукторе.
Автопредприятие описывается данными, которые могут быть сгруппированы следующим образом:
– автобусы (бортовой номер автобуса, гос.номер автобуса, марка, год выпуска, пробег);
– маршруты (номер маршрута, маршрут, протяженность маршрута в км, среднее время одного рейса, плановое количество рейсов за смену);
– личные данные персонала (табельный номер, Ф.И.О. сотрудника, дата рождения, домашний адрес, домашний телефон, рабочий телефон);
– учетные данные персонала ( табельный номер, категория, должность, дата приема на работу, номер автобуса ( для водителей и кондукторов));
– маршрутные листы (номер маршрута, бортовой номер автобуса, дата, количество выполненных рейсов, водитель, кондуктор).
Возможно, что в реальном автопредприятии учитывается большее количество данных, однако исполнителю задания можно ограничиться перечисленными. При желании в учетных данных персонала можно ввести данные для оплаты труда, если предполагается автоматизация начисления зарплаты. В маршрутных листах можно ввести плановую и фактическую выручки за смену соответственно.
Создаваемая база данных, прежде всего, должна обеспечивать ввод и редактирование данных в удобной для пользователя форме. Кроме того, можно сформулировать разнообразные запросы как по кадровому составу предприятия, так и по характеристике и техническому обеспечению маршрутов. Например,
– выдать полную или частичную информацию по персоналу;
– выдать полную или частичную информацию по автобусному парку;
– выдать полную или частичную информацию по маршрутам.
В частности, запросы могут быть такими:
– выдать список сотрудников администрации с указанием должности;
– на определенную дату для всех номеров маршрутов выдать информацию о количестве автобусов, обслуживающих каждый маршрут;
– по каждому номеру маршрута и дате (параметры запроса) выдать информацию об автобусах, обслуживающих маршрут: бортовой номер, марка, гос.номер автобуса.
Могут решаться и другие задачи. Например, по итогам работы за месяц посчитать количество рейсов, выполненных каждым автобусом или на каждом маршруте. По итогам работы за месяц посчитать количество смен, отработанных каждым водителем и кондуктором.
12. М е ж д у г о р о д н ы е п а с с а ж и р с к и е п е р е в о з к и
Рассмотрим автовокзал, который занимается обслуживанием и учетом пассажиров на междугородных автобусных маршрутах. На автовокзале имеется расписание движения автобусов, содержащее информацию о маршрутах и рейсах. Кроме того, на автовокзале имеется справочное бюро, в котором можно получить информацию о наличии мест на определенный рейс конкретной даты. И, наконец, на автовокзале есть кассы, в которых пассажир может приобрести билет. Кассы начинают предварительную продажу билетов за определенный промежуток времени до дня отправления автобуса (например, за 10 дней).
Необходимо построить такую базу данных, в которой хранится информация как о технических характеристиках маршрутов, содержащаяся в расписании, так и информация о наличии мест на рейсы, и информация о пассажирах, купивших билеты на определенный рейс.
Ниже предлагается вариант организации информации о рейсах и пассажирах (однако исполнитель задания может предложить собственный вариант организации данных).
Администратор базы данных к началу продажи билетов на рейс, т.е., например, за 10 дней до дня отправления, создает таблицу, соответствующую рейсу и дате отправления. Назовем эту таблицу схемой рейса, в момент создания схема рейса содержит только номера мест, а в процессе продажи билетов схема будет заполняться информацией о пассажире, которому продан билет на соответствующее место. Причем, в схеме может находиться собственно информация о пассажире (фамилия, имя, отчество) или ссылка на нее.
После того как рейс выполнен, таблица со схемой рейса удаляется, но перед этим список пассажиров этого рейса можно отправить в архив, который хранится в течение определенного срока, а информацию о рейсе – в таблицу выполненных рейсов. Если по какой-либо причине рейс отменяется, то информация об этом помещается в таблицу отмененных рейсов.
При описанной организации данные можно сгруппировать следующим образом:
– расписание рейсов (номер рейса, маршрут, тип автобуса, расстояние в км, дни отправления, время отправления, время прибытия, цена билета);
– схема рейса (номер места, информация о пассажире: фамилия, имя, отчество);
– адреса схем рейсов (номер рейса, дата отправления, ссылка на схему рейса);
– архив пассажиров (номер рейса, дата отправления, номер места, фамилия, имя, отчество);
– выполненные рейсы (номер рейса, дата отправления, количество проданных мест, полученная сумма);
– отмененные рейсы (номер рейса, дата, причина отмены рейса).
В создаваемой системе, прежде всего, необходимо обеспечить ведение данных: организацию таблиц для схем рейсов и ссылок на них, ввод и редактирование данных в таблицах, архивирование данных, удаление таблиц.
Кроме того, в рассматриваемой задаче представляют интерес запросы.
Например, следующие:
– наличие свободных мест на рейс;
– количество пассажиров уже выполненного рейса, доходность рейса;
– список всех пассажиров определенного рейса (выполненного или того, на который идет продажа билетов);
– определить, покупал ли билет человек с заданной фамилией и, если покупал, то на какой рейс.
Количественные данные рассматриваемой задачи позволяют также вести их статистический учет, можно для наглядности использовать графическое представление данных. Например, определять количество перевезенных пассажиров и объем перевозок (в денежном выражении) по дням, по месяцам в целом по всем направлениям или по определенному маршруту.
13. А г е н т с т в о п о п р о д а ж е а в и а б и л е т о в
Агентство занимается продажей авиабилетов на различные рейсы, ведет учет проданных билетов и учет пассажиров, купивших билеты.
Поэтому возникает потребность в хранении и обработке данных, сгруппированных следующим образом:
– информация о расписании рейсов (номер рейса, тип самолета, пункт отправления, пункт назначения, дата вылета, время вылета, время полета, цена билета);
– информация о свободных местах на рейс (номер рейса, дата вылета, общее количество мест, количество свободных мест);
– информация о пассажирах, заказавших билет (фамилия, имя, отчество, предъявленный документ, его серия и номер, номер рейса, дата вылета).
Особенность данной задачи состоит в том, что информация в базе данных может использоваться как пассажирами (например, для получения сведений о расписании и наличии свободных мест на рейс), так и служащими агентства: кассирами и диспетчерами (администраторами). Т.е. выделяются три группы пользователей базы данных: пассажир, кассир, диспетчер. В связи с этим возникает проблема разграничения прав доступа этих пользователей к информации базы данных для защиты ее от несанкционированного использования.
Другая особенность рассматриваемой задачи: удаление в архив информации о выполненном рейсе (см. п. 12.) и ввод данных о рейсе с таким же номером на очередную дату, отстоящую от даты удаленного в архив рейса на определенный промежуток, например, на 30 дней вперед.
14. Г о с т и н и ц а
Рассмотрим возможную модель организации размещения и учета проживающих в некоторой гостинице граждан (клиентов).
Предполагаемая гостиница располагает номерами с разным уровнем сервиса, комфортности и, соответственно, оплаты. Одной из характеристик номера является его тип. Предположим, что существуют следующие типы номеров: люкс – многокомнатный номер с высоким уровнем сервиса, комфортности и обслуживания; полулюкс – номер меньшей, чем люкс, площади, но с достаточным уровнем сервиса и комфортности; одноместный или двухместный номер с минимальным уровнем сервиса; многоместный номер, также с некоторым уровнем сервиса. Стоимость для номеров типа люкс и полулюкс устанавливается как стоимость всего номера (в сутки), независимо от количества проживающих в номере. Стоимость проживания в одно-, двух- и многоместных номерах устанавливается для одного человека (в сутки). Номера и места в номерах могут бронироваться. При наличии телефона в номере пользование междугородным телефоном оплачивается отдельно по фактическим счетам.
Все прибывающие и размещаемые в гостинице граждане при вселении должны заполнить карточку регистрации. Кроме того, для расчетов с клиентами администрация гостиницы заводит расчетные карточки, которые содержат данные о размещении клиента, оказанных услугах и всех расчетах с ним. Для номеров типа люкс и полулюкс расчетная карточка может заводиться только для одного клиента, оплачивающего номер.
Любой номер гостиницы имеет номер, по которому ведется учет проживающих в гостинице. Это свойство номера в последующих описаниях будем называть номером комнаты (независимо от фактического количества комнат в номере).
При выбытии клиента данные о нем сохраняются в архиве.
Можно предположить использование следующих свойств (данных) о номерах гостиницы и ее клиентах, которые можно сгруппировать описанным ниже способом:
– сведения о номерах типа люкс и полулюкс (номер комнаты, тип номера, занят/свободен, количество комнат, этаж, телефон, стоимость номера в сутки, сведения о бронировании, количество фактически проживаюших);
– сведения о прочих номерах (номер комнаты, тип номера, количество мест, этаж, телефон, стоимость проживания одного человека в сутки, количество свободных мест);
– карточки регистрации (номер регистрации клиента, номер комнаты, дата прибытия, фамилия, имя, отчество, предъявленный документ, серия и номер документа, дата рождения, пол, домашний адрес, домашний телефон);
– расчетные карточки (номер регистрации клиента, номер комнаты, дата и время прибытия, оплата брони, предполагаемая дата убытия, количество оплаченных дней, сумма оплаты, окончательный расчет);
– архив (номер регистрации клиента, фамилия, имя, отчество, документ, серия и номер, дата рождения, пол, домашний адрес, домашний телефон, номер комнаты, дата прибытия, дата убытия).
По усмотрению исполнителя можно расширить или, наоборот, уменьшить количество свойств (данных) рассматриваемой задачи.
Создаваемая база даных предназначена для администрации гостиницы, которая на основании информации о номерах занимается размещением клиентов в соответствии с их запросами. При выбытии клиента информация о номере, в котором он проживал, должна обновляться, а информация о клиенте должна удаляться из рабочих таблиц (карточки регистрации клиентов и карточки учета) и помещаться в архивную таблицу.
Кроме перечисленных задач ведения данных, в системе могут решаться задачи поиска, например, поиск номера или места в номере в соответствии с некоторыми критериями поиска. Другая задача поиска – это поиск клиента, проживающего в гостинице в данный момент или проживавшего в ней ранее. Кроме того, в рассматриваемой задаче можно организовать статистическую обработку данных; например, учет количества проживающих в гостинице по определенным периодам. |
|
 |