Й этап. Разработка информационно-логической модели предметной области.
Вся информация о предметной области может быть логично разделена на 3 таблицы:
Клиенты, Автомобили, Заказы.
При этом выполняются основные требования к содержанию таблиц:
1. Каждая таблица содержит информацию только на одну тему.
2. Информация в таблицах не дублируется.
3. Для связи между таблицами заданы первичные ключи, однозначно определяющие каждую запись в таблице.
Содержание базовых таблиц приведено ниже:
Таблица Клиенты | Таблица Автомобили | Таблица Заказы |
1. Код клиента (ключ) | 1. Код модели (ключ) | 1. Код заказа (ключ) |
2. Фамилия | 2. Модель | 2. Код клиента |
3. Имя | 3. Мощность двигателя | 3. Код Модели |
4. Отчество | 4. Цвет | 4. Дата заказа |
5. Адрес | 5. Количество дверей | 5. Скидка, % |
6. Телефон | 6. Заводская цена | 6. Оплачено |
7. Издержки (транспортные, предпродажные) | ||
8. Специальная модель | ||
9. Дополнительное оснащение |
При разработке полей для каждой таблицы необходимо учитывать:
· Каждое поле должно быть связано с темой таблицы.
· Не включать в таблицу данные, которые являются результатом вычисления.
· Информацию следует разбивать на наименьшие логические единицы (Например, поля «Индекс», «Страна», «Населенный пункт», «Почтовый адрес», а не общее поле «Адрес»).
Й этап. Определение отношений между таблицами.
Поскольку для проектируемой БД выполнены требования нормализации, между таблицами Клиенты-Заказы и Автомобили-Заказы могут быть установлены
одно-многозначные отношения (1 : ∞ ), которые поддерживаются реляционной СУБД.
Связь между таблицами устанавливается с помощью ключей Код клиента и
Код модели, которые в главных таблицах Клиенты и Автомобили являются первичными, а в таблице-связке Заказы - внешними.
4-й этап. Создание таблиц БД средствами СУБД MS Access.
4.1. Загрузить СУБД MS Access. Создать в рабочей папкефайл БД, присвоив имя toyota. Заполнить свойства БД.
4.2. Выбрать в окне БД вкладку Таблицы.
4.3. Создать макет таблицы Автомобили в режиме Конструктора, используя нижеприведенные данные об именах полей, их свойствах и типах данных.
*Все поля, за исключением поля Другое оснащение, должны быть обязательными для заполнения (Свойство Обязательное поле: Да).
Имя поля | Тип данных | Описание | Свойства поля |
Код модели | Числовой | Ключевое поле, код модели по заводскому каталогу | Индексированное поле: Да/Совпадения не допускаются Ключевое поле задается в меню Правка/Ключевое поле |
Модель | Текст | Тип кузова | Размер поля: 20, Значение по умолчанию: Corolla Индексированное поле: Да/Совпадения допускаются (одна и та же модель может встречаться в БД многократно с различными вариантами оснащения) |
Мощность | Текст | Мощность двигателя (кВт/л.с.) | Размер поля: 10 Индексированное поле: Нет |
Цвет | Текст | Цвет кузова | Размер поля: 20 Индексированное поле: Нет |
Количество дверей | Числовой | 2 или 4 | Размер поля: Байт Формат: Основной Число десятичных знаков: 0 Значение по умолчанию: 4 Условие на значение: 2 Or 4 Сообщение об ошибке: Данное поле может содержать только 2 или 4 Индексированное поле: Нет |
Коробка передач | *Мастер подстановок, фиксированный набор значений | Автоматика или ручная | Размер поля: 12 Значение по умолчанию: Ручная Условие на значение: “Ручная” Or “Автоматика” Сообщение об ошибке: Допустимы только значения “Ручная” или “Автоматика” Индексированное поле: Нет |
Обивка | *Мастер подстановок, фиксированный набор значений | Велюр, кожа, ткань | Размер поля: 10 Индексированное поле: Нет |
Другое оснащение | Memo | Дополнительные аксессуары | Значение по умолчанию: Радио/плейер, раздвижная крыша |
Заводская цена | Денежный | Заводская продажная нетто-цена | Формат: Денежный Число десятичных знаков: Auto Индексированное поле: Нет |
Транспортные издержки | Денежный | Издержки на доставку | Формат: Денежный Число десятичных знаков: Auto Индексированное поле: Нет |
Предпродажные издержки | Денежный | Издержки на предпродажную подготовку | Формат: Денежный Число десятичных знаков: Auto Значение по умолчанию: 105 Индексированное поле: Нет |
Специальная модель | Логический | Спец. модель или стандартная | Формат: Да/Нет |
*Мастер подстановок позволяет создать для указанных полей список, из которого выбирается значение.
4.4. Перейти в режим Таблицы, сохранив созданный макет таблицы под именем Автомобили.
4.5. Добавить в таблицу Автомобили 3 записи:
Код модели | |||
Модель | Corolla Liftback | Corolla CompactGT | Corolla CompactXL |
Мощность | 69/90 | 100/139 | 90/135 |
Цвет | Бутылочное стекло | Черный | Небесно-голубой |
Количество дверей | |||
Коробка передач | Автоматика | Ручная | Ручная |
Обивка | Ткань | Кожа | Велюр |
Другое оснащение | Радио/плейер, раздвижная крыша, лаковое покрытие “Металлик” | Радио/плейер, раздвижная крыша, алюмин. дворники | Электро-подъемник окон, раздвижная крыша |
Заводская цена | |||
Транспортные издержки | |||
Предпродажные издержки | |||
Специальная модель | Нет | Да | Да |
4.6. Создать макет таблицы Клиенты в режиме Конструктора.
*Обязательные поля Код клиента, Фамилия, Страна.
Имя поля | Тип данных | Описание | Свойства поля(определяют правила сохранения, отображения и обработки данных в поле) |
Код клиента | Счетчик | Ключевое поле, уникальный номер клиента в БД | Индексированное поле: Да/Совпадения не допускаются Ключевое поле задается в меню Правка/Ключевое поле |
Фамилия | Текст | Фамилия | Размер поля: 40, Индексированное поле: Да/Совпадения допускаются |
Имя | Текст | Имя | Размер поля: 20, Индексированное поле: Да/Совпадения допускаются |
Отчество | Текст | Отчество | Размер поля: 40, Индексированное поле: Да/Совпадения допускаются |
Индекс | Числовой | Почтовый индекс | Размер поля: Длинное целое, Индексированное поле: Да/Совпадения допускаются |
Страна | Текст | Название страны | Размер поля: 20, Индексированное поле: Да/Совпадения допускаются |
Населенный пункт | Текст | Название населенного пункта | Размер поля: 40, Индексированное поле: Да/Совпадения допускаются |
Почтовый адрес | Текст | Почтовый адрес | Размер поля: 50, Индексированное поле: Нет |
Телефон | Текст | Контактный телефон | Размер поля: 20, Индексированное поле: Нет |
4.7. Добавить в таблицу Клиенты 3 записи. (Перейти в режим Таблицы, сохранив макет таблицы под именем Клиенты)
4.8. Создать в режиме Конструктора макет таблицы Заказы.
*Все поля, за исключением поля Скидка, являются обязательными для заполнения.
Имя поля | Тип данных | Описание | Свойства поля(определяют правила сохранения, отображения и обработки данных в поле) |
Код заказа | Счетчик | Ключевое поле, уникальный номер заказа | Индексированное поле: Да/Совпадения не допускаются Ключевое поле задается в меню Правка/Ключевое поле |
Код модели | Числовой, *Мастер подстановок | Внешний ключ, для связи с таблицей Автомобили | Размер поля: Длинное целое Индексированное поле: Да, допускаются совпадения |
Код клиента | Числовой, *Мастер подстановок | Внешний ключ, для связи с таблицей Клиенты | Размер поля: Длинное целое Индексированное поле: Да, допускаются совпадения |
Дата заказа | Дата/время | Дата формирования заказа ДД.ММ.ГГ | Формат: Краткий формат даты Индексированное поле: Да/Совпадения допускаются |
Скидка | Числовой | Размер скидки в % | Размер поля: Одинарное с плавающей точкой Формат: Процентный Условие на значение: Between 0 And 1 |
* Используя Мастер подстановок, сформировать для полей Код клиента и Код модели список выбора из таблиц Клиенты и Автомобили(сбросить флажок Скрыть ключевое поле).
4.9. Добавить 5 записей в таблицу Заказы.
Й этап. Создание схемы данных БД (связей между таблицами).
5.1. Выполнить команду Схема данных из меню Сервис. В диалогом окне Добавление таблицы последовательно добавить все три таблицы. Закрыть диалоговое окно.
5.2. Установить связь между таблицами Клиенты-Заказы, Автомобили-Заказы: выделить ключевое поле в главной таблице (Клиенты или Автомобили) и перетащить его на соответствующее поле таблицы-связки Заказы. Обеспечить целостность данных.
5.3. Сохранить макет схемы данных.
Лабораторная работа №3
Проектирование и заполнение индивидуальной базы данных
Цель работы: изучить основные приемы нормализации баз данных;
приобрести опыт проектирования реляционных баз данных.
Контрольные вопросы
1. Нормализация базы данных. Правила нормализации.
2. Типы данных MS Access. Какие типы данных не могут быть использованы при определении первичного ключа?
3. Свойства полей (краткая характеристика).
4. Для чего применяется индексирование полей?
5. Отношения между таблицами. Установка связей между таблицами при создании схемы данных.
Содержание отчета
1. Титульный лист.
2. Постановка задачи.
3. Структурная схема базы данным с имеющимися связями.
4. Спецификации для каждой таблицы (тип данных, свойства полей).
5. Содержимое каждой таблицы согласно постановке задачи.
6. Краткие ответы на контрольные вопросы.
7. Выводы.
8. Список использованной литературы.
Порядок выполнения работы
1. Разработать структуру базы данных для хранения необходимой информации согласно варианту. При необходимости ввести дополнительные поля.
2. Реализовать проект средствами MS Access. Спецификации таблиц получить с использованием команды Сервис/Анализ/Архивариус.
3. Сформировать схему данных: установить связи между исходными таблицами, обеспечить условия ссылочной целостности данных. Печать схемы выполнить с помощью команды Файл/Печать схемы данных.
4. Выполнить информационное наполнение базы данных. Значения полей базовых таблиц задать самостоятельно.
5. Оформить отчет.
Вариант №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 раз.
Лабораторная работа №4
Формирование запросов типа выборки
Цель работы: приобрести практические навыки создания простых и многотабличных запросов на выборку;
научиться применять статистические функции для подведения итогов по группам;
приобрести опыт использования в запросах параметров и создания вычисляемых полей.
Контрольные вопросы:
1. Назначение запросов. Отличие запросов от таблиц БД.
2. На основе каких объектов БД может формироваться запрос?
3. Виды запросов.
4. Назовите основные этапы при создании запросов по образцу.
5. Что такое условие отбора? Как задать простое условие для отбора данных? Приведите примеры.
6. Как создать вычисляемое поле в запросе? задать для поля пользовательский формат? Приведите примеры.
7. Когда используются и как создаются Запросы с параметрами. Приведите примеры.
8. Каковы особенности использования в запросах статистических функций?
9. Каково назначение и особенности создания перекрестного запроса?
Содержание отчета:
1. Титульный лист.
2. Цель работы.
3. Постановка задачи к каждому заданию.
4. Порядок формирования запроса (заполненные бланки графических запросов по образцу).
5. Результаты выполнения запросов.
6. Краткие ответы на контрольные вопросы.
7. Выводы.
8. Список использованной литературы.
Порядок выполнения работы:
Формирование запросов 1,13 выполняется в режиме Мастера, 2-12 – в режиме Конструктора.
1. Запрос "Исходные данные".
В режиме Мастера простого запроса, сформировать запрос на выборку, позволяющий отобразить всю информацию из базовых таблиц.
Названия полей, включаемых в запрос Исходные данные, приведены по вариантам в лабораторной работе № 3.
* Исключить повторение первичных ключевых полей из главных таблиц!
2. Запрос "Проживающие по заданному адресу".
В режиме Конструктора на основе базовой таблицы, содержащей персональные сведения, сформировать запрос на выборку, который выдает список проживающих на одной улице.
Название улицы выбрать самостоятельно.
Пример.Сформировать список клиентов БД Тойота, проживающих на улице Якуба Колоса.
3. Запрос "Алфавитный список".
В режиме Конструктора на основе базовой таблицы, содержащей персональные сведения, сформировать запрос на выборку, который выдает список фамилий в указанном буквенном диапазоне.
Начальную и конечную буквы диапазона выбрать самостоятельно.
Отсортировать список в алфавитном порядке.
Пример.Сформировать список клиентов БД Тойота, фамилии которых в буквенном диапазоне от А до С (включительно).
4. Запрос "Список *** с условием".
Базовые таблицы для формирования запроса выбрать самостоятельно в соответствии с вариантом.
В режиме Конструктора на основе выбранных базовых таблиц сформировать запрос на выборку, который выдает на экран:
вариант 1)список сотрудников с должностным окладом не менее определенного значения. Величиной оклада задаться самостоятельно.
вариант 2)список абонентов, разовая продолжительность разговора которых не превышает определенного значения. Значением продолжительности разговора задаться самостоятельно.
вариант 3)список товаров, цена которых не превышает определенного значения. Значением цены товара задаться самостоятельно.
вариант 4)список преподавателей, должностная почасовая ставка которых не превышает определенного значения. Величиной ставки задаться самостоятельно.
вариант 5)список книг, цена которых не превышает определенного значения. Значением цены книги задаться самостоятельно.
вариант 6)список вкладчиков, разовая сумма взноса которых не менее определенного значения. Величиной суммы взноса задаться самостоятельно.
вариант 7)список пунктов назначения, расстояние до которых не превышает определенного значения. Величину расстояния задать самостоятельно.
вариант 8)список фотоуслуг, цена которых не превышает определенного значения. Значением цены фотоуслуги задаться самостоятельно.
вариант 9)список коммунальных услуг, стоимость которых не менее определенного значения. Величиной стоимости услуги задаться самостоятельно.
вариант 10)список товаров, залоговая стоимость которых не превышает определенного значения. Значением стоимости товара задаться самостоятельно.
вариант 11)список студентов, размер стипендии которых не менее определенного значения. Величиной стипендии задаться самостоятельно.
вариант 12)список студентов, рейтинговая оценка которых не менее определенного значения. Значением рейтинговой оценки задаться самостоятельно.
вариант 13)список названий пиццы, цена за 1 кг которых не превышает определенного значения. Величиной цены задаться самостоятельно.
вариант 14)список маршрутов, цена путевки которых не превышает определенного значения. Величиной цены задаться самостоятельно.
вариант 15)список видеокассет, залоговая стоимость которых не превышает определенного значения. Значением стоимости видеокассет задаться самостоятельно.
5-6. Запросы "Фамилия, преобразованная к верхнему (нижнему) регистру".
В режиме Конструктора на основе базовой таблицы, содержащей персональные сведения, сформировать 2 запроса на выборку, которые выдают список всех фамилий, преобразованных к верхнему (нижнему) регистру.
Для формирования запросов использовать разные способы.
Отсортировать список в прямом (обратном) алфавитном порядке.
7. Запрос "Фамилии и инициалы".
В режиме Конструктора на основе базовой таблицы, содержащей персональные сведения, сформировать запрос на выборку, который выдает список всех фамилий и инициалов.
В запрос включить поля: Фамилия, Имя, Отчество (для контроля выполнения запроса) и Фамилия_Инициалы (вычисляемое поле).
Отсортировать список в алфавитном порядке.
Дата добавления: 2014-11-29; просмотров: 5492;