Этапы проектирования базы данных, определение целей и содержание таблиц. Добавление данных и создание других объектов базы данных. Даталогическая модель: структуризация, нормализация, схемы данных. Порядок, принципы создания пользовательского интерфейса.
Схема работы: клиент магазина (все данные и контакты находятся в таблице Клиенты) берет в прокат на определенный срок носитель с фильмом за установленную плату. Если клиент делает заказ на фильм, которого нет в наличии в магазине, то информация заносится в таблицу Заказы. Фильм отдают в прокат клиенту, а после окончания срока проката, заносят в основную таблицу Фильмы. Для связи данных из разных таблиц, например, данные о клиенте и видеофильме, каждая таблица должна содержать набор полей или поле, где будет задаваться индивидуальное значение каждой записи в таблице. 4) Таблица Бронирование: Содержит данные клиента, забронировавшего фильм, код самого фильма, дата бронирования и возврата.Я разработал базы данных магазина видеопроката фильмов. С помощью моей базы можно без затруднений и специальных знаний вести базу данных, которая позволяет делать все операции с клиентами, заказами, прокатом. Кнопочная форма позволяет просматривать отчеты о клиентах и товарах, делать заказы и обновлять данные.
Введение
Базы данных - совокупность данных, организованная по определенным правилам, предусматривающая общие принципы описания, хранения, манипулирования данными, независимыми от прикладных программ.
СУБД - система управления базами данных - совокупность программ, предназначенных для управления БД и возможности получения пользователями необходимой информации из базы. В задачи СУБД входят следующие задачи: · Формирование и поддержание БД
· Обработка информации
· Прием запросов
· Предоставление информации пользователям
· Обеспечение целостности и реорганизации ценностей БД
· Организация совместной работы пользователей
На сегодняшний день существует множество различных систем управления базами данных. Они все используют разные средства и функции, но преимущественно у всех СУБД в основе лежат одинаковые понятия. Поэтому для обобщения этих понятий, приемов и методов на весь класс СУБД, я возьму программу Microsoft Access.
Microsoft Access - реляционная СУБД, в которой предусмотрены все необходимые средства для определения и обработки данных, а также управления ими при работе с большим объемом информации.
Access - функционально полная система, имеющая мощные средства для работы в этой программе. Ее преимуществом перед другими является простота, наличие всех средств для успешной обработки и управления БД.
1. Инфологическая модель интерфейс база данные даталогический
Прежде чем начинать проектирование базы данных, необходимо разобраться, как функционирует предметная область создаваемой БД. Для этих целей используют искусственные формализованные языковые средства. В связи с этим под инфологической моделью понимают описание предметной области, выполненное с использованием специальных языковых средств, не зависящих от используемых в дальнейшем программных средств.
Определяют три основные класса сущностей: · стержневые
· ассоциативные
· характеристические.
Стержневая сущность - независимая сущность, которая имеет независимое существование, хотя может обозначать другие сущности.
Характеристическая сущность (характеристика) - это связь вида «многие-к-одному» или «одна-к-одной» между двумя сущностями (частный случай ассоциации). Цель характеристики состоит в описании или уточнении некоторой другой сущности предметной области.
Ассоциативная сущность (ассоциация) - это связь вида «многие-ко-многим» между двумя или более сущностями или экземплярами сущности.
1.1
ER - Диаграмма
2. Создание базы данных. Этапы проектирования базы данных
2.1 Определение цели создания базы данных
На первом этапе проектирования базы данных необходимо определить цель создания базы данных, основные ее функции и информацию, которую она должна содержать.
Моя база данных разработана для магазина видеопроката, занимающейся поставкой DVD и VHS с фильмами. Главная таблица называется Фильмы. В ней содержится список всех имеющихся в магазине фильмов, жанр и описание носителя (DVD или VHS). Схема работы: клиент магазина (все данные и контакты находятся в таблице Клиенты) берет в прокат на определенный срок носитель с фильмом за установленную плату. Информация заносится в таблицу Прокат. Так отслеживается информация о прокате и его сроках. Если срок проката закончился, а фильм не возвращен, то происходит списание средств со счета клиента (с банковского или с карточки, если клиент своевременно не оплатил продление). В случае, если необходимый фильм находится в прокате, то производится запись в таблицу Бронирование, с указанием фамилии клиента. По возвращении видеофильма, клиента оповещают и передают ему забронированные носители. Если клиент делает заказ на фильм, которого нет в наличии в магазине, то информация заносится в таблицу Заказы. После этого, через определенный срок, поставщики завозят заказанные фильмы и таблицу Заказы обновляют, помечают, что заказ выполнен. Фильм отдают в прокат клиенту, а после окончания срока проката, заносят в основную таблицу Фильмы. То есть фактически будут использоваться в основном таблицы Фильмы и Прокат, а Заказы - редко. Таблица Клиенты содержит весь список клиентов магазина с контактной информацией.
2.2 Определение таблиц, которые должна содержать база данных
Один из наиболее сложных этапов в процессе создания базы данных - разработка таблиц, так как результаты, которые должна выдавать база данных не всегда дают полное представление о структуре таблицы.
Таблицы должны содержать всю информацию разрабатываемой базы. В моем случае это Фильмы, Клиенты, Прокат, Бронирование, Заказы. Все таблицы хранят максимально полную характеристику, информацию и описание для дальнейшей успешной работы с базой данных.
2.3 Присвоение ключевых полей
Для связи данных из разных таблиц, например, данные о клиенте и видеофильме, каждая таблица должна содержать набор полей или поле, где будет задаваться индивидуальное значение каждой записи в таблице. Такое поле или набор полей называют основным ключом. Именно благодаря ключам будет функционировать база данных, сопоставляя, связывая и формируя информацию из разных таблиц. Количество ключей варьируется от одного до нескольких. Вообще, ключ - это минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности.
2.4 Редактирование структуры базы данных
Для проверки правильности работы базы необходимо создать несколько таблиц, определить связи между ними и ввести несколько записей в каждую таблицу, а затем посмотреть, отвечает ли база данных поставленным требованиям. Рекомендуется также создать черновые выходные отчеты и формы и проверить, выдают ли они требуемую информацию. Кроме того, необходимо исключить всевозможные повторения данных. Иначе база не будет работать и выдавать нужный запрос или информацию или будет работать с ошибками, что для серьезной организации неприемлемо.
2.5 Добавление данных и создание других объектов базы данных
Если структуры таблиц отвечают поставленным требованиям, то можно вводить все данные (в режиме конструктора таблиц). После ввода создаются любые запросы, формы, отчеты, макросы и модули (удобнее, проще и правильнее создавать все с помощью мастеров).
3. Даталогическая модель
3.1 Структура базы данных
Моя База Данных «Магазин Видеопроката» содержит 5 таблиц: 1) Фильмы
2) Клиенты
3) Прокат
4) Бронирование
5) Заказы
Во всех таблицах в режиме конструктора указываются первичные или внешние ключи.
1) Таблица Фильмы: В ней содержится список всех имеющихся в магазине фильмов, а также указан их код, жанр, страна и тип носителя.
Код - код видеофильма. Продавцы стараются запомнить коды наиболее популярных фильмов. Поле является ключевым.
Название фильма - русскоязычное название фильма.
Жанр - жанр фильма (комедия, боевик и т.д.)
Страна - страна производитель фильма.
Тип носителя - (DVD - диск, для воспроизведения на компьютере или домашнем DVD устройстве и VHS, магнитная видеокассета для воспроизведения на видеомагнитофоне)
2) Таблица Клиенты: отображает весь список клиентов магазина и их контактную информацию, а также личный счет.
Id - идентификационный номер клиента. Ключевое поле.
Ф.И.О. - фамилия, имя и отчество клиента.
Место жительства - полный адрес клиента.
Телефон - номер мобильного или домашнего телефона.
Номер счета - номер счета клиента, на котором хранятся его средства. Счет можно пополнить через терминал. Магазин может снять средства в случае неуплаты.
3) Таблица Прокат: Содержит информацию о фильмах, которые находятся в прокате, данные клиентов, взявших фильмы и сроки (выдачи и возврата).
Код - код видеофильма. Ключевое поле.
Название фильма - название видеофильма, находящегося в прокате.
Id клиента - уникальный номер клиента.
Ф.И.О. - фамилия, имя и отчество клиента.
Дата выдачи - дата выдачи видеофильма.
Дата возврата - дата возврата видеофильма (при необходимости, клиент может продлить срок)
4) Таблица Бронирование: Содержит данные клиента, забронировавшего фильм, код самого фильма, дата бронирования и возврата.
Забронировал (Ф.И.О.) - Фамилия, имя и отчество клиента, который забронировал фильм. Ключевое поле.
Код фильма - идентификационный номер фильма.
Дата бронирования - дата, когда данный фильм был забронирован.
Дата возврата - ближайшая дата возврата данного видеофильма.
5) Таблица Заказы: Содержит информацию о заказах видеофильмов, после выполнения заказа таблица обновляется.
Код фильма - код, который присваивается новому фильму. Ключевое поле.
Ф.И.О. заказчика - данные клиента, который заказал данный фильм.
Название фильма - оригинальное название видеофильма.
Дата заказа - дата, когда был сделан заказ.
Выполнен - помечают после выполнения заказа.
3.2 Нормализация
Нормализация - процесс уменьшения избыточности информации в таблицах реляционной БД и, как следствие, построения оптимальной структуры таблиц и связей.
Можно выделить 4 основных правила, которыми следует руководствоваться при проектировании и последующей нормализации таблиц базы данных: 1. Каждое поле любой таблицы должно быть уникальным.
2. Каждая таблица должна иметь уникальный первичный ключ, который может состоять из одного или нескольких полей таблицы.
3. Для каждого значения первичного ключа должно быть одно и только одно значение любого из столбцов данных, и это значение должно относиться к объекту таблицы.
4. Должна иметься возможность изменять значения любого поля (не входящего в первичный ключ), и это не должно повлечь за собой изменение другого поля.
Созданная мною таблица удовлетворяет вышеизложенным требованиям: 1 Нормальная Форма
Название таблицы Ключевое поле
Фильмы Клиенты Прокат Бронирование Заказы Код Id Код Забронировал (Ф.И.О.) Код фильма
2 Нормальная Форма: Выполняются ограничения 1НФ, и каждый не ключевой атрибут функционально полно зависит от составного первичного ключа.
3 Нормальная Форма: Все неключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа.
Таким образом, база данных удовлетворяет всем требованиям нормализации таблиц и Третья нормальная форма - окончательный результат нормализации моей Базы данных.
3.3 Схема данных
Отношения - это правила, поддерживаемые на уровне механизма реализации СУБД. Различают три типа отношений: - Отношение «один-к-одному»: для каждой строки в одной таблице существует не более одной строки связанной таблицы.
- Отношение «один-ко-многим»: одна таблица не содержит вообще или имеет набор связанных «дочерних» записей из другой таблицы.
- Отношение «многие-ко-многим»: для каждой строки первой таблицы может существовать набор строк в другой таблице и наоборот. Такая связь организуется, как правило, при помощи третьей, связующей таблицы, содержащей значения первичных ключей обеих таблиц в качестве внешних ключей.
4.
Создание пользовательского интерфейса
4.1 Запросы
1) Запрос «Список клиентов»
Данный запрос при выполнении дает информацию обо всех клиентах магазина: id, Ф.И.О., место жительства, телефон, номер счета.
Данные для этого запроса берутся из таблицы Клиенты.
В режиме SQL запрос выглядит так: SELECT Клиенты.id, Клиенты.Ф.И.О., Клиенты. Место_жительства, Клиенты. Телефон, Клиенты. Номер_счета
FROM Клиенты;
2) Запрос «Список фильмов»
Данный запрос при выполнении дает информацию обо всех фильмах магазина: Код, Название фильма, жанр, страна, тип носителя
Данные для этого запроса берутся из таблицы Фильмы.
В режиме SQL запрос выглядит так: 3) Запрос «Список заказов»
Данный запрос при выполнении дает информацию обо всех сделанных в магазине заказах.
Данные для создания запроса берутся из таблицы Заказы.
В режиме SQL запрос выглядит так: SELECT Заказы.код_фильма, Заказы.Ф.И.О._заказчика, Заказы. Название_фильма, Заказы. Дата_заказа, Заказы. Выполнен
FROM Заказы;
4) Запрос «Невыполненные заказы».
Выводит список невыполненных заказов.
Данные берутся из таблица «Заказы»
В режиме SQL запрос выглядит так: SELECT Заказы.код_фильма, Заказы.Ф.И.О._заказчика, Заказы. Название_фильма, Заказы. Дата_заказа, Заказы. Выполнен
FROM Заказы
WHERE (((Заказы. Выполнен)=False));
5) Запрос «Выполненные заказы».
Выводит список выполненных заказов.
Данные берутся из таблица «Заказы»
В режиме SQL запрос выглядит так: SELECT Заказы.код_фильма, Заказы.Ф.И.О._заказчика, Заказы. Название_фильма, Заказы. Дата_заказа, Заказы. Выполнен
FROM Заказы
WHERE (((Заказы. Выполнен)=True));
6) «Запрос на Выборку всех клиентов с введенной буквы».
При запуске этого запроса он требует ввести букву или несколько букв, с которых начинается фамилия или имя клиента (данные из таблицы Клиенты). Данный запрос довольно прост, но необходим. Например, если продавец помнит первую букву или несколько букв, то он запускает данный запрос и вводит, ту букву, которую помнит, а в ответ на введенную букву запрос выводит фамилии всех клиентов на указанную букву.
Данные берутся из таблица «Клиенты»
В режиме SQL данный запрос выглядит так: SELECT Клиенты.id, Клиенты.Ф.И.О., Клиенты. Место_жительства, Клиенты. Телефон, Клиенты. Номер_счета
FROM Клиенты
WHERE (((Клиенты.Ф.И.О.) Like [Введите фамилию или имя] & «*»));
7) «Запрос на Выборку всех клиентов по введенному id».
При запуске этого запроса он требует ввести цифру или несколько цифр, с которых начинается id клиента (данные из таблицы Клиенты). В результате выводится список всех клиентов, у которых в id встречаются данные цифры.
Данные берутся из таблица «Клиенты»
В режиме SQL данный запрос выглядит так: SELECT Клиенты.id, Клиенты.Ф.И.О., Клиенты. Место_жительства, Клиенты. Телефон, Клиенты. Номер_счета
FROM Клиенты
WHERE (((Клиенты.id) Like [Введите id клиента] & «*»));
8) «Запрос на Выборку фильма по коду».
Данный запрос отображает полную информацию о фильме по введенному коду или одной цифре, содержащейся в коде.
Данные берутся из таблица «Фильмы»
В режиме SQL данный запрос выглядит так: SELECT Фильмы. Код, Фильмы. Название_фильма, Фильмы. Жанр, Фильмы. Страна, Фильмы. Тип_носителя
FROM Фильмы
WHERE ((Фильмы. Код) Like [Введите код фильма] & «*»);
9) «Запрос на Выборку фильма по названию».
Запрос выводит список фильмов по названию или совпадению букв в названии.
Данные берутся из таблица «Фильмы»
В режиме SQL данный запрос выглядит так: SELECT Фильмы. Код, Фильмы. Название_фильма, Фильмы. Жанр, Фильмы. Страна, Фильмы. Тип_носителя
FROM Фильмы
WHERE ((Фильмы. Название_фильма) Like [Введите название фильма] & «*»);
4.2 Формы
В моей работе содержится только одна форма. Она является главной, и позволяет получить доступ ко всем частям БД с помощью простых нажатий на кнопки и гиперссылки. С помощью формы можно просмотреть все таблицы, запросы и отчеты базы данных и откорректировать их (добавить или удалить записи).
4.3 Отчеты
Отчеты создаются после построения всех таблиц, форм и запросов. Отчеты чаще всего являются подведением итогов или обобщением данных. Создавать отчеты достаточно просто в мастере создания отчетов.
1) Отчет «Клиенты»
В данном отчете отображается список всех клиентов видеомагазина.
2) Отчет «Фильмы»
Отчет отображает список всех имеющихся в магазине фильмов.
3) Отчет «Заказы»
Отчет выводит список всех заказанных видеофильмов.
Вывод
интерфейс база данные даталогический
Я разработал базы данных магазина видеопроката фильмов.
С помощью моей базы можно без затруднений и специальных знаний вести базу данных, которая позволяет делать все операции с клиентами, заказами, прокатом. То есть добавлять, изменять, обновлять, удалять и просматривать все имеющиеся и вводимые данные.
Кнопочная форма позволяет просматривать отчеты о клиентах и товарах, делать заказы и обновлять данные.
На примере моей базы данных для магазина видеопроката, я предоставил к рассмотрению и анализу практически все функции и возможности Microsoft Accsess. Эта программа достаточна проста и удобна в обращении. Построение таблиц, отчетов, запросов, форм упрощается при использовании мастеров (форм, таблиц и т.п.).
Я считаю, что база данных в среде СУБД MS Access практическом применении удобна и достаточно эффективна. Все зависит от пользователя, объема располагаемых им знаний и умения ими воспользоваться. Говоря о себе могу сказать, что эта программа имеет много полезных функций и в дальнейшем мне очень пригодится.
Список литературы
1. Microsoft Access 2003, Вероника Михеева, Ирина Харитонова, БХВ-Петербург, 1072 стр., 2044 г.
2. Видеосамоучитель. Microsoft Access 2007, А. Днепров, Питер, 240 стр., 2008
3. Проектирование баз данных. СУБД Microsoft Access, Н.Н. Гринченко, Е.В. Гусев, Н.П. Макаров, 2004 г.
4. Microsoft Access 2003 для начинающих, Степанов В., Аквариум-Принт, Дом печати - Вятка, 128 стр., 2004
5. Освой самостоятельно за Access 24 часа, Вильямс, 2003 г.
6. Эффективная работа с СУБД, А. Горев, С. Макашарипов, Р. Ахаян, 204 стр., 2008