Сделай Сам Свою Работу на 5

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





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

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

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

· Построение концептуальной модели.

Задания:

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

 

Определим следующие сущности: СТУДЕНТ, ЭКЗАМЕН, ОЦЕНКА

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

Аналогично определим сущность ЭКЗАМЕН с атрибутами код экзамена, предмет, дата экзамена и сущность ОЦЕНКА с атрибутом значение оценки (оценка). Между этими сущностями существуют следующие связи: студент сдавал экзамен, студент получил оценку, по экзамену получены следующие оценки.



 

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

По смыслу задачи к базе данных возможны следующие запросы:

Какие оценки получил студент с заданной фамилией (кодом);

Какие студенты получили заданное значение оценки;

Какие экзамены сдал студент с заданной фамилией (кодом);

Какую оценку по конкретному предмету получил студент с заданной фамилией (кодом).

В данном примере остановимся на этих запросах.

 

3.Построить концептуальную модель в виде ER-диаграммы.

Нарисуем возможный вариант ER-диаграммы.

 

По этой диаграмме можно ответить на все вопросы, кроме последнего. В лекции 5 в этом случае предлагается ввести новую агрегированную сущность. Определим эту сущность как ЭКЗАМЕНАЦИОННАЯ ВЕДОМОСТЬ с атрибутами код студента, фамилия, код экзамена, предмет, дата экзамена, оценка. Нарисуем второй вариант ER-диаграммы.

 

 

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



 

4. Представить концептуальную модель в терминах реляционной модели.

В терминах концептуальной модели эта модель представляется следующей таблицей.

 

Код студента Фамилия Код экзамена Предмет Дата Оценка

 

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

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

Фамилия принимает символьное значение, максимальная длина 20 символов.

Код экзамена принимает значения из множества целых чисел, максимальная длина числа 4 знака.

Предмет принимает символьное значение, максимальная длина 20 символов.

Дата экзамена принимает значение дата в формате 00.00.00.

Оценка принимает целое значение от 2 до 5.

 

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

Ключом данного отношения является совокупность атрибутов код студента, код экзамена (см. лекцию 8).

 

7. Выписать функциональные зависимости (рассматривая возможные значения полей таблицы).

Зависимости выписаны в лекции 8.

 

8. Привести полученную концептуальную модель к третьей нормальной форме или к нормальной форме Бойса-Кодда (показать, что она находится в соответствующей нормальной форме).

Приведение данного отношения к третьей нормальной форме описано в лекции 8. Исходное отношение приведено в к трем отношениям (смотри лекцию 8), каждое из которых находится в третьей нормальной форме R1(КС, Ф), R3(КЭ, П, Д), R4(КС, КЭ, О).



Заметим, что в отношении R4 атрибуты КС, КЭ являются внешними ключами, используемыми для установления связей с другими отношениями.

Отношение R1 представляет объект СТУДЕНТ с атрибутами: код студента (первичный ключ), фамилия.

Отношение R3 представляет объект ЭКЗАМЕН c атрибутами: код экзамена (первичный ключ), предмет, дата.

Отношение R4 представляет объект ОЦЕНКА c атрибутами: код студента (внешний ключ), код экзамена (внешний ключ), оценка. Первичный ключ здесь составной: код студента, код экзамена.

Для наглядности представим полученную модель в виде ER-диаграммы (рис.1).

Рис 1. ER-диаграмма

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


Лабораторная работа №2

(пример выполнения с использованием СУБД MS Access)

Цель работы: приобретение навыков создания структуры реляционной базы данных и первоначальный ввод данных в базу данных.

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

· Создание структуры реляционной базы данных для построенной в лабораторной работе 1 концептуальной модели предметной области.

· Ввод данных в таблицы (данные представляются самим слушателем).

Задания:

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

Формирование структуры базы данных осуществляется с помощью средств СУБД MS Access в диалоговом режиме. На рис.2 представлено меню системы в процессе формирования структуры базы данных для вышеприведенного примера в лабораторной работе 1.

 

 

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

 

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

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

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

2.3. Задать ключ.

2.4. Задать внешний ключ (если он есть).

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

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

Для примера определим соответствующие величины для одной из таблиц рассматриваемого примера - таблицы ЭКЗАМЕНЫ.

Таблица ЭКЗАМЕНЫ

Поле Код_экзамена

Тип Длинное целое (4)

Примечание Поле имеет специальный тип «Счетчик»

Новые значения Последовательные

Примечание Данное поле является ключом таблицы

Индексированное поле Да (совпадения не допускаются)

 

Поле Предмет

Тип Текстовый

Размер 20

Обязательное поле Да

 

Поле Дата

Тип Дата/время

Размер 8

Формат поля Краткий формат даты

Обязательное поле Да

Аналогично определяются соответствующие поля и для остальных таблиц.

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

3.1. Схема базы данных формируется слушателем с помощью средств MS Access.

 

Рис. 3. Схема данных

3.2. Наложить условия целостности на таблицы, связанные отношением «один-к-многим». Показать на примерах, чтó меняется при включении/выключении каждого из флажков «Обеспечение целостности данных», «Каскадное обновление связанных записей» и «Каскадное удаление связанных записей».

СТУДЕНТ – ОЦЕНКА

Код студента 1–¥ Код студента

Атрибуты Обеспечение целостности, каскадные обновления,

каскадные удаления

Атрибуты один-ко-многим

 

ЭКЗАМЕН – ОЦЕНКА

Код_экзамена 1–¥ Код_экзамена

Атрибуты Обеспечение целостности, каскадные обновления,

каскадные удаления

Атрибуты один-ко-многим

 

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

Как уже отмечалось, данные придумываются самим слушателем. Ввод данных осуществляется в диалоговом режиме средствами MS Access.

 


Лабораторная работа №2

(пример выполнения с использованием СУБД Microsoft SQL Server 2008.)

Цель работы: приобретение навыков создания структуры реляционной базы данных и первоначальный ввод данных в базу данных.

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

· Создание структуры реляционной базы данных для построенной в лабораторной работе 1 концептуальной модели предметной области.

· Ввод данных в таблицы (данные представляются самим слушателем).

Задания:

1. При помощи среды Microsoft SQL Management Studio создать структуры таблиц для представления предметной области в рамках реляционной модели с указанием типов данных и их характеристик.

Формирование структуры базы данных осуществляется с помощью средств MS SQL Management Studio в диалоговом режиме. На рис.4 представлено меню системы в процессе формирования структуры базы данных для вышеприведенного примера в лабораторной работе 1.

Рис. 4. Формирование структуры базы данных в MS SQL Management Studio

 

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

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

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

2.3. Задать ключ.

2.4. Задать внешний ключ (если он есть).

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

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

Для примера определим соответствующие величины для одной из таблиц рассматриваемого примера - таблицы ЭКЗАМЕНЫ.

Таблица ЭКЗАМЕНЫ

Поле Код_экзамена

Тип Длинное целое (4)Целое число (Int)

Примечание Поле имеет специальный тип «Счетчик»

Новые значения Последовательные

Примечание Данное поле является ключом таблицы

Индексированное поле Да (уникальный индекс, совпадения не допускаются)

 

Поле Предмет

Тип Текстовый

Размер 2050

Обязательное поле Да

 

Поле Дата

Тип Дата/время

Размер 8

Формат поля Краткий формат даты

Обязательное поле Да

Аналогично определяются соответствующие поля и для остальных таблиц.

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

3.1. Схема базы данных формируется слушателем с помощью средств MS SQL Management Studio (рис. 5)MS Access.

Рис. 5. Схема данных

 

3.2. Наложить условия целостности на таблицы, связанные отношением «один-к-многим». Показать на примерах, чтó меняется при включении/выключении каждого из флажков «Обеспечение целостности данных», «Каскадное обновление связанных записей» и «Каскадное удаление связанных записей».

СТУДЕНТ – ОЦЕНКА

Код студента 1–¥ Код студента

Атрибуты Обеспечение целостности, каскадные обновления,

каскадные удаления

Атрибуты один-ко-многим

 

ЭКЗАМЕН – ОЦЕНКА

Код_экзамена 1–¥ Код_экзамена

Атрибуты Обеспечение целостности, каскадные обновления,

каскадные удаления

Атрибуты один-ко-многим

 

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

Как уже отмечалось, данные придумываются самим слушателем. Ввод данных осуществляется в диалоговом режиме средствами MS SQL Management StudioMS Access.

 


Лабораторная работа №3

Цель работы: приобретение навыков реализации запросов пользователя на выборку данных из таблиц, добавление, удаление и редактирование информации. Приобретение практических навыков использования языка SQL.

Содержание работы: Работа со сформированной в лабораторной работе 2 базой данных:

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

Приведем несколько примеров реализации запросов

1. Вывести фамилию всех студентов.

 

SELECT фамилия FROM студент;

 

2. Вывести названия различных предметов, по которым сдаются экзамены в вуз.

 

SELECT DISTINCT предмет FROM экзамен;

 

3. Вывести всю возможную информацию об экзаменах, проводимых в вузе.

 

SELECT * FROM экзамены;

 

4. Вывести фамилии студентов и оценки, которые они получили на различных экзаменах.

 

SELECT фамилия, оценка FROM студент, оценка

WHERE студент.код_студента = оценка.код_студента;

 

5. Вывести фамилии студентов и их оценки по математике. Отсортировать вывод по оценкам, внутри оценок – по фамилиям студентов.

 

SELECT фамилия, оценка, предмет

FROM студент, экзамен, оценка

WHERE студент.код_студента = оценка.код_студента

AND оценка.код_экзамена = экзамен.код_экзамена

AND предмет = 'Математика'

ORDER BY оценка DESC, фамилия;

 

AND оценки.код_экзамена = экзамены.код_экзамена

AND предмет = 'математика' AND оценка > 3;

 

6. Какие оценки получил студент Сергеев?

 

SELECT оценка

FROM студент, экзамен, оценка

WHERE студент.код_студента = оценка.код_студента

AND оценка.код_экзамена = экзамен.код_экзамена

AND фамилия = «Сергеев»;


Лабораторная работа №4

(пример выполнения с использованием MS Access)

Цель работы: разработка интерфейса пользователя для взаимодействия со сформированной в лабораторной работе 2 базой данных. Создание форм.

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

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

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

Задания:

Построить интерфейс для созданной базы данных.

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

Пример выполнения

 

Рис. 6. Кнопочная форма – главное меню.

 

Рис. 7. Форма редактирования и добавления экзаменов.

 

Рис. 8. Форма просмотра информации о студенте и добавления студентов.


Лабораторная работа №4

(пример выполнения с использованием MS SQL Server 2008)

Цель работы: разработка интерфейса пользователя для взаимодействия со сформированной в лабораторной работе 2 базой данных. Создание форм.

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

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

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

Задания:

Построить интерфейс для созданной базы данных.

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

Пример выполнения

При выполнении примера 1 используется стандарт ODBC для доступа к данным. В качестве клиентской части используется MS Access.

Для подсоединения к таблицам на сервере СУБД MS SQL 2008 нужно:

1. Меню Вставка -> Таблица -> Связь с таблицами

2. В диалоговом окне выбрать Тип файлов: Базы данных ODBC

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

Рис 9. Выбор источника данных

4. При создании нового источника данных нужно выбрать тип источника данных: Пользовательский тип данных, Драйвер: SQL Server или SQL Server Native Client.

Рис. 10. Создание нового источника данных.

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

Рис.11. Ввод названия источника данных и выбор сервера СУБД.

6. Введите параметры аутентификации в зависимости от настроек вашего сервера и нажмите Далее

Рис. 12. Выбор способа аутентификации

7. Укажите вашу базу данных по-умолчанию и нажмите Далее

Рис. 13. Дополнительные параметры соединения с сервером

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

Рис.14. Дополнительные параметры соединения с сервером

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

Рис. 15. Установка связи с таблицами на сереве.

10. Список связанных таблиц отображается в разделе таблицы MS Access.

Рис. 16. Главное окно базы данных MS Access/

Работа со связанными таблицами в MS Access аналогична работе с локальными таблицами. Access позволяет конструировать формы для просмотра/редактирования данных.

 

Рис. 17. Кнопочная форма – главное меню.

 

 

Рис. 18. Форма редактирования и добавления экзаменов.

 

 

Рис. 19. Форма просмотра информации о студенте и добавления студентов.


Лабораторная работа №5

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

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

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

· Изменение структуры таблиц и обоснование изменений.

· Работа с измененной базой данных.

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


ПРИЛОЖЕНИЕ*

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

 

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

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

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

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

Возможный набор сущностей

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

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

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

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

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

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

 

2. Гостиница

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

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

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

Возможный набор сущностей

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

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

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

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

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

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

 

3. Ломбард

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

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

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

Возможный набор сущностей

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

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

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

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

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

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

 

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

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

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

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

Возможный набор сущностей

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

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

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

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

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

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

 

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

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

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

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

Возможный набор сущностей

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

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

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

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

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

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

 

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

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

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

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

Возможный набор сущностей

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

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

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

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

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

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

 

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

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

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

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

Возможный набор сущностей

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

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

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

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

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

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

 

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

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

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

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

Возможный набор сущностей

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

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

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

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

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

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

 

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

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

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

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

Возможный набор сущностей

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

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

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

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

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

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

 

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

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

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

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

Возможный набор сущностей

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

Предметы (Код предмета, Название, Объем лекций, Объем практик, Объем лабораторных работ).

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

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

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

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

 

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

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

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

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

Возможный набор сущностей

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

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

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

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

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

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.