Курсовая работа: Проектирование базы данных
Сущность является наиболее общим понятием по сравнению с объектом предметной области. При построении диаграмм «сущность-связь» возникают некоторые сложности, связанные с тем, что одни и те же пользователи БД имеют различные представления одних и тех же фактов.
Проектирование реализации также относится к 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 группы. Для каждой группы по каждому предмету в базу данных заносится экзаменационная ведомость. Оценка, полученная абитуриентом, может быть изменена на апелляции. Абитуриент может не только подать, но и забрать документы, а также перевести их на другую кафедру. Для каждого потока формируется расписание консультаций и экзаменов по предметам. Медалисты сдают только один экзамен. Известно количество мест на каждый факультет. Приемная комиссия по результатам экзаменов должна сформировать списки абитуриентов, зачисленных в институт. Секретарю приемной комиссии могут потребоваться следующие сведения: