Проектирование базы данных
Изучение методологии проектирования автоматизированных банков данных, которое может рассматриваться как совокупность методов и средств, последовательное применение которых обеспечивает разработку проекта баз данных, удовлетворяющего заданным целям.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.11.2010 |
Размер файла | 57,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Содержание
ВВЕДЕНИЕ
ЦЕЛЬ РАБОТЫ
1 Теоретические положения
1.1 Основные понятия БД и СУБД
1.2 Инфологическая модель данных "Сущность-связь"
1.2.1 Основные понятия
1.2.2 Типы связей между сущностями
1.2.3 Классификация сущностей их обозначения (описания)
1.3 Реляционная модель данных
1.4 Нормальные формы отношений
2 Этапы проектирования БД
2.1 Советы и рекомендации
3 Задания к выполнению курсовой работы
3.1 Перечень заданий
3.2 Варианты заданий
4 Рекомендации по оформлению курсовой работы
ВВЕДЕНИЕ
Современные информационные системы, основанные на концепции банков данных и баз знаний, характеризуются большими объемами хранимой информации, их сложной организацией, необходимостью удовлетворять разнообразные требования пользователей. Важным компонентом этой концепции является единая методология проектирования баз данных. Базы данных, являясь информационной моделью непрерывно меняющегося реального мира, также должны меняться, чтобы адекватно отображать действительность. Поэтому для сопровождения и эксплуатации информационных систем требуется постоянное использование процедур проектирования баз данных.
Методология проектирования автоматизированных банков данных может рассматриваться как совокупность методов и средств, последовательное применение которых обеспечивает разработку проекта баз данных, удовлетворяющего заданным целям. Рассматриваемая методология позволяет пользователю лучше понять, как следует специфицировать требования к данным.
Следуя этой методологии, проектировщик может выполнять более глубокий и содержательный анализ требований к данным, осуществлять контроль и управление кодом проектирования.
ЦЕЛЬ РАБОТЫ
Целью курсовой работы является изучение основ проектирования баз данных в организационно-управленческих приложениях. В процессе изучения дисциплины и выполнения курсовой работы студенты должны усвоить теоретические основы организации баз данных, включая принципы построения на концептуальном, логическом и физическом уровнях, научиться ставить и решать практические задачи проектирования и эксплуатации баз данных.
1 Теоретические положения
1.1 Основные понятия БД и СУБД
Взаимосвязанные данные, которые позволяют описать ту или иную реальную систему, называются информационной системой. Каждая информационная система ориентирована на конкретную предметную область, которую она описывает.
Существует понятие объекта предметной области. Каждый объект предметной области характеризуется конечным набором атрибутов (элементов данных, реквизитов). Количество и форма представления атрибутов определяется пользователем будущей БД. Любой элемент данных характеризуется:
- именем;
- формой представления (алфавитная, алфавитно-цифровая, дата);
- длиной, т.е. количеством символов, выделяемых для конкретных данных.
Среди элементов, характеризующих объект предметной области, присутствуют ключевые элементы данных (ключи).
К ключевым элементам данных относятся такие элементы данных, по значениям которых можно идентифицировать значения остальных элементов данных. На практике часто встречаются такие ситуации, когда в качестве ключа выступает не один, а несколько элементов данных совместно.
Совокупность значений элементов данных, связанных определенным порядком, называется записью.
Упорядоченная совокупность элементов множества называется картежом.
Упорядоченная совокупность записей называется файлом данных.
База данных представляет собой совокупность связанных данных в конкретной предметной области и различного назначения.
Программное обеспечение, аппаратные средства, программируемая логика и процедуры, осуществляющие управление базами данных, называются системой управления базами данных (СУБД).
Структурой БД является СУБД, ориентированное описание данных или схема, обычно выраженная в терминах языка описания данных.
1.2 Инфологическая модель данных "Сущность-связь"
1.2.1 Основные понятия
Цель инфологического моделирования - обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных. Поэтому инфологическую модель данных пытаются строить по аналогии с естественным языком (последний не может быть использован в чистом виде из-за сложности компьютерной обработки текстов и неоднозначности любого естественного языка). Основными конструктивными элементами инфологических моделей являются сущности, связи между ними и их свойства (атрибуты).
Сущность - любой различимый объект (объект, который мы можем отличить от другого), информацию о котором необходимо хранить в базе данных. Сущностями могут быть люди, места, самолеты, рейсы, вкус, цвет и т.д. Необходимо различать такие понятия, как тип сущности и экземпляр сущности. Понятие тип сущности относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе. Например, типом сущности может быть ГОРОД, а экземпляром - Москва, Киев и т.д.
Атрибут - поименованная характеристика сущности. Его наименование должно быть уникальным для конкретного типа сущности, но может быть одинаковым для различного типа сущностей (например, ЦВЕТ может быть определен для многих сущностей: СОБАКА, АВТОМОБИЛЬ, ДЫМ и т.д.). Атрибуты используются для определения того, какая информация должна быть собрана о сущности. Примерами атрибутов для сущности АВТОМОБИЛЬ являются ТИП, МАРКА, НОМЕРНОЙ ЗНАК, ЦВЕТ и т.д. Здесь также существует различие между типом и экземпляром. Тип атрибута ЦВЕТ имеет много экземпляров или значений: Красный, Синий, Банановый, Белая ночь и т.д., однако каждому экземпляру сущности присваивается только одно значение атрибута.
Абсолютное различие между типами сущностей и атрибутами отсутствует. Атрибут является таковым только в связи с типом сущности. В другом контексте атрибут может выступать как самостоятельная сущность. Например, для автомобильного завода цвет - это только атрибут продукта производства, а для лакокрасочной фабрики цвет - тип сущности.
Ключ - минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. Минимальность означает, что исключение из набора любого атрибута не позволяет идентифицировать сущность по оставшимся. Для сущности Расписание ключом является атрибут Номер_рейса или набор: Пункт отправления, Время вылета и Пункт назначения (при условии, что из пункта в пункт вылетает в каждый момент времени один самолет).
Связь - ассоциирование двух или более сущностей. Если бы назначением базы данных было только хранение отдельных, не связанных между собой данных, то ее структура могла бы быть очень простой. Однако одно из основных требований к организации базы данных - это обеспечение возможности отыскания одних сущностей по значениям других, для чего необходимо установить между ними определенные связи. А так как в реальных базах данных нередко содержатся сотни или даже тысячи сущностей, то теоретически между ними может быть установлено более миллиона связей. Наличие такого множества связей и определяет сложность инфологических моделей.
1.2.2 Типы связей между сущностями
Между двумя сущностям, например, А и В возможны четыре вида связей.
Первый тип - связь ОДИН-К-ОДНОМУ (1:1): в каждый момент времени каждому представителю (экземпляру) сущности А соответствует 1 или 0 представителей сущности В:
Студент может не "заработать" стипендию, получить обычную или одну из повышенных стипендий.
Второй тип - связь ОДИН-КО-МНОГИМ (1:М): одному представителю сущности А соответствуют 0, 1 или несколько представителей сущности В.
Квартира может пустовать, в ней может жить один или несколько жильцов.
Так как между двумя сущностями возможны связи в обоих направлениях, то существует еще два типа связи МНОГИЕ-К-ОДНОМУ (М:1) и МНОГИЕ-КО-МНОГИМ (М:N).
1.2.3 Классификация сущностей их обозначения (описания)
Существует три основных класса сущностей: стержневые, ассоциативные и характеристические, а также подкласс ассоциативных сущностей - обозначения (рис.1).
Расширим также язык ER-диаграмм, введя для изображения характеристики трапецию (рис. 2.2).
Стержневая сущность (стержень) - это независимая сущность (несколько подробнее она будет определена ниже).
Ассоциативная сущность (ассоциация) - это связь вида "многие-ко-многим" ("-ко-многим" и т.д.) между двумя или более сущностями или экземплярами сущности. Ассоциации рассматриваются как полноправные сущности:
они могут участвовать в других ассоциациях и обозначениях точно так же, как стержневые сущности;
могут обладать свойствами, т.е. иметь не только набор ключевых атрибутов, необходимых для указания связей, но и любое число других атрибутов, характеризующих связь.
Характеристическая сущность (характеристика) - это связь вида "многие-к-одной" или "одна-к-одной" между двумя сущностями (частный случай ассоциации). Единственная цель характеристики в рамках рассматриваемой предметной области состоит в описании или уточнении некоторой другой сущности. Необходимость в них возникает в связи с тем, что сущности реального мира имеют иногда многозначные свойства.
Существование характеристики полностью зависит от характеризуемой сущности.
Для описания характеристики используется новое предложение ЯИМ, имеющее в общем случае вид:
ХАРАКТЕРИСТИКА (атрибут 1, атрибут 2, ...) {СПИСОК ХАРАКТЕРИЗУЕМЫХ СУЩНОСТЕЙ}.
Обозначающая сущность или обозначение - это связь вида "многие-к-одной" или "одна-к-одной" между двумя сущностями и отличается от характеристики тем, что не зависит от обозначаемой сущности.
Рассмотрим пример, связанный с зачислением сотрудников в различные отделы организации.
При отсутствии жестких правил (сотрудник может одновременно зачисляться в несколько отделов или не зачисляться ни в один отдел) необходимо создать описание с ассоциацией Зачисление:
Отделы (Номер отдела, Название отдела, ...)
Служащие (Табельный номер, Фамилия, ...)
Зачисление [Отделы M, Служащие N]
(Номер отдела, Табельный номер, Дата зачисления).
Однако, при условии, что каждый из сотрудников должен быть обязательно зачислен в один из отделов, можно создать описание с обозначением Служащие:
Отделы (Номер отдела, Название отдела, ...)
Служащие (Табельный номер, Фамилия, ... , Номер отдела,
Дата зачисления)[Отделы]
В данном примере служащие имеют независимое существование (если удаляется отдел, то из этого не следует, что также должны быть удалены служащие такого отдела). Поэтому они не могут быть характеристиками отделов и названы обозначениями.
Обозначения используют для хранения повторяющихся значений больших текстовых атрибутов: "кодификаторы" изучаемых студентами дисциплин, наименований организаций и их отделов, перечней товаров и т.п.
Описание обозначения внешне отличается от описания характеристики только тем, что обозначаемые сущности заключается не в фигурные скобки, а в квадратные:
ОБОЗНАЧЕНИЕ (атрибут 1, атрибут 2, ...)[СПИСОК ОБОЗНАЧАЕМЫХ СУЩНОСТЕЙ].
Как правило, обозначения не рассматриваются как полноправные сущности, хотя это не привело бы к какой-либо ошибке.
Обозначения и характеристики не являются полностью независимыми сущностями, поскольку они предполагают наличие некоторой другой сущности, которая будет "обозначаться" или "характеризоваться". Однако они все же представляют собой частные случаи сущности и могут, конечно, иметь свойства, могут участвовать в ассоциациях, обозначениях и иметь свои собственные (более низкого уровня) характеристики. Подчеркнем также, что все экземпляры характеристики должны быть обязательно связаны с каким-либо экземпляром характеризуемой сущности. Однако допускается, чтобы некоторые экземпляры характеризуемой сущности не имели связей.
1.3 Реляционная модель данных
Основу реляционной модели составляет совокупность данных, объединенных в виде отношений (таблиц). Из теории множеств известно, что формальным аналогом любой таблицы является отношение.
Пусть имеется некоторая совокупность множеств D1, D2, … DN. Отношением R на этих множествах называется подмножество их декартового произведения, где N - это степень отношения. Картеж - это совокупность элементов множеств, причем порядок имеет существенное значение, т.к. каждый элемент множества должен принадлежать только своему домену. Запись вида R(A,B,C) называется схемой отношения и наряду с названием отношения содержит имена атрибутов. Совокупность схем отношений составляет схему реляционной БД.
Количество картежей называется мощностью отношения.
1.4 Нормальные формы отношений
Нормализация - это разбиение таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных. Окончательная цель нормализации сводится к получению такого проекта базы данных, в котором каждый факт появляется лишь в одном месте, т.е. исключена избыточность информации. Это делается не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных.
Таблица находится в первой нормальной форме (1НФ) тогда и только тогда, когда ни одна из ее строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не пусто.
Таблица находится во второй нормальной форме (2НФ), если она удовлетворяет определению 1НФ и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом.
Таблица находится в третьей нормальной форме (3НФ), если она удовлетворяет определению 2НФ и не одно из ее неключевых полей не зависит функционально от любого другого неключевого поля.
Таблица находится в нормальной форме Бойса-Кодда (НФБК), если и только если любая функциональная зависимость между его полями сводится к полной функциональной зависимости от возможного ключа.
2 Этапы проектирования БД
Жизненный цикл БД представляет собой концепцию, в рамках которой рассматривается развитие БД во времени. Жизненный цикл БД делится на две фазы:
- фаза анализа и проектирования,
- фаза эксплуатации.
В течение 1-ой фазы происходит сбор требований пользователей и проектирование БД. В течение 2-ой фазы происходит машинная реализация (создание и отладка программ, проектирование входных и выходных форм и т.д.). Последовательность выполнения этапов и решения задач представлена на рис. 2:
Формулировка и анализ требований относится к первой фазе и является наиболее трудным и длительным во времени этапом процесса проектирования.
Однако он является наиболее важным, т.к. на его базе строится большинство проектных решений. Основной задачей является сбор требований, предъявляемых к содержанию и процессу обработки данных пользователями всех уровней. Анализ требований обеспечивает согласованность целей пользователей, а также согласованность их представлений об информационных потоках. На основе анализа требований устанавливаются цели организации, определяются требования к БД, вытекающие из основных задач. Эти требования документируются в форме доступной пользователям и проектировщикам БД. Для более тщательного анализа требований используется методика тестирования или анкетирования пользователя различного уровня. Результатом этого этапа является определение формата и семантики данных.
Концептуальное проектирование имеет своей целью построение независимой от СУБД информационной структуры путем объединения информационных требований пользователя. Результатом этого этапа является представление информационных требований в виде диаграмм «сущность-связь». Основу этой диаграммы представляет набор сущностей, который моделирует определенную совокупность сведений, сведенных к требованиям.
Сущность представляет собой основное содержание того явления или процесса, о котором необходимо собрать информацию (она является узловой точкой сбора данных). Необходимо различать тип сущности и экземпляр сущности. Тип сущности - это набор однородных вещей, предметов, явлений, выступающих как единое целое. Экземпляр сущности относится к конкретной вещи, т.е. когда вместо общих характеристик появляются конкретные данные.
Сущность является наиболее общим понятием по сравнению с объектом предметной области. При построении диаграмм «сущность-связь» возникают некоторые сложности, связанные с тем, что одни и те же пользователи БД имеют различные представления одних и тех же фактов.
Проектирование реализации также относится к 1-ой фазе жизненного цикла и состоит из двух компонент:
- проектирование БД на уровне логической структуры,
- проектирование программ.
Структурой БД является СУБД, ориентированное описание данных или схема, обычно выраженная в терминах языка описания данных.
Проектирование программного обеспечения имеет целью создание структурированных программ, использующих язык программирования и язык манипулирования данными.
Язык манипулирования данными - это ничто иное как набор команд, осуществляющих различные процедуры манипулирования данными.
Физическое проектирование относится к 1-ой фазе и делится на три категории:
Проектирование формата хранимых записей (сюда включаются виды представления и сжатия данных в записи), распределение элементов данных записей по различным участкам физической памяти в зависимости от их размеров и характеристик использования.
Анализ и проектирование кластеров. Кластеризацией записей называется такое объединение записей различного типа в физические группы, которое позволяет эффективно использовать преимущество последовательного размещения данных.
Проектирование путей доступа к данным (сюда включаются такие параметры и методы, тот которых в значительной степени зависит время доступа и время обработки запросов. Иногда эти параметры называют производительностью системы или производительностью СУБД).
Результатом физического проектирования является физическая структура БД, форматы и размещение в памяти записей и методы доступа к данным.
2.1 Советы и рекомендации
Векторы. Представляйте векторы данных по столбцам, а не по строкам. Например, диаграмму продаж товаров x, y, ... за последние годы лучше представить в виде:
ТОВАР |
МЕСЯЦ |
КОЛ-ВО |
|
x |
ЯНВАРЬ |
100 |
|
x |
ФЕВРАЛЬ |
50 |
|
… |
... |
… |
|
x |
ДЕКАБРЬ |
360 |
|
y |
ЯНВАРЬ |
75 |
|
… |
… |
… |
|
x |
ДЕКАБРЬ |
35 |
|
… |
… |
… |
а не так, как показано ниже:
ТОВАР |
ЯНВАРЬ КОЛ-ВО |
ФЕВРАЛЬ КОЛ-ВО |
… |
ДЕКАБРЬ КОЛ-ВО |
|
x |
100 |
50 |
… |
360 |
|
y |
75 |
144 |
… |
35 |
Одна из причин такой рекомендации заключается в том, что при этом значительно проще записываются обобщенные (параметризованные) запросы.
Неопределенные значения. Будьте очень внимательны с неопределенными (NULL) значениями. В поведении неопределенных значений проявляется много произвола и противоречивости. В разных СУБД при выполнении различных операций (сравнение, объединение, сортировка, группирование и другие) два неопределенных значения могут быть или не быть равными друг другу. Они могут по разному влиять на результат выполнения операций по определению средних значений и нахождения количества значений. Для исключения ошибок в ряде СУБД существует возможность замены NULL-значения нулем при выполнении расчетов, объявление всех NULL-значений равными друг другу и т.п.
3 Задания к выполнению курсовой работы
3.1 Перечень заданий
1 Описать предметную область:
- определить источники информации, представить формы входных документов;
- определить пользователей проектируемой БД и выполняемые ими функции;
- определить формы выходных документов;
- определить перечень возможных запросов к базе данных.
2 Выявить ограничения целостности, присущие выбранной предметной области, определить, какие из них будут контролироваться в проектируемой БД.
3 Построить инфологическую модель:
- выявить необходимый набор сущностей, их свойства и связи между сущностями;
- определить требуемый набор атрибутов для каждой сущности, выделив идентифицирующие атрибуты;
- классифицировать сущности;
- определить связи между объектами;
- задать ограничения целостности;
- описать полученную модель, используя заданную нотацию.
- построить набор необходимых отношений базы данных;
- выделить первичные и внешние ключи определенных отношений;
- привести полученные отношения к третьей нормальной форме.
4 Создать базы данных в Microsoft Access
- создать таблицы базы данных в соответствии с выделенными сущностями инфологической модели
- построить запросы к базе данных
- создать необходимые формы и отчеты
- описать порядок работы с созданной базой данных при выполнении различных задач
5 Оформить отчет
3.2 Варианты заданий
Задание № 1
Пусть требуется создать программную систему, предназначенную для администратора гостиницы. Такая система должна обеспечивать хранение сведений о имеющихся в гостинице номерах, о проживающих в гостинице клиентах и о служащих, убирающих в номерах. Пусть количество номеров в гостинице известно, и имеются номера трех типов: одноместный, двухместный и трехместный, отличающиеся стоимостью проживания в сутки. В каждом номере есть телефон. О каждом проживающем должна храниться следующая информация: номер паспорта, фамилия, имя, отчество, город, из которого он прибыл, дата поселения в гостинице, выделенный гостиничный номер. О служащих гостиницы должна храниться информация следующего содержания: фамилия, имя , отчество, где (этаж) и когда (день недели) он убирает. Служащий гостиницы убирает все номера на одном этаже в определенные дни недели, при этом в разные дни он может убирать разные этажи.
Работа с системой предполагает получение следующей информации:
§ о клиентах, проживающих в заданном номере,
§ о клиентах, прибывших из заданного города,
§ о том, кто из служащих убирал номер указанного клиента в заданный день недели,
§ есть ли в гостинице свободные места и свободные номера и, если есть, то сколько.
Администратор должен иметь возможность выполнить следующие операции:
§ принять на работу или уволить служащего гостиницы.
§ изменить расписание работы служащего.
§ поселить или выселить клиента.
Необходимо предусмотреть также возможность автоматической выдачи клиенту счета за проживание в гостинице и получения отчета о работе гостиницы за указанный квартал текущего года. Такой отчет должен содержать следующие сведения: число клиентов за указанный период, сколько дней был занят и свободен каждый из номеров гостиницы, общая сумма дохода.
Задание №2
Пусть требуется создать программную систему, предназначенную для работников библиотеки. Такая система должна обеспечивать хранение сведений об имеющихся в библиотеке книгах, о читателях библиотеки и читальных залах.
Для каждой книги в БД должны храниться следующие сведения: название книги, автор (ы), издательство, год издания, число экземпляров этой книги в каждом зале библиотеки, а также шифр книги и дата закрепления книги за читателем. Сведения о читателях библиотеки должны включать номер читательского билета, фамилию читателя, номер паспорта, дату рождения, адрес, номер телефон, образование, наличие ученой степени. Читатели закрепляются за определенным залом и могут записываться и выписываться из библиотеки. Библиотека имеет несколько читальных залов, которые характеризуются номером, названием и вместимостью, то есть количеством людей, которые могут одновременно работать в зале. . Библиотека может получать новые книги и списывать старые. Шифр книги может измениться в результате переклассификации, а номер читательского билета в результате перерегистрации.
Библиотекарю могут потребоваться следующие сведения о текущем состоянии библиотеки:
Какие книги закреплены за определенным читателем?
Как называется книга с заданным шифром?
Какой шифр у книги с заданным названием?
Когда книга была закреплена за читателем?
Кто из читателей взял книгу более месяца тому назад?
За кем из читателей закреплены книги, количество экземпляров которых в библиотеке не превышает 2?
Какое число читателей пользуется библиотекой?
Сколько в библиотеке читателей младше 20 лет?
Сколько читателей в процентном отношении имеют начальное образование, среднее, высшее, ученую степень?
Библиотекарь может выполнять следующие операции:
Записать в библиотеку нового читателя.
Исключить из списка читателей людей, записавшихся в библиотеку более года назад и не прошедших перерегистрацию.
Списать старую или потерянную книгу.
Принять книгу в фонд библиотеки.
Необходимо предусмотреть возможность выдачи справки о количестве книг определенного автора в читальном зале и отчета о работе библиотеки в течение месяца. Отчет должен включать в себя следующую информацию: количество книг и читателей на текущий день в каждом из залов и в библиотеке в целом, количество читателей, записавшихся в библиотеку за отчетный месяц, какие книги и сколько раз были взяты за в этом месяце, кто из читателей не брал книг.
Задание №3
Пусть требуется создать программную систему, предназначенную для завуча школы. Она должна обеспечивать хранение сведений о каждом учителе, о предметах, которые он преподает, номере закрепленного за ним кабинета, о расписании занятий. Существуют учителя, которые не имеют собственного кабинета. Об учениках должны храниться следующие сведения: фамилия и имя, в каком классе учится, какую оценку имеет в текущей четверти по каждому предмету. Завуч должен иметь возможность добавить сведения о новом учителе или ученике, внести в базу данных четвертные оценки учеников каждого класса по каждому предмету, удалить данные об уволившемся учителе и отчисленном из школы ученике, внести изменения в данные об учителях и учениках, в том числе поменять оценку ученика по тому или иному предмету. В задачу завуча входит также составление расписания. Завучу могут потребоваться следующие сведения:
- Какой предмет будет в заданном классе, в заданный день недели на заданном уроке?
- Кто из учителей преподает в заданном классе?
- В каком кабинете будет 5-й урок в среду у некоторого класса?
- В каких классах преподает заданный предмет заданный учитель?
- Расписание на заданный день недели для указанного класса?
- Сколько учеников в указанном классе?
Необходимо предусмотреть возможность получения документа, представляющего собой отчет о работе школы. В этот отчет следует включить сведения об успеваемости за четверть по каждому предмету для каждого класса. Порядок следования классов в отчете - от младших к старшим. Необходимо подсчитать средний балл по каждому предмету, по каждому классу и по школе в целом, указать общее количество учеников в классе и школе, количество учеников, имеющих в четверти только оценки «5», только «4» и «5», имеющих хотя бы одну оценку «3», хотя бы одну оценку «2». Для каждого класса указать классного руководителя. Кроме того, в отчете должно быть указано количество учителей по каждому предмету и общее количество кабинетов в школе.
Задание №4
Пусть требуется создать программную систему, предназначенную для организаторов выставки собак. Она должна обеспечивать хранение сведений о собаках - участниках выставки и экспертах. Для каждой собаки в БД должны храниться сведения, о том, к какому клубу она относится, кличка, порода и возраст, сведения о родословной (номер документа, клички родителей), дата последней прививки, фамилия , имя , отчество и паспортные данные хозяина. На каждый клуб отводится участок номеров, под которыми будут выступать участники выставки. Сведения об эксперте должны включать фамилию и имя, номер ринга, который он обслуживает; клуб, название клуба, в котором он состоит. Каждый ринг могут обслуживать несколько экспертов. Каждая порода собак выступает на своем ринге, но на одном и том же ринге в разное время могут выступать разные породы. Итогом выставки является определение медалистов по каждой породе. Организатор выставки должен иметь возможность добавить в базу нового участника или нового эксперта, снять эксперта с судейства, заменив его другим, отстранить собаку от участия в выставке. Организатору выставки могут потребоваться следующие сведения;
- На каком ринге выступает заданный хозяин со своей собакой?
- Какими породами представлен заданный клуб?
- Какие медали и сколько заслужены клубом?
- Какие эксперты обслуживают породу?
- Количество участников по каждой породе?.
Необходимо предусмотреть возможность выдачи стандартной справки о призовом месте, занятом собакой на выставке и отчета о результатах выступления каждого клуба (сколько всего участников, какие породы, медалисты по породам).
Задание №5
Пусть требуется создать программную систему, предназначенную для работников приемной комиссии высшего учебного заведения. Она должна обеспечивать хранение, просмотр и изменение сведений об абитуриентах, а также о расписании экзаменов и консультаций. Результатом работы приемной комиссии должен быть список абитуриентов, зачисленных в институт.
Секретарь приемной комиссии регистрирует абитуриентов. Для каждого абитуриента в базу данных заносятся следующие сведения: фамилия, имя, отчество, паспортные данные, какое учебное заведение, где и когда окончил, наличие золотой или серебряной медали, название кафедры и факультета, на которые поступает абитуриент. При регистрации абитуриенту выдают экзаменационный лист, имеющий уникальный номер, и сообщают номер группы и потока. Группы формируются на период вступительных экзаменов и объединяются в потоки по 3-4 группы. Для каждой группы по каждому предмету в базу данных заносится экзаменационная ведомость. Оценка, полученная абитуриентом, может быть изменена на апелляции. Абитуриент может не только подать, но и забрать документы, а также перевести их на другую кафедру. Для каждого потока формируется расписание консультаций и экзаменов по предметам. Медалисты сдают только один экзамен. Известно количество мест на каждый факультет. Приемная комиссия по результатам экзаменов должна сформировать списки абитуриентов, зачисленных в институт. Секретарю приемной комиссии могут потребоваться следующие сведения:
- Список абитуриентов на заданный факультет?
- Оценки, полученные указанным абитуриентом?
- Когда и в какой аудитории будет консультация и экзамен у заданного абитуриента по указанному предмету?
- Где, когда и по каким предметам будут проходить экзамены у заданной группы?
- Конкурс на каждый факультет?
- Средний балл по каждому предмету на каждом факультете?
В случае, если абитуриент не прошел по конкурсу, необходимо предусмотреть возможность выдачи ему справки установленного образца о том, в какое учебное заведение поступал абитуриент, и какие оценки были получены им на вступительных экзаменах. Необходимо также предусмотреть возможность получения документа, представляющего собой сгруппированные по факультетам и по кафедрам списки абитуриентов, зачисленных в институт, с указанием набранных ими баллов по каждому предмету. Отчет должен содержать проходной балл по каждой кафедре, факультету и по институту в целом, а также количество абитуриентов, поступающих на кафедру, на факультет и в институт.
Задание №6
Пусть требуется создать программную систему, позволяющую отслеживать распределение по почтовым отделениям газет, печатающихся в типографиях города. Такая система должна обеспечивать хранение, просмотр и изменение сведений о газетах, почтовых отделениях, получающих газеты и о типографиях, выпускающих газеты. Сведения о газетах включают в себя: название газеты, индекс издания, фамилию, имя и отчество редактора, цену экземпляра газеты. Цены могут меняться. Возможно появление новых газет и изменение индекса существующего издания. Для типографий указываются их названия и адреса. В типографии разными тиражами печатаются газеты нескольких наименований. Типография может быть закрыта, тогда необходимо скорректировать работу других типографий с учетом потребностей почтовых отделений в газетах. Почтовое отделение имеет номер и адрес. На каждое почтовое отделение поступают в определенных количествах газеты разных наименований, причем часть экземпляров одной и той же газеты может быть напечатана в одной типографии, а часть - в другой.
- Пользователям системы может потребоваться следующая информация:
- По каким адресам печатаются газеты данного наименования?
- Фамилия редактора газеты, которая печатается в указанной типографии самым большим тиражом?
- На какие почтовые отделения (адреса) поступает газета, имеющая цену больше указанной?
- Какие газеты и куда (номер почты) поступают в количестве меньшем, чем заданное?
- Куда поступает данная газета, печатающаяся по данному адресу.
Необходимо предусмотреть возможность выдачи справки об индексе и цене указанной газеты и отчета о работе типографий с почтовыми отделениями города. Отчет должен содержать по каждой типографии следующие сведения: общее количество печатающихся в типографии газет, количество газет каждого наименования, какие газеты и в каком количестве типография отправляет в каждое почтовое отделение.
Задание №7
Пусть требуется создать программную систему, ориентированную на администрацию птицефабрики и позволяющую работать с информацией о работниках фабрики и об имеющихся на ней курах.
О каждой курице должна храниться следующая информация: вес, возраст, порода, количество ежемесячно получаемых от курицы яиц, а также информация о местонахождении курицы. Сведения о породе включают в себя: название породы, среднее количество яиц в месяц (производительность) и средний вес, номер рекомендованной диеты. Птицефабрика имеет несколько цехов, и за каждой курицей закреплена отдельная клетка. Код клетки, где находится курица, характеризуется номером цеха, номером ряда в цехе и номером клетки в ряду. О работниках птицефабрики в БД должна храниться следующая информация: паспортные данные, зарплата, закрепленные за работником клетки. Директор птицефабрики может принять или уволить работника, при этом не должно быть кур, не обслуживаемых ни ни одним работником. Количество кур может изменяться как в большую, так и в меньшую сторону, в отдельные моменты времени часть клеток может пустовать. Директору могут потребоваться следующие сведения:
- Какое количество яиц получают от каждой курицы данного веса, породы, возраста?
- В каком цехе наибольшее количество кур определенной породы?
- В каких клетках находятся куры указанного возраста с заданным номером диеты?
- Сколько яиц в день приносят куры указанного работника?
- Среднее количество яиц, которое получает в день каждый работник от обслуживаемых им кур?
- В каком цехе находится курица, от которой получают больше всего яиц.
- Сколько кур каждой породы в каждом цехе?
- Какое количество кур обслуживает каждый работник?
- Какова для каждой породы разница между показателями породы и средними показателями по птицефабрике?
Необходимо предусмотреть возможность выдачи справки о породе и информации о курах этой породы, имеющихся на фабрике. Требуется также сформировать отчет о работе птицефабрики за прошедший месяц. Отчет должен включать следующую информацию: количество кур и средняя производительность по каждой породе, общее количество кур на фабрике, общее количество яиц, полученное птицефабрикой за отчетный месяц, общее количество работников и их распределение по цехам.
Задание №8
Пусть требуется создать программную систему, предназначенную для директора продовольственного магазина. Такая система должна обеспечивать хранение сведений о магазине, об имеющихся в нем товарах, о торговых базах и товарах, хранящихся на этих базах. Магазин осуществляет закупку товаров на разных базах, предпочитая при этом закупать одни виды товара на одних базах, а другие на других. Магазин характеризуется классом, номером и имеет несколько отделов. Каждый товар в каждом магазине продается, по крайней мере, в одном отделе. Каждый отдел имеет заведующего. Товары, имеющиеся в магазине и хранящиеся на базах, характеризуются ценой, сортом и количеством. Розничные цены в магазине зависят от класса магазина.
Директор магазина должен иметь возможность изменить цену товара по своему усмотрению, осуществить закупку недостающего товара на базе. Он может также закрыть один из отделов или открыть новый, при этом товары могут перемещаться из отдела в отдел. Директору могут потребоваться следующие сведения:
- Какие товары имеются в магазине (на базе)?
- Какие отсутствующие товары может заказать магазин на базе?
- Какие товары, и в каком количестве имеются в отделе магазина?
- Список заведующих отделами магазина?
- Суммарная стоимость товара в каждом отделе?
- На каких базах, и в каких количествах есть товар нужного наименования?
Необходимо предусмотреть возможность выдачи документа, представляющего собой заявку на закупку товара на базе, и создания ежемесячного отчета о работе магазина с подсчетом прибыли. Отчет, сгруппированный по отделам, должен содержать перечень товаров, закупленных в отчетный месяц на базах (количество, наименование и сорт товара), а также перечень проданных товаров.
Задание №9
Пусть требуется создать программную систему, предназначенную для диспетчера автобусного парка. Такая система должна обеспечивать хранение сведений о водителях, о маршрутах и характеристиках автобусов.
Каждый водитель характеризуется паспортными данными, классом, стажем работы и окладом, причем оклад зависит от класса и стажа работы. Маршрут автобуса характеризуется номером маршрута, названием начального и конечного пункта движения, временем начала и конца движения, интервалом движения и протяженностью в минутах (время движения от кольца до кольца). Характеристиками автобуса являются: номер государственной регистрации автобуса, его тип и вместимость, причем вместимость автобуса зависит от его типа. Каждый водитель закреплен за отдельным автобусом и работает на определенном маршруте, но в случае поломки своего автобуса или болезни другого водителя может пересесть на другую машину. В базе должен храниться график работы водителей. Необходимо предусмотреть возможность корректировки БД в случаях поступления на работу нового водителя, списания старого автобуса, введения нового маршрута или изменения старого и т.п.
Диспетчеру автопарка могут потребоваться следующие сведения:
- Список водителей, работающих на определенном маршруте с указанием графика их работы?
- Какие автобусы обслуживают данный маршрут?
- Какие маршруты начинаются или заканчиваются в пункте с заданным названием?
- Когда начинается и заканчивается движение автобусов на каждом маршруте?
- Какова протяженность определенного маршрута?
- Какова общая протяженность маршрутов, обслуживаемых автопарком?
- Какие автобусы не вышли на линию, и по какой причине (неисправность, отсутствие водителя)?
- Сколько водителей каждого класса работает в автопарке?
- Водитель с самым большим стажем работы?Необходимо предусмотреть возможность выдачи справки о маршруте (протяженность, время и интервал движения, конечные пункты, кто обслуживает) и отчета по автопарку, сгруппированного по типам автобусов, с указанием маршрутов, обслуживаемых автобусами каждого типа. Для маршрутов должны быть указаны все характеристики, включая списки автобусов и водителей, обслуживающих каждый маршрут. Отчет должен содержать сведения о суммарной протяженности обслуживаемых маршрутов, о количестве имеющихся в автопарке автобусов каждого типа, о количестве водителей, их среднем возрасте и стаже.
Задание №10
Пусть требуется создать программную систему, предназначенную для работников справочной службы кинотеатров города. Такая система должна обеспечивать хранение сведений о кинотеатрах города, о фильмах, которые в них демонстрируются, о сеансах и билетах на эти сеансы. Сведения о кинотеатре - это его название, район города, где расположен кинотеатр, категория, вместимость. Сведения о фильме - это название фильма, режиссер, оператор, актеры, сыгравшие главные роли, жанр; производство, наличие призов кинофестивалей, продолжительность сеанса, кадр из фильма для рекламы. Кроме того, должна храниться информация о репертуаре кинотеатров на месяц, то есть о том какие фильмы, когда и где демонстрируются, о ценах на билеты и о количестве свободных мест на тот или иной сеанс. На разных сеансах в одном кинотеатре могут идти разные фильмы, а если в кинотеатре несколько залов, то и на одном. Кинотеатр может ввести новый фильм в репертуар или убрать фильм из репертуара. Работник справочной службы может корректировать перечень фильмов, находящихся в прокате - добавлять новые фильмы и снимать с проката, а также перечень кинотеатров, поскольку кинотеатры могут открываться или закрываться, причем иногда временно, например, на ремонт. Цена билета определяется прокатной стоимостью копии фильма, сеансом и категорией кинотеатра.
Справочной службе могут потребоваться следующие сведения о текущем состоянии проката фильмов в городе:
- Репертуар кинотеатра?
- Адрес и район кинотеатра ?
- Число свободных мест на данный сеанс в указанном кинотеатре?
- Цена билетов на данный сеанс в указанном кинотеатре?
- Жанр, производство и режиссер данного фильма ?
- Какие фильмы имеют награды, когда и в каких кинотеатрах они демонстрируются?
- В каких кинотеатрах в указанный день на указанных сеансах демонстрируется комедия?
- В каких кинотеатрах и когда демонстрируются фильмы с участием указанного актера?
Необходимо предусмотреть возможность создания афиши для кинотеатра, в которую будут помещены все имеющиеся в базе сведения о фильме, включая кадр из фильма, а также сведения о том, на каких сеансах этот фильм демонстрируется в указанном кинотеатре. Сотрудники справочной службы должны также иметь возможность получить сгруппированный по районам города отчет за прошедший месяц о прокате фильмов (сколько и какие фильмы, в каких кинотеатрах демонстрировались, средняя цена билета на эти фильмы в каждом кинотеатре, доход по каждому кинотеатру и по району в целом). В отчете также должно быть подсчитано, сколько всего фильмов находилось в прокате, сколько из них относятся к каждому из жанров, каков суммарный доход кинотеатров города за вычетом прокатной стоимости копий.
Задание №11
Пусть требуется создать программную систему, предназначенную для работников почтового отделения. Такая система должна обеспечивать хранение сведений о подписчиках газет и журналов, обслуживаемых отделением связи, и о почтальонах.
Каждое подписное издание характеризуется индексом, названием и подписной ценой. Данные о подписчиках включают в себя: фамилию, имя, отчество, домашний адрес, индексы получаемых изданий, дату, начиная с которой оформлена подписка, и срок подписки на каждое издание. Несколько домов объединяются в участок, который обслуживается одним почтальоном. Каждый почтальон может обслуживать несколько участков. В БД должны содержаться сведения о том, к каким участкам относятся подписчики газет, и об обслуживающем их почтальоне. Заведующий почтовым отделением может принять на работу и уволить почтальона, при этом участки не должны оставаться без обслуживания. Оператор почтовой связи должен иметь возможность по просьбе клиента оформить подписку, а также добавить в БД сведения о новом подписном издании. Оформление подписки связано с выдачей клиенту квитанции, в которой указывается общая стоимость подписки, что выписано, и на какой срок.
Возможны следующие запросы к БД:
- Определить наименование и количество экземпляров всех изданий, получаемых отделением связи.
- По заданному адресу определить фамилию почтальона, обслуживающего подписчика.
- Какие газеты выписывает гражданин с указанной фамилией, именем, отчеством?
- Сколько почтальонов работает в почтовом отделении?
- На каком участке количество экземпляров подписных изданий максимально?
- Каков средний срок подписки по каждому изданию?
Необходимо предусмотреть возможность получения отчета о доставке почтой газет и журналов. Отчет должен быть упорядочен по участкам. Для каждого участка указывается фамилия и инициалы почтальона, обслуживающего участок, и перечень доставляемых изданий (индекс и название издания, адрес доставки, срок подписки). По каждому изданию указывается средний срок подписки и количество экземпляров, а по участку - количество различных подписных изданий. В отчете должно быть указано сколько почтальонов работает в почтовом отделении, сколько всего участков оно обслуживает, сколько различных изданий доставляет подписчикам.
Задание №12
Пусть требуется создать программную систему, предназначенную для организаторов соревнований по футболу в рамках первенства страны. Такая система должна обеспечивать хранение сведений о командах, участвующих в первенстве, об игроках команд, о расписании встреч и их результатах, о цене билетов на игры.
Сведения о команде - название команды, город, где она базируется, имя главного тренера, место в таблице прошлого сезона, расписание встреч. . В один день команда может участвовать только в одной встрече. Сведения об игроке включают в себя фамилию и имя игрока, его возраст, номер и амплуа в команде. Сведения о стадионе, на котором происходит встреча содержат город, в котором он находится, название стадиона, и его вместимость . Цена билета на матч зависит от вместимости стадиона и положения встречающихся команд в турнирной таблице прошлого сезона (наибольшая - при игре тройки призеров, наименьшая - при игре тройки аутсайдеров). Организаторы соревнований должны иметь возможность внести изменения в данные о составе команд, перенести встречу.
Им могут потребоваться следующие сведения:
- Даты встреч указанной команды, ее противники и счет?
- Номера и фамилии игроков команд, участвовавших во встрече, которая проходила в указанный день в указанном городе?
- Цена, билета на матч между указанными командами?
- Игрок, забивший в турнире наибольшее количество мячей?
- Команды, имеющие наилучшую и наихудшую разницу забитых и пропущенных мячей?
- Самый молодой участник турнира?
- Команды, занявшие призовые места?
- Расписание игр по стадионам?
По результатам турнира должен быть представлен отчет с результатами каждой игры. Для каждой игры указывается место и время ее проведения, команды - участницы, счет, игроки, выходившие на поле, и игроки, забившие мячи (указать на какой минуте). В отчете должны быть указаны призеры турнира и команда, занявшая последнее место.
Задание №13
Пусть требуется создать программную систему, предназначенную для работника методического отдела института. Такая система должна обеспечивать хранение сведений о специальностях, по которым ведет подготовку институт, о факультетах и кафедрах, обеспечивающих эту подготовку, о дисциплинах, входящих в перечень подготовки по каждой специальности. Сведения о специальности - это код и название специальности, присваиваемая квалификация, продолжительность и форма обучения (дневная, вечерняя, заочная). Сведения о кафедре включают ее название, телефон (телефоны), факультет, к которому относится кафедра, данные о заведующем кафедрой (фамилия, имя, отчество, степень, звание). Сведения о дисциплине - это название дисциплины, в каком семестре (семестрах) и для каких специальностей она читается, сколько часов для каждой специальности отводится на лекции, лабораторные и практические занятия по этой дисциплине, на курсовое проектирование, виды отчетности (зачет, экзамен, текущий контроль). Сотрудник методического отдела может внести в БД информацию о новой дисциплине, изменить количество часов, отводимых под тот или иной вид учебной программы, изменить название кафедры или факультета, сведения о заведующем кафедрой, номер телефона кафедры.
Сотруднику методического отдела могут потребоваться следующие сведения:
- Названия дисциплин, которые читаются более одного семестра?
- Общее количество часов, отводимых на лабораторные работы в одном из семестров, проведение которых обеспечивает определенная кафедра?
- Название дисциплин, по которым проводятся лабораторные работы на факультете?
- Разница в часах, отведенных по каждой дисциплине на лабораторные и практические занятия в одном из семестров на заданном факультете?
- Дисциплины, по которым выполняют курсовые работы студенты указанной специальности?
- Для каких специальностей читается указанная дисциплина?
- Какое количество дисциплин входит в учебный план подготовки студентов по указанной специальности, и сколько лет осуществляется подготовка?
- По каким дисциплинам подготовка обеспечивается более, чем одной кафедрой?
Необходимо предусмотреть возможность выдачи справки о специальностях института и отчета по кафедрам о дисциплинах, обеспечиваемых кафедрой (название, семестры и специальности, в которых и для которых читается дисциплина, часы, отведенные на каждый вид занятий). Для каждой кафедры и института в целом должно быть подсчитано суммарное количество лекционных часов и часов на лабораторные и практические занятия, курсовые работы.
Задание №14
Пусть требуется создать программную систему для отдела кадров института. Такая система должна обеспечивать хранение сведений о преподавателях и других сотрудниках института. Эти сведения включают в себя паспортные данные сотрудника, данные трудовой книжки, ИНН, номер пенсионного свидетельства, название кафедры или отдела, в котором работает сотрудник, дата поступления на работу в институт, должность, степень, звание, правительственные награды, дата начала и конца отпуска в текущем году. Данные трудовой книжки - это ее номер и дата выдачи, а также даты и номера приказов о зачислении и увольнении, о переходе в другое подразделение или об изменении должности. Кроме того, для преподавателей должна быть известна нагрузка в текущем году (суммарное количество часов), дата заключения контракта, дата окончания контракта, педагогический стаж, и перечень дисциплин, которые он преподает или может преподавать.
Сотрудник отдела кадров может вносить в БД следующие изменения:
Удалить уволившегося или добавить в базу нового сотрудника;
Внести новую дату заключения контракта;
Изменить для каждого сотрудника даты начала и конца отпуска;
Изменить должность определенного сотрудника.
Сотруднику отдела кадров могут потребоваться следующие сведения:
- Список преподавателей, которые работают на определенной кафедре, с указанием их категории (доцент, ассистент, ассистент к.н., профессор, старший преподаватель) и стажа преподавательской работы?
- Средняя нагрузка ассистентов указанной кафедры?
- Дисциплины, которые читает каждый из доцентов указанной кафедры?
- Количество преподавателей каждой из категорий, работающих в институте?
- Список сотрудников, находящихся в отпуске в определенном месяце;
- Список преподавателей, у которых истек срок контракта.
- Список сотрудников, награжденных медалью «За оборону Ленинграда»?
Подобные документы
Авторизация с каталогами проектирования базы данных магазина. Задачи базы данных: учет всех товаров, поиск и выдача данных о клиентах, адрес, телефоны, цена и наличие товара. Этапы проектирования базы данных. Схема данных, создание запросов и их формы.
реферат [1,6 M], добавлен 22.10.2009Понятие информации, автоматизированных информационных систем и банка данных. Общая характеристика описательной модели предметной области, концептуальной модели и реляционной модели данных. Анализ принципов построения и этапы проектирования базы данных.
курсовая работа [1,7 M], добавлен 18.01.2012Выбор методологии проектирования и системы управления базами данных. Описание предметной области и проектирование физической структуры базы данных. Реализация проекта в MS SQL Server 2008. Построение инфологической модели. Ограничения целостности связи.
курсовая работа [679,2 K], добавлен 22.01.2013Рассмотрение основных этапов проектирования базы данных "Расписание": создание информационных таблиц, определение схем для связи данных в реестрах. Изучение методов организации форм (режимы автоматический, Мастер, конструктор), запросов и отчетов.
курсовая работа [1,7 M], добавлен 06.02.2010Этапы проектирования базы данных. Инфологическое проектирование. Определение требований к операционной обстановке. Выбор СУБД и других программных средств. Логическое и физическое проектирование реляционной базы данных. Технология доступа к информации.
курсовая работа [2,3 M], добавлен 06.10.2016Понятие базы данных, модели данных. Классификация баз данных. Системы управления базами данных. Этапы, подходы к проектированию базы данных. Разработка базы данных, которая позволит автоматизировать ведение документации, необходимой для деятельности ДЮСШ.
курсовая работа [1,7 M], добавлен 04.06.2015Освоение методов проектирования баз данных и работы с базами данных в среде СУБД. Ведение точного учета поступивших и реализованных товаров и определение их остатка с помощью БД "Оптовый магазин". Преимущества и недостатки спроектированной базы данных.
курсовая работа [4,8 M], добавлен 12.01.2015Процессы обработки информации. Эффективность автоматизированной информационной системы. Система управления базой данных. Локальная и распределенная система банков и баз данных. Этапы проектирования базы данных. Различие уровней представления данных.
контрольная работа [75,7 K], добавлен 07.07.2015Характеристика понятия базы данных, структурированных и взаимосвязанных методов, обеспечивающих добавление, выборку и отображение данных. Изучение предметной области, даталогического проектирования, требований к техническому и аппаратному обеспечению.
курсовая работа [1,6 M], добавлен 10.01.2012Анализ предметной области, этапы проектирования автоматизированных информационных систем. Инструментальные системы разработки программного обеспечения. Роль CASE-средств в проектировании информационной модели. Логическая модель проектируемой базы данных.
курсовая работа [410,6 K], добавлен 21.03.2011