Цель работы: изучить на практике основные приемы нормализации баз данных;
приобрести опыт проектирования реляционных баз данных;
проверить глубину полученных ранее знаний и навыков работы с СУБД.
Контрольные вопросы
1. Нормализация базы данных. Правила нормализации.
2. Типы данных MS Access. Какие типы данных не могут быть использованы при определении первичного ключа?
3. Свойства полей (краткая характеристика).
4. Для чего применяется индексирование полей?
5. Отношения между таблицами. Установка связей между таблицами при создании схемы данных.
Содержание отчета
1. Титульный лист.
2. Постановка задачи.
3. Структурная схема базы данных с имеющимися связями (схема данных).
4. Спецификации для каждой таблицы (тип данных, свойства полей).
5. Содержимое каждой таблицы согласно постановке задачи.
6. Краткие ответы на контрольные вопросы.
7. Выводы.
Порядок выполнения работы
1. Разработать структуру базы данных для хранения необходимой информации согласно варианту. При необходимости ввести дополнительные поля.
2. Реализовать проект средствами MS Access.
3. Сформировать схему данных: установить связи между исходными таблицами, обеспечить условия ссылочной целостности данных.
4. Создать необходимые формы для информационного наполнения базы данных. Формы должны иметь элементы управления, обеспечивающие удобство работы с данными (например, кнопки переходов между записями, кнопки открытия других форм и т.п.).
5. Выполнить информационное наполнение базы данных. Значения полей базовых таблиц задать самостоятельно.
6. Создать запросы к базе данных: по одному для каждого известного Вам вида запросов на выборку. В качестве простого запроса создать запрос «Исходные данные», позволяющий отобразить всю информацию из базовых таблиц.
7. Создать отчеты, содержащие данные базовых таблиц и результаты запросов.
8. Оформить отчет о работе.
Вариант №1 "Договора подряда"
База данных "Договора подряда" должна хранить следующую информацию:
1) Фамилия, имя, отчество сотрудника.
2) Название должности сотрудника.
3) Домашний адрес сотрудника.
4) Характеристика сотрудника.
5) Наименование проекта, в котором сотрудник принимал участие.
6) Дата начала/окончания проекта.
7) Количество дней, отработанных сотрудником в проекте.
8) Должностные оклады.
9) Описание проекта.
База данных должна содержать информацию о 10 сотрудниках, 4 должностях, 2 проектах. Предусмотреть, чтобы не менее 5 сотрудников работали в 2 проектах одновременно.
Вариант №2 "Телефонные переговоры"
База данных "Телефонные переговоры" должна хранить следующую информацию:
1) Фамилия, имя, отчество абонента.
2) Телефонный номер абонента.
3) Телефонный код и название города, куда звонил абонент.
4) Дата разговора.
5) Продолжительность разговора.
6) Тариф за 1 минуту разговора с указанным городом.
7) Домашний адрес абонента.
База данных должна содержать информацию о 10 абонентах, 5 городах. Предусмотреть, чтобы 5 абонентов сделали не менее 2 телефонных разговоров с различными городами.
Вариант №3 "Торговые операции"
База данных "Торговые операции" должна хранить следующую информацию:
1) Название фирмы-клиента.
2) Фамилия, имя, отчество руководителя.
3) Юридический адрес фирмы-клиента.
4) Контактный телефон.
5) Название проданного товара.
6) Единица измерения проданного товара.
7) Количество проданного товара.
8) Дата продажи.
9) Цена товара.
10) Скидка.
11) Описание товара.
База данных должна содержать информацию о 10 фирмах, 5 товарах. Предусмотреть, чтобы 5 фирм сделали не менее 2 покупок различных товаров.
Вариант №4 "Преподаватели вуза"
База данных "Преподаватели вуза" должна хранить следующую информацию:
1) Фамилия, имя, отчество преподавателя.
2) Телефон преподавателя.
3) Место работы преподавателя.
4) Название должности преподавателя.
5) Предмет, который ведет преподаватель.
6) Должностная почасовая ставка преподавателя.
7) Количество проведенных часов по данному предмету.
8) Домашний адрес преподавателя.
9) Характеристика.
База данных должна содержать информацию о 10 преподавателях, 3 должностях, 4 предметах. Предусмотреть, чтобы 5 преподавателей проводили занятия по 2 предметам одновременно.
Вариант №5 "Библиотека"
База данных "Библиотека" должна хранить следующую информацию:
1) Фамилия, имя, отчество читателя.
2) Домашний адрес читателя.
3) Телефон читателя.
4) Дата рождения читателя.
5) Номер читательского билета.
6) Автор книги, которую взял читатель.
7) Название книги.
8) Дата выдачи книги.
9) Дата возврата книги.
10) Цена книги.
База данных должна содержать информацию о 7 читателях, 7 книгах. Предусмотреть, чтобы каждый читатель брал не менее 2 книг.
Вариант №6 "Банковские вклады"
База данных "Банковские вклады" должна хранить следующую информацию:
1) Фамилия, имя, отчество вкладчика.
2) Номер счета в банке.
3) Дата посещения.
4) Сумма взноса.
5) Сумма выдачи.
6) Серия и номер паспорта вкладчика.
7) Домашний адрес вкладчика.
База данных должна содержать информацию о 10 вкладчиках. Предусмотреть, чтобы каждый вкладчик посещал банк не менее 2 раз.
Вариант №7 "Резервирование билетов"
База данных "Резервирование билетов" должна хранить следующую информацию:
1) Фамилия, имя, отчество пассажира.
2) Домашний адрес пассажира.
3) Телефон пассажира
4) Номер поезда.
5) Тип поезда (скоростной, скорый, пассажирский).
6) Номер вагона.
7) Тип вагона (общий, плацкартный, купе, спальный).
8) Дата отправления.
9) Время отправления/прибытия.
10) Пункт назначения.
11) Расстояние до пункта назначения.
12) Стоимость проезда до пункта назначения.
13) Доплата за срочность
14) Доплата за тип вагона.
База данных должна содержать информацию о 5 пассажирах, 3 поездах, 4 пунктах назначения. Предусмотреть, чтобы 5 пассажиров пользовались услугами резервирования билетов не менее 2 раз.
Вариант №8 "Фотосервис"
База данных "Фотосервис" должна хранить следующую информацию:
1) Фамилия, имя, отчество клиента.
2) Домашний адрес клиента.
3) Телефон клиента
4) Наименование фотоуслуги.
5) Описание фотоуслуги (характеристика)
6) Количество единиц заказа.
7) Цена за единицу.
8) Дата приемки заказа.
9) Дата выдачи заказа.
База данных должна содержать информацию о 10 клиентах, 5 видах услуг. Предусмотреть, чтобы каждый клиент делал заказы не менее, чем на 2 фотоуслуги.
Вариант №9 "Коммунальные услуги"
База данных "Коммунальные услуги" должна хранить следующую информацию:
1) Фамилия, имя, отчество квартиросъемщика.
2) Домашний адрес квартиросъемщика.
3) Номер лицевого счета.
4) Количество жильцов.
5) Площадь квартиры, кв.м
6) Вид услуги (название платежа).
7) Стоимость услуги на квадратный метр площади.
8) Стоимость услуги на 1 жильца.
База данных должна содержать информацию о 10 квартиросъемщиках, 5 видах. услуг. Стоимость одних услуг должна определяться площадей квартиры, других — количеством жильцов. Предусмотреть, чтобы каждый квартиросъемщик пользовался не менее чем 3 коммунальными услугами.
Вариант №10 "Прокат товаров"
База данных "Прокат товаров" должна хранить следующую информацию:
1) Фамилия, имя, отчество клиента.
2) Серия и номер паспорта клиента.
3) Домашний адрес клиента.
4) Телефон клиента
5) Наименование товара.
6) Описание товара.
7) Стоимость товара.
8) Дата выдачи.
9) Дата возврата.
10) Стоимость проката за сутки.
База данных должна содержать информацию о 10 клиентах, 5 товарах. Предусмотреть, чтобы 5 клиентов пользовались услугами проката не менее 2 раз.
Вариант №11 "Успеваемость студентов"
База данных "Успеваемость студентов" должна хранить следующую информацию:
1) Фамилия, имя, отчество студента.
2) Домашний адрес студента.
3) Телефон студента
4) Дата рождения.
5) Предмет.
6) Дата сдачи.
7) Оценка,
8) Фамилия, имя, отчество преподавателя.
9) Размер стипендии.
База данных должна содержать информацию о 10 студентах, 4 предметах, 2 преподавателях. Предусмотреть, чтобы 5 студентов сдавали не менее 2 экзаменов.
Вариант №12 "Рейтинг студентов"
База данных "Рейтинг студентов" должна хранить следующую информацию:
1) Фамилия, имя, отчество студента.
2) Домашний адрес студента.
3) Телефон студента.
4) Дата рождения.
5) Предмет.
6) Месяц, за который определяется рейтинг.
7) Текущая рейтинговая оценка.
8) Максимальная рейтинговая оценка по предмету
9) Фамилия, имя, отчество преподавателя.
База данных должна содержать информацию о 10 студентах, 4 предметах, 2 преподавателях. Предусмотреть, чтобы 5 студентов имели рейтинговую оценку не менее чем по 2 предметам.
Вариант № 1З "Доставка пиццы"
База данных "Доставка пиццы" должна хранить следующую информацию:
1) Фамилия, имя, отчество клиента.
2) Адрес клиента
3) Телефон.
4) Дата заказа.
5) Название пиццы.
6) Количество заказанной пиццы.
7) Цена пиццы.
8) Описание пиццы.
9) Скидка
База данных должна содержать информацию о 10 клиентах, 5 видах пиццы. Предусмотреть, чтобы 5 клиентов сделали не менее 2 заказов.
Вариант № 14 "Туристическая фирма"
База данных "Туристическая фирма" должна хранить следующую информацию:
1) Фамилия, имя, отчество клиента
2) Телефон клиента
3) Адрес клиента (город, улица…)
4) Дата поездки, длительность поездки
5) Название маршрута
6) Количество заказанных путевок
7) Цена путевки
8) Предоставленная скидка
9) Описание маршрута
База данных должна содержать информацию о 10 клиентах, 5 маршрутах. Предусмотреть, чтобы 5 клиентов заказали не менее 2 путевок по различным маршрутам.
Вариант №15 "Салон видеопроката"
База данных "Салон видеопроката" должна хранить следующую информацию:
1) Фамилия, имя, отчество клиента.
2) Серия и номер паспорта клиента.
3) Домашний адрес клиента.
4) Телефон клиента
5) Наименование видеокассеты.
6) Описание видеокассеты.
7) Залоговая стоимость видеокассеты.
8) Дата выдачи.
9) Дата возврата.
10) Стоимость проката за сутки.
База данных должна содержать информацию о 7 клиентах, 7 видеокассетах. Предусмотреть, чтобы 5 клиентов пользовались услугами проката не менее 2 раз.
Вариант №16 "Автосалон"
База данных "Автосалон" должна хранить следующую информацию:
1) Модель автомобиля.
2) Год выпуска.
3) Цвет автомобиля.
4) Цена автомобиля.
5) VIN-код (идентификационный номер автомобиля).
6) Дата продажи автомобиля.
7) Серия и номер паспорта покупателя.
8) Фамилия, имя, отчество покупателя.
9) Статус покупателя (постоянный или нет)
10) Телефон покупателя.
11) ФИО менеджера, оформившего сделку.
База данных должна содержать информацию о 10 автомобилях, 3 менеджерах, 8 продажах, 6 покупателях. Предусмотреть, чтобы 2 покупателя приобретали автомобили не менее 2 раз.
Вариант №17 "Птицеферма"
База данных " Птицеферма" должна хранить следующую информацию:
1) Вид птицы.
2) Количество птиц данного вида.
3) Средний вес птиц данного вида.
4) Цена мяса данного вида птицы за килограмм.
5) ФИО или название скупщика данного вида птицы.
6) Статус скупщика (юридическое или физическое лицо).
7) Адрес скупщика.
8) Телефон скупщика.
9) Дата продажи.
10) Количество проданных птиц данного вида.
База данных должна содержать информацию о 6 видах птиц, 4 скупщиках, 10 продажах. Предусмотреть, чтобы несколько скупщиков приобретали более одного вида птицы.
Вариант №18 "Сад"
База данных "Сад" должна хранить следующую информацию:
1) Номер дерева.
2) Породу дерева.
3) Высоту дерева.
4) Вечнозеленое дерево или нет.
5) Плодоносящее дерево или нет.
6) Год посадки.
7) Период цветения.
8) Вес последнего снятого урожая с данного дерева.
9) ФИО садовника, ответственного за данную породу.
10) Телефон садовника, ответственного за данную породу.
База данных должна содержать информацию о 16 деревьях, 5 породах и 3 садовниках. Предусмотреть, чтобы один садовник мог выращивать несколько пород деревьев.
Вариант №19 "Рецепты"
База данных "Рецепты" должна хранить следующую информацию:
1) Название блюда.
2) Ингредиенты.
3) Количество ингредиента.
4) Единицы измерения ингредиента (из списка: л., мл., гр., шт.).
5) Цена ингредиента.
6) Калории на грамм ингредиента.
7) Вид обработки ингредиента (из списка: взболтать, взбить, сварить, поджарить, подкоптить, как есть).
8) Время обработки ингредиента.
9) Вид обработки блюда (из списка: варить, жарить, тушить, коптить, готово к употреблению).
10) Время обработки блюда.
База данных должна содержать информацию о 7 блюдах и 16 ингредиентах. Предусмотреть, чтобы один и тот же ингредиент использовался в нескольких рецептах.
Вариант №20 "Подержанные автомобили"
База данных " Подержанные автомобили " должна хранить следующую информацию:
1) Марку и модель автомобиля (например, Ford – марка, Focus – модель).
2) Год выпуска.
3) Объем (л) и мощность (л.с.) двигателя.
4) Тип кузова (из списка: седан, хэтчбэк, универсал, пикап).
5) Цвет автомобиля.
6) Цена автомобиля.
7) VIN-код (идентификационный номер автомобиля).
8) Дата поступления автомобиля в салон.
9) Дата продажи автомобиля.
10) Фамилия, имя, отчество покупателя.
11) Телефон покупателя.
База данных должна содержать информацию о 10 автомобилях, 5 моделях, 7 продажах, 5 покупателях. Предусмотреть, чтобы часть покупателей приобретали автомобили не менее 2 раз.