НА ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ

ЗАДАНИЕ

Целями являются:

приобретение практических навыков анализа и моделирования предметной области;

ознакомление с работой специализированных CASE-средств

проектирование баз данных с применением СУБД Access.

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

Работа должна содержать постановку задачи для её решения в информационной системе. Постановка задачи состоит из следующих разделов:

1. Организационно-экономическая сущность задачи.

2. Описание входной информации.

3. Описание результатной информации.

4. Описание условно-постоянной информации.

5. Описание алгоритма решения задачи.

6. Инструкция к решению задачи.

7. Контрольный пример.

Анализ и моделирования предметной области (бизнес-процесса) в рамках различных нотаций функционально-ориентированного подхода (используя программу BPWin) и ER-диаграмм (используя программу ERWin), как приложение должна быть разработана UML-диаграмма прецедентов использования.

В работе студент должен построить инфологическую модель (выбирая наилучшую из нескольких вариантов), отобразить её реляционную модель и реализовать с использованием MS Access.

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

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

 

 


ОРИЕНТИРОВОЧНОЕ СОДЕРЖАНИЕ РАБОТ

РАСЧЁТНОГО ПРАКТИКУМА

Содержание работы:

Анализ и моделирование предметной области с помощью специализированных CASE-средств.

Анализ текстового описания предметной области (бизнес-процесса).

Выделение основных абстракций в предметной области и определение их параметров.

Построение инфологической модели.

Построение реляционной модели.

Состав:

1. Проанализировать данные, описанные в предметной области (варианты предметных областей прилагаются).

2. Выделить основные абстракции.

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

4. Выяснить, как абстракции связаны друг с другом.

5. Рассмотреть различные варианты построения инфологической модели. Выбрать наилучший. Обосновать выбор.

6. Провести моделирование в рамках реляционной модели.

 

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

Содержание работы:

Анализ описания предметной области.

Выбор структур таблиц и обоснование данного выбора.

Наложение условий целостности.

Определение ключей. Внешний ключ.

Определение полей. Ограничения, налагаемые на поля.

Наложение условий целостности.

Работа с неопределенными значениями (Null).

Ввод данных.

Состав:

1. Проанализировать данные, описанные в предметной области (варианты предметных областей прилагаются). При помощи среды MS Access создать таблицы для представления предметной области в рамках реляционной модели.

2. Для каждой создаваемой таблицы:

2.1.Определить условия на значения и сообщения об ошибках некоторых полей.

2.2.Определить начальное значение для некоторых полей.

2.3.Определить ключ.

2.4.Определить внешний ключ (если он есть).

2.5.Определить (если это возможно) значения некоторых полей с помощью мастера подстановок.

2.6.Определить обязательные поля.

2.7.Ввести данные в таблицы. При вводе выяснить, что дает наложение условий на значения полей.

3. Определить схему базы данных, связи между таблицами и наложить условия целостности на таблицы, связанные отношением «один-к-многим».

 

Выборка данных из таблиц. Добавление, удаление, редактирование информации.

Содержание:

1.1. Создать простой запрос на выборку из одной таблицы. Включить несколько полей таблицы.

1.2. Включить в запрос все поля с помощью знака «*».

1.3. Создать запрос на выборку данных из двух связанных таблиц.

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

1.5. Определить условия отбора («И» и «ИЛИ»). Создать не менее двух запросов.

 

Разработка интерфейса пользователя. Создание форм.

Содержание работы:

Создание форм для ввода, редактирования и удаления записей.

Создание форм для навигации по базе данных и выполнения запросов.

Состав:

1. Создать формы для ввода каждой из таблиц-справочников.

2. Создать сложную форму для таблиц, связанных отношением «один к многим».

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

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

5. Создать макрос для автоматической загрузки кнопочной формы при открытии базы данных.

Работы с СУБД.

Содержание работы:

Расширение предметной области.

Анализ описания расширенной предметной области.

Выбор структур таблиц и обоснование данного выбора.

Наложение условий целостности.

Определение ключей. Внешний ключ.

Определение полей. Ограничения, налагаемые на поля.

Наложение условий целостности.

Работа с неопределенными значениями (Null).

Ввод данных.

Использование CASE-средств для создания базы данных по ее описанию.

Изучение скриптов для создания базы данных для СУБД Oracle (или другой доступной серверной СУБД).

Состав:

1. Проанализировать данные, описанные в расширенной предметной области. Определить необходимость создания таблиц для представления предметной области в рамках реляционной модели.

2. Для каждой таблицы:

2.1.Определить условия на значения и сообщения об ошибках некоторых полей.

2.2.Определить начальное значение для некоторых полей.

2.3.Определить ключ.

2.4.Определить внешний ключ (если он есть).

2.5.Определить обязательные поля.

2.6.Определить схему базы данных, связи между таблицами и условия целостности на таблицы, связанные отношением «один к многим».

3. Используя CASE-средство, создать формализованное описание предметной области (диаграмма «сущность - связь») и сгенерировать базу данных в формате одной из СУБД.

4. Ввести данные в таблицы. При вводе выяснить, что дает наложение условий на значения полей.

5. Проанализировать скрипты для создания базы данных в СУБД Access.

Внесения необходимых изменений в программный код после изменения модели предметной области.

Содержание работы:

Модификация ранее созданных запросов с учетом изменений предметной области.

Модификация существующего интерфейса.

Состав:

1. Пояснить связь изменения постановки задачи с необходимостью модификации запросов и интерфейса.

2. Адаптировать имеющиеся запросы к расширенной предметной области.

3. Реализовать новые запросы, необходимость которых вызвана расширением предметной области.

4. Добавить новые интерфейсные формы, изменить существующие.


ИСХОДНЫЕ ДАННЫЕ ДЛЯ ВЫПОЛНЕНИЯ ЗАДАНИЯ

 

1. Страховая компания

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

Вы работаете в страховой компании. Вашей задачей является отслеживание ее финансовой деятельности.

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

Таблицы

Договоры(Номер договора, Дата заключения, Страховая сумма, Тарифная ставка, Код филиала, Код вида страхования).

Вид страхования(Код вида страхования, Наименование).

Филиал (Код филиала, Наименование филиала, Адрес, Телефон).

Развитие постановки задачи

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

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

 

2. Гостиница

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

Вы работаете в гостинице. Вашей задачей является отслеживание финансовой стороны ее работы.

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

Таблицы

Клиенты (Код клиента, Фамилия, Имя, Отчество, Паспортные данные, Комментарий).

Номера(Код номера, Номер, Количество человек, Комфортность,

Цена).

Поселение(Код поселения, Код клиента, Код номера, Дата поселения, Дата освобождения, Примечание).

Развитие постановки задачи

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

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

 

3. Ломбард

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

Вы работаете в ломбарде. Вашей задачей является отслеживание финансовой стороны его работы.

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

Таблицы

Клиенты(Код клиента, Фамилия, Имя, Отчество, Номер паспорта, Серия паспорта, Дата выдачи паспорта).

Категории товаров(Код категории товаров, Название, Примечание).

Сдача в ломбард(Код, Код категории товаров, Код клиента, Описание товара, Дата сдачи, Дата возврата, Сумма, Комиссионные).

Развитие постановки задачи

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

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

 

4. Реализация готовой продукции

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

Вы работаете в компании, занимающейся оптово-розничной продажей различных товаров. Вашей задачей является отслеживание финансовой стороны ее работы.

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

Таблицы

Товары(Код товара, Наименование, Оптовая цена, Розничная цена, Описание).

Покупатели(Код покупателя, Телефон, Контактное лицо, Адрес).

Сделки(Код сделки, Дата сделки, Код товара, Количество, Код покупателя, Признак оптовой продажи).

Развитие постановки задачи

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

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

 

5. Ведение заказов

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

Вы работаете в компании, занимающейся оптовой продажей различных товаров. Вашей задачей является отслеживание финансовой стороны ее работы.

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

Таблицы

Товары(Код товара, Цена, Доставка, Описание).

Заказчики(Код заказчика, Наименование, Адрес, Телефон, Контактное лицо).

Заказы (Код заказа, Код заказчика, Код товара, Количество, Дата).

Развитие постановки задачи.

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

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

 

6. Бюро по трудоустройству

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

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

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

Таблицы

Работодатели (Код работодателя, Название, Вид деятельности, Адрес, Телефон).

Соискатели (Код соискателя, Фамилия, Имя, Отчество, Квалификация, Вид деятельности, Иные данные, Предполагаемый размер заработной платы).

Сделки (Код соискателя, Код работодателя, Должность, Комиссионные).

Развитие постановки задачи

Оказалось, что база данных не совсем точно описывает работу бюро. В базе фиксируется только сделка, а информация по открытым вакансиям не хранится. Кроме того, для автоматического поиска вариантов необходимо вести справочник «Виды деятельности».

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

 

7. Нотариальная контора

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

Вы работаете в нотариальной конторе. Вашей задачей является отслеживание финансовой стороны работы компании.

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

Таблицы

Клиенты (Код клиента, Название, Вид деятельности, Адрес, Телефон).

Сделки(Код сделки, Код клиента, Код услуги, Сумма, Комиссионные, Описание).

Услуги (Код услуги, Название, Описание).

Развитие постановки задачи

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

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

 

8. Фирма по продаже запчастей

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

Вы работаете в фирме, занимающейся продажей запасных частей для автомобилей. Вашей задачей является отслеживание финансовой стороны работы компании.

Основная часть деятельности, находящейся в вашем ведении, связана с работой с поставщиками. Фирма имеет определенный набор

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

Таблицы

Поставщики(Код поставщика, Название, Адрес, Телефон).

Детали (Код детали, Название, Артикул, Цена, Примечание).

Поставки(Код поставщика, Код детали, Количество, Дата).

Развитие постановки задачи

Теперь ситуация изменилась. Выяснилось, что цена детали может меняться от поставки к поставке. Поставщики заранее ставят вас в известность о дате изменения цены и о ее новом значении. Нужно хранить не только текущее значение цены, но и всю историю изменения цен.

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

 

9. Курсы повышения квалификации

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

Вы работаете в учебном заведении и занимаетесь организацией курсов повышения квалификации.

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

Таблицы

Группы(Номер группы, Специальность, Отделение, Количество студентов).

Преподаватели(Код преподавателя, Фамилия, Имя, Отчество, Телефон, Стаж).

Нагрузка (Код преподавателя, Номер группы, Количество часов, Предмет, Тип занятия, Оплата).

Развитие постановки задачи

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

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

 

10. Определение факультативов для студентов

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

Вы работаете в высшем учебном заведении и занимаетесь организацией факультативов.

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

Таблицы

Студенты (Код студента, Фамилия, Имя, Отчество, Адрес, Телефон). Предметы (Код предмета, Название, Объем лекций, Объем практик, Объем лабораторных работ).

Учебный план (Код студента, Код предмета, Оценка).

Развитие постановки задачи

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

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

 

11. Распределение учебной нагрузки

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

Вы работаете в высшем учебном заведении и занимаетесь распределением нагрузки между преподавателями кафедры.

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

Таблицы

Преподаватели(Код преподавателя, Фамилия, Имя, Отчество, Ученая степень, Должность, Стаж).

Предметы(Код предмета, Название, Количество часов).

Нагрузка(Код преподавателя, Код предмета, Номер группы).

Развитие постановки задачи

Теперь ситуация изменилась. Выяснилось, что все проводимые занятия делятся на лекционные и практические. По каждому виду занятий устанавливается свое количество часов. Кроме того, данные о нагрузке нужно хранить несколько лет.

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

 

12. Распределение дополнительных обязанностей

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

Вы работаете в коммерческой компании и занимаетесь распределением дополнительных разовых работ. Вашей задачей является отслеживание хода их выполнения.

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

Таблицы

Сотрудники(Код сотрудника, Фамилия, Имя, Отчество, Оклад).

Виды работ(Код вида, Описание, Оплата за день).

Работы(Код сотрудника, Код вида, Дата начала, Дата окончания).

Развитие постановки задачи

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

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

 

13. Техническое обслуживание станков

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

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

Клиентами вашей компании являются промышленные предприятия, оснащенные различным сложным оборудованием. В случае поломок оборудования они обращаются к вам.

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

Таблицы

Виды станков(Код вида станка, Страна, Год выпуска, Марка).

Виды ремонта(Код ремонта, Название, Продолжительность, Стоимость, Примечания).

Ремонт(Код вида станка, Код ремонта, Дата начала, Примечания).

Развитие постановки задачи

Теперь ситуация изменилась. Несложный анализ показал, что нужно не просто подразделять станки по видам, а иметь информацию о том, сколько раз ремонтировался тот или иной конкретный станок.

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

 

14. Туристическая фирма

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

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

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

Таблицы

Маршруты(Код маршрута, Страна, Климат, Длительность, Отель, Стоимость).

Путевки (Код маршрута, Код клиента, Дата отправления, Количество, Скидка).

Клиенты(Код клиента, Фамилия, Имя, Отчество, Адрес, Телефон).

Развитие постановки задачи

Теперь ситуация изменилась. Фирма работает с несколькими отелями в нескольких странах. Путевки продаются на одну, две или четыре недели. Стоимость путевки зависит от длительности тура и отеля.

Скидки, которые предоставляет фирма, фиксированы. Например, при покупке более одной путевки предоставляется скидка 5%. Скидки могут суммироваться.

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

 

15. Грузовые перевозки

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

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

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

Таблицы

Маршруты(Код маршрурта, Название, Дальность, Количество дней в пути, Оплата).

Водители(Код водителя, Фамилия, Имя, Отчество, Стаж).

Проделанная работа(Код маршрута, Код водителя, Дата отправки, Дата возвращения, Премия).

Развитие постановки задачи

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

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

 

16. Учет телефонных переговоров

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

Вы работаете в коммерческой службе телефонной компании. Компания предоставляет абонентам телефонные линии для междугородних переговоров. Вашей задачей является отслеживание стоимости междугородних телефонных переговоров.

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

Таблицы

Абоненты(Код абонента, Номер телефона, ИНН, Адрес).

Города(Код города, Название, Тариф дневной, Тариф ночной).

Переговоры(Код переговоров, Код абонента, Код города, Дата, Количество минут, Время суток).

Развитие постановки задачи

Теперь ситуация изменилась. Ваша фирма решила ввести гибкую систему скидок. Так, стоимость минуты теперь уменьшается в зависимости от длительности разговора. Размер скидки для каждого города разный.

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

 

17. Учет внутриофисных расходов

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

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

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

Таблицы

Отделы(Код отдела, Название, Количество сотрудников).

Виды расходов(Код вида, Название, Описание, Предельная норма).

Расходы(Код расхода, Код вида, Код отдела, Сумма, Дата).

Развитие постановки задачи

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

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

 

18. Библиотека

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

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

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

Таблицы

Книги(Код книги, Название, Автор, Залоговая стоимость, Стоимость проката, Жанр).

Читатели(Код читателя, Фамилия, Имя, Отчество, Адрес, Телефон).

Выданные книги(Код книги, Код читателя, Дата выдачи, Дата возврата).

Развитие постановки задачи

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

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

 

19. Прокат автомобилей

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

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

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

Таблицы

Автомобили(Код автомобиля, Марка, Стоимость, Стоимость проката, Тип).

Клиенты(Код клиента, Фамилия, Имя, Отчество, Адрес, Телефон).

Выданные автомобили(Код автомобиля, Код клиента, Дата выдачи, Дата возврата).

Развитие постановки задачи

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

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

 

20. Выдача банком кредитов

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

Вы являетесь руководителем информационно-аналитического центра коммерческого банка. Одним из существенных видов деятельности банка является выдача кредитов юридическим лицам. Вашей задачей является отслеживание динамики работы кредитного отдела.

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

Таблицы

Виды кредитов(Код вида, Название, Условия получения, Ставка, Срок).

Клиенты(Код клиента, Название, Вид собственности, Адрес, Телефон, Контактное лицо).

Кредиты(Код вида, Код клиента, Сумма, Дата выдачи).

Развитие постановки задачи

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

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

 

21. Инвестирование свободных средств

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

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

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

Таблицы

Ценные бумаги(Код ценной бумаги, Минимальная сумма сделки, Рейтинг, Доходность за прошлый год, Дополнительная информация).

Инвестиции(Код инвестиции, Код ценной бумаги, Код клиента, Котировка, Дата покупки, Дата продажи).

Клиенты(Код клиента, Название, Вид собственности, Адрес, Телефон).

Развитие постановки задачи

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

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

 

22. Занятость актеров театра

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

Вы являетесь коммерческим директором театра, и в ваши обязанности входит вся организационно-финансовая работа, связанная с привлечением актеров и заключением контрактов.

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

Таблицы

Актеры(Код актера, Фамилия, Имя, Отчество, Звание, Стаж).

Спектакли(Код спектакля, Название, Год постановки, Бюджет).

Занятость актеров в спектакле(Код актера, Код спектакля, Роль, Стоимость годового контракта).

Развитие постановки задачи

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

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

 

23. Платная поликлиника

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

Вы являетесь руководителем службы планирования платной поликлиники. Вашей задачей является отслеживание финансовых показателей работы поликлиники.

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

Таблицы

Врачи(Код врача, Фамилия, Имя, Отчество, Специальность, Категория).

Пациенты(Код пациента, Фамилия, Имя, Отчество, Год рождения).

Обращения(Код обращения, Код врача, Код пациента, Дата обращения, Диагноз, Стоимость лечения).

Развитие постановки задачи

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

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

 

24. Анализ динамики показателей финансовой отчетности различных предприятий

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

Вы являетесь руководителем информационно-аналитического центра крупного холдинга. Вашей задачей является отслеживание динамики показателей для предприятий холдинга.

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

Таблицы

Показатели(Код показателя, Название, Важность, Единица измерения).

Предприятия(Код предприятия, Название, Банковские реквизиты, Телефон, Контактное лицо).

Динамика показателей(Код показателя, Код предприятия, Дата, Значение).

Развитие постановки задачи

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

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

 

25. Учет телекомпанией стоимости прошедшей в эфире рекламы

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

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

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

Таблицы

Передачи(Код передачи, Название, Рейтинг, Стоимость минуты).

Реклама (Код рекламы, Код передачи, Код заказчика, Дата, Длительность в минутах).

Заказчики(Код заказчика, Название, Банковские реквизиты, Телефон, Контактное лицо).

Развитие постановки задачи

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

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

 

26. Интернет-магазин

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

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

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

Таблицы

Товары(Код товара, Название, Цена, Единица измерения).

Клиенты(Код клиента, Фамилия, Имя, Отчество, Адрес, Телефон, е-mail, Признак постоянного клиента).

Продажи(Код продажи, Код товара, Код клиента, Дата продажи, Дата доставки, Количество).

Развитие постановки задачи

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

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

 

27. Ювелирная мастерская

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

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

Таблицы

Изделия(Код изделия, Название, Тип, Код материала, Вес, Цена).

Материалы(Код материала, Название, Цена за грамм).

Продажи(Код изделия, Дата продажи, Фамилия покупателя, Имя покупателя, Отчество покупателя).

Развитие постановки задачи

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

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

 

28. Парикмахерская

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

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

Таблицы

Стрижки(Код стрижки, Название, Пол, Стоимость).

Клиенты(Код клиента, Фамилия, Имя, Отчество, Пол, Признак постоянного клиента).

Работа(Код работы, Код стрижки, Код клиента, Дата).

Развитие постановки задачи

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

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

 

29. Химчистка

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

Вы работаете в химчистке, осуществляющей прием у населения вещей для выведения пятен. Для наведения порядка вы, по мере возможности, составляете базу данных клиентов, запоминая их анкетные данные (фамилия, имя, отчество). Начиная с третьего обращения клиент переходит в категорию постоянных и получает скидку в 3% при чистке каждой последующей вещи. Все оказываемые услуги подразделяются на виды, имеющие название, тип и стоимость, зависящую от сложности работ. Работа с клиентом первоначально состоит в определении объема работ, вида услуги и, соответственно, ее стоимости. Если клиент согласен, он оставляет вещь (при этом фиксируются услуга, клиент и дата приема) и забирает ее после обработки (при этом фиксируется дата возврата).

Таблицы

Видыуслуг (Код вида услуг, Название, Тип, Стоимость).

Клиенты(Код клиента, Фамилия, Имя, Отчество, Признак постоянного клиента).

Услуги (Код услуги, Код вида услуги, Код клиента, Дата приема, Дата возврата).

Развитие постановки задачи

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

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

 

30. Сдача в аренду торговых площадей

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

Вы работаете в крупном торговом центре, сдающем в аренду коммерсантам свои торговые площади.

Вашей задачей является наведение порядка в финансовой сфере работы торгового центра.

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

Таблицы

Торговые точки(Код торговой точки, Этаж, Площадь, Наличие кондиционера, Стоимость аренды в день).

Клиенты(Код клиента, Название, Реквизиты, Адрес, Телефон, Контактное лицо).

Аренда (Код аренды, Код торговой точки, Код клиента, Дата начала, Дата окончания).

Развитие постановки задачи

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

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

 

31. Учёт товаров на складе мелкооптовой торговли

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

Вы работаете на складе мелкооптовой торговли. Вашей задачей является учёт товаров.

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

Таблицы

Приход товаров(Код товара, Номер приходной накладной, Наименование поставщика, Наименование товара, Единица измерения, Количество товара, Цена по приходу).

Склад(Код товара, Наименование товара, Единица измерения, Количество товара, Цена продажи).

Отпуск товара (Код товара, Номер накладной отпуска товаров, Дата продажи, Наименование товара, Единица измерения, Количество товара, Цена продажи).

Развитие постановки задачи

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

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

 

32. Оформление платёжных поручений

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

Вы работаете в бухгалтерии. Вашей задачей является оформление платёжных поручений.

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

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

После определения плательщика и получателя платежа определяется номер платежного поручения и дата его оформления.

Следующим этапом ввод цифрами суммы платежа. Эта же сумма автоматически должна переводиться в прописную форму представления.

Таблицы

Плательщики (Код плательщика, Наименование плательщика; Банк плательщика; БИК банка плательщика; счет плательщика).