Автор работы: Пользователь скрыл имя, 19 Декабря 2012 в 10:22, дипломная работа
Увеличение объема и структурной сложности хранимых данных, расширение круга пользователей информационных систем привели к широкому распространению наиболее удобных и сравнительно простых для понимания реляционных (табличных) СУБД. Для обеспечения одновременного доступа к данным множества пользователей, нередко расположенных достаточно далеко друг от друга и от места хранения баз данных, созданы сетевые мультипользовательские версии БД основанных на реляционной структуре.
Введение 3
Постановка задачи 4
Задание 4
Назначение БД 5
Выполняемые функции 5
Категории пользователей 6
Обоснование Выбора СУБД 6
Проектирование БД 7
Инфологическое проектирование 7
Сущности 8
Взаимосвязи сущности 9
Разработка Концептуальной инфологической модели 9
Даталогическое проектирование 10
Отношения и атрибуты 12
Ключевые поля и индексы 17
Нормализация отношений 19
Схема данных 21
Особенности реализации 22
Учет специфики предметной области 22
Разработанные алгоритмы 22
Пользовательский интерфейс 25
Запросы 25
Форма 35
Отчеты 43
Заключение 46
Литература 47
Разработка Концептуальной инфологической модели
Инфологическая модель баз данных Сущность-связь Основные понятия Цель инфологического моделирования обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных (рисунок 2.1).
Рисунок 2.1 - Инфологическая модель
Даталогическое проектирование
Даталогическое проектирование является проектированием логической структуры БД, что означает определение всех информационных единиц и связей между ними. При проектировании логической структуры БД, осуществляется преобразование исходной инфологической модели в модель данных, поддерживаемую конкретной СУБД.
рис2.1 (Связь «Объект - Свойство» для объекта
«Поставка»)
рис2.2 (Связь «Объект - Свойство» для объекта
«Блюдо»)
рис2.3 (Связь «Объект - Свойство» для объекта
«Сотрудник»)
рис2.4 (Связь «Объект - Свойство» для объекта
«Заказ»)
рис2.5 (Связь «Объект - Свойство» для объекта
«Акт Списания»)
рис2.6 (Связь «Объект - Свойство» для объекта
«Поставщик»)
рис2.7 (Связь «Объект - Свойство» для объекта
«Столик»)
рис2.8 (Связь «Объект - Свойство» для объекта
«Категория»)
рис2.9 (Связь «Объект - Свойство» для объекта
«Тип продукта»)
рис2.10 (Связь «Объект - Свойство» для объекта
«Товар»)
Отношения и атрибуты
Отношение - взаимосвязь между двумя таблицами, которая устанавливается через общие поля.
Таблица 2 – «Заказ»
Таблица |
Атрибут |
Тип Данных |
Описание |
Заказ |
НомерЗаказа |
Счетчик |
Уникальный номер заказа |
НомерСтолика |
Числовой |
Номер столика с которого был сделан заказ | |
Сотрудник |
Числовой |
Фамилия и Имя сотрудника принявшего заказ | |
ДатаЗаказа |
Дата/время |
Дата занесения заказа в базу | |
Оплачено |
Логический |
Идентификатор погашения заказа (галачка = заказ оплачен) |
Таблица 3 – «ЗаказДопТаб»
Таблица |
Атрибут |
Тип Данных |
Описание |
ЗаказДопТаб |
НомерЗаказа |
Числовой |
Номер заказа |
Категория |
Числовой |
Категория нахождения блюда | |
Блюдо |
Числовой |
Название блюда | |
Кол-воПорций |
Числовой |
Кол-во заказанный порций блюда | |
ЦенаПорции |
Денежный |
Цена одной порции | |
Исполнено |
Логический |
Повар приготовил это блюдо |
Таблица 4 – «Поставка»
Таблица |
Атрибут |
Тип Данных |
Описание |
Поставка |
НомерПоставки |
Счетчик |
Уникальный номер поставки |
Организация |
Числовой |
Название поставщика | |
ДатаПоставки |
Дата/время |
Дата принятия поставки | |
Приемщик |
Числовой |
Фамилия и Имя сотрудника, принимающего поставку |
Таблица 5 – «ПоставкаДопТаб»
Таблица |
Атрибут |
Тип Данных |
Описание |
ПоставкаДопТаб |
НомерПоставки |
Числовой |
Номер поставки |
Товар |
Текстовый |
Название постовляемого продукта | |
ТипПродукта |
Текстовый |
Категория типа продукта | |
Кол-во |
Числовой |
Кол-во поставляемого продукта | |
ЕдИзм |
Числовой |
Единица измерения поставляемого продукта | |
ЦенаЗаЕд |
Денежный |
Цена за одну единицу продукта | |
ЦенаОбщая |
Денежный |
Общая цена за один поставляемый продукт |
Таблица 6 – «СписаниеПродукта»
Таблица |
Атрибут |
Тип Данных |
Описание |
СписаниеПродукта |
НомерАкта |
Счетчик |
Уникальный номер акта |
ДатаАкта |
Дата/время |
Дата оформления акта | |
Сотрудник |
Числовой |
Фамилия и Имя сотрудника принимающего акт |
Таблица 7 – «СписаниеДопТаб»
Таблица |
Атрибут |
Тип Данных |
Описание |
СписаниеДопТаб |
НомерАкта |
Числовой |
Номер акта |
Товар |
Текстовый |
Наименование списанного продукта | |
ТипПродукта |
Текстовый |
Тип продукта | |
Кол-во |
Числовой |
Кол-во списанного продукта | |
ЕдИзм |
Числовой |
Единица измерения списанного продукта |
Таблица 8 – «СправочникЕдИзм»
Таблица |
Атрибут |
Тип Данных |
Описание |
Справочник ЕдИзм |
КодЕдИзм |
Счетчик |
Уникальный номер единицы измерения |
НазваниеЕдИзм |
Текстовый |
Полное название единицы измерения | |
Сокращение |
Текстовый |
Краткое название единицы измерения |
Таблица 9 – «СправочникКатегорий»
Таблица |
Атрибут |
Тип Данных |
Описание |
Справочник Категорий |
КодКатегории |
Счетчик |
Уникальный номер категории |
ИмяКатегории |
Текстовый |
Уникальное название категории |
Таблица 10 – «СправочникМеню»
Таблица |
Атрибут |
Тип Данных |
Описание |
Справочник Меню |
КодБлюда |
Счетчик |
Уникальный номер блюда Уникальный номер блюда |
Категория |
Числовой |
Ктегория в которой находится блюдо | |
Блюдо |
Текстовый |
Уникальное название блюда | |
РазмерПорции |
Текстовый |
Общая масса порции | |
ЦенаПорции |
Денежный |
Общая цена за одну порцию | |
ОписаниеБлюда |
Текстовый |
Краткое описание блюда |
Таблица 11 – «СправочникПоставщиков»
Таблица |
Атрибут |
Тип Данных |
Описание |
Справочник Поставщиков |
КодОрг |
Счетчик |
Уникальный номер организации |
НазваниеОрг |
Текстовый |
Название организации постовляющая продукцию | |
КонтактноеЛицо |
Текстовый |
Контактное лицо фирмы поставщика | |
Телефон |
Числовой |
Номер контактного телефона организации | |
Адрес |
Текстовый |
Адрес местонахождения организации |
Таблица 12 – «СправочникСотрудников»
Таблица |
Атрибут |
Тип Данных |
Описание |
Справочник Сотрудников |
КодСотрудника |
Счетчик |
Персональный номер сотрудника |
Фамилия |
Текстовый |
Фамилия сотрудника предприятия | |
Имя |
Текстовый |
Имя сотрудника предприятия | |
Отчество |
Текстовый |
Отчество сотруника предприятия | |
Должность |
Текстовый |
Указывается какую должность занимает данный сотрудник | |
Адрес |
Текстовый |
Адрес проживания сотрудника | |
Телефон |
Числовой |
Контактный номер телефона сотрудника | |
ДатаР |
Дата/время |
День Рождения сотрудника | |
ПриемНаРаботу |
Дата/время |
Дата начала работы сотрудника |
Таблица 13 – «СправочникСтолов»
Таблица |
Атрибут |
Тип Данных |
Описание |
Справочник Столов |
НомерСтолика |
Счетчик |
Уникальный номер столика |
Кол-воМест |
Числовой |
Кол-во сидячих мест за столиком |
Таблица 14 – «СправочникТипПродукта»
Таблица |
Атрибут |
Тип Данных |
Описание |
Справочник ТипПродукта |
КодПродукта |
Счетчик |
Уникальный номер типа продукта |
ТипПродукта |
Текстовый |
Класификацинное название типа продукта | |
Описание |
Текстовый |
Кратное описание типа продукта |
Ключевые поля и индексы
Ключ - одно или несколько полей, однозначно определяющих каждую запись базы данных.
Индекс – называется набор ключей и адресов записей, которые выбираются из основного массива по определенномузакону.
Таблица 15 – Обозначения ключей и индексов
Таблица |
Атрибут |
Ключи и Индексы |
Заказ |
НомерЗаказа |
ключ, индекс уник |
НомерСтолика |
Индекс не уникален | |
Сотрудник |
Индекс не уникален | |
ДатаЗаказа |
Индекс не уникален | |
Оплачено |
Индекс не уникален | |
ЗаказДопТаб |
НомерЗаказа |
Внешний ключ, Индекс не уникален |
Категория |
Индекс не уникален | |
Блюдо |
Внешний ключ, Индекс не уникален | |
Кол-воПорций |
Не индексирован | |
ЦенаПорции |
Индекс не уникален | |
Исполнено |
Индекс не уникален | |
Поставка |
НомерПоставки |
Ключ, Индекс уникален |
Организация |
Индекс не уникален | |
ДатаПоставки |
Индекс не уникален | |
Приемщик |
Индекс не уникален | |
ПоставкаДопТаб |
НомерПоставки |
Внешний ключ Индекс не уникален |
Товар |
Ключ, Индекс не уникален | |
ТипПродукта |
Индекс не уникален | |
Кол-во |
Не индексирован | |
ЕдИзм |
Индекс не уникален | |
ЦенаЗаЕд |
Индекс не уникален | |
ЦенаОбщая |
Не индексирован | |
Списание |
НомерАкта |
Ключ, Индекс уникален |
ДатаАкта |
Индекс не уникален | |
Сотрудник |
Индекс не уникален | |
СписаниеДопТаб |
НомерАкта |
Ключ, Индекс уникален |
Товар |
Ключ, Индекс не уникален | |
ТипПродукта |
Индекс не уникален | |
Кол-во |
Не индексирован | |
ЕдИзм |
Индекс не уникален | |
СправочникЕдИзм |
КодЕдИзм |
Ключ, Индекс уникален |
НазваниеЕдИзм |
Не индексирован | |
Сокращение |
Не индексирован | |
СправочникКатегорий |
КодКатегории |
Ключ, Индекс уникален |
ИмяКатегории |
Индекс уникален | |
СправочникМеню |
КодБлюда |
Ключ, Индекс уникален |
Категория |
Индекс не уникален | |
Блюдо |
Индекс уникален | |
РазмерПорции |
Не индексирован | |
ЦенаПорции |
Не индексирован | |
ОписаниеБлюда |
Не индексирован | |
СправочникПоставщиков |
КодОрг |
Ключ, Индекс уникален |
НазваниеОрг |
Индекс уникален | |
КонтактноеЛицо |
Не индексирован | |
Телефон |
Не индексирован | |
Адрес |
Не индексирован | |
СправочникСотрудников |
КодСотрудника |
Клюя, Индекс уникален |
Фамилия |
Не индексирован | |
Имя |
Не индексирован | |
Отчество |
Не индексирован | |
Должность |
Индекс не уникален | |
Адрес |
Не индексирован | |
Телефон |
Не индексирован | |
ДатаР |
Индекс не уникален | |
ПриемНаРаботу |
Индекс не уникален | |
СправочникСтолов |
НомерСтолика |
Ключ, Индекс уникален |
Кол-воМест |
Не индексирован | |
СправочникТипПродукта |
КодПродукта |
Индекс уникален |
ТипПродукта |
Ключ, Индекс уникален | |
Описание |
Не индексирован |
Нормализация отношений
Одни и те же данные могут группироваться в таблицы (отношения) различными способами, т.е. возможна организация различных наборов отношений взаимосвязанных информационных объектов. Группировка атрибутов в отношениях должна быть рациональной, т.е. минимизирующей дублирование данных и упрощающей процедуры их обработки и обновления.
Определенный набор отношений обладает лучшими свойствами при включении, модификации, удалении данных, чем все остальные возможные наборы отношений, если он отвечает требованиям нормализации отношений.
Нормализация отношений — формальный аппарат ограничений на формирование отношений (таблиц), который позволяет устранить дублирование, обеспечивает непротиворечивость хранимых в базе данных, уменьшает трудозатраты на ведение (ввод, корректировку) базы данных.
Выделены три нормальные формы отношений и предложен механизм, позволяющий любое отношение преобразовать к третьей (самой совершенной) нормальной форме.
Отношение называется нормализованным или приведенным к первой нормальной форме, если все его атрибуты простые (далее неделимы). Преобразование отношения к первой нормальной форме может привести к увеличению количества реквизитов (полей) отношения и изменению ключа.
Например, отношение Сотрудник = (Номер, Фамилия, Имя, Отчество, Дата Рождения) наводится в первой нормальной форме.
К первой нормальной форме, относятся таблицы: СправочникЕдИзм,
СправочникКатегорий, СправочникМеню, СправочникТипПродукта, СправочникПоставщиков, СправочникСотрудников, СправочникСтолов.
Чтобы рассмотреть вопрос приведения отношений ко второй нормальной форме, необходимо дать пояснения к таким понятиям, как функциональная зависимость и полная функциональная зависимость.
Описательные реквизиты
Функциональная зависимость реквизитов — зависимость, при которой экземпляре информационного объекта определенному значению ключевого реквизита соответствует только одно значение описательного реквизита.
Такое определение функциональной
зависимости позволяет при