База данных "Склад промышленных товаров"

Автор работы: Пользователь скрыл имя, 18 Ноября 2013 в 18:49, курсовая работа

Краткое описание

Целью выполнения курсовой работы является изучение методологии моделирования и хранения больших объемов данных, а также приобретение практических навыков создания баз данных, выполнения пользовательских запросов и проектирования пользовательского интерфейса прикладных программ с помощью системы управления базами данных (СУБД) Microsoft Access.

Вложенные файлы: 1 файл

Отчет по бд2.doc

— 776.50 Кб (Скачать файл)

Семантическая модель предметной области «Склад промышленных товаров» представлена на рисунке 1, а наборы атрибутов сущностей – на рисунке 2. Ключевые атрибуты выделены жирным шрифтом.

 




 

   

       



Имеет



 





 

 

 

 

Рисунок 1 – Семантическая  модель данных

 

 

 

 

 

ГРУППА ТОВАРА

 

ПОСТАВЩИК

КодГруппы

 

КодПоставщика

ИмяГруппы

 

НазваниеФирмы

   

Страна

ТОВАР

 

ФИОВодителя

КодТовара

 

РасчетныйСчет

Наименование

   

ГарантийныйСрок

 

ВЕДОМОСТЬ

ОптоваяЦенаЗаЕдиницу

 

КодВедомости

   

ОптоваяСтоимость

   

Дата

   

ФИОМатериальноОтветственногоЛица

   

Количество


 

Рисунок 2 – Наборы атрибутов  сущностей семантической модели

 

3.2 Логическая модель данных

 

Логическая модель данных является начальным прототипом будущей базы данных.

Связь «Группа товара – Товар» – так как связь (1:М) и на стороне М класс принадлежности сущности является обязательным, то по правилу №4 строим две таблицы. Первичный ключ сущности должен являться атрибутом соответствующей таблицы. Первичный ключ сущности «Группа товара» (КодГруппы) на стороне 1 добавляется как атрибут в таблицу для сущности «Товар» на стороне М.

Связь «Товар – Ведомость» – так как связь (1:М) и на стороне М класс принадлежности сущности является обязательным, то по правилу №4 строим две таблицы. Первичный ключ сущности должен являться атрибутом соответствующей таблицы. Первичный ключ сущности «Товар» (КодТовара) на стороне 1 добавляется как атрибут в таблицу для сущности «Ведомость» на стороне М.

Связь «Поставщик – Ведомость» – так как связь (1:М) и на стороне М класс принадлежности сущности является обязательным, то по правилу №4 строим две таблицы. Первичный ключ сущности должен являться атрибутом соответствующей таблицы. Первичный ключ сущности «Поставщик» (КодПоставщика) на стороне 1 добавляется как атрибут в таблицу для сущности «Ведомость» на стороне М.

Реляционная база данных считается эффективной, если она  обладает приведенными ниже характеристиками:

- Минимизация избыточности данных;

- Минимальное использование отсутствующих значений;

- Предотвращение потери информации.

Минимизировать избыточность данных позволяет процесс, называемый нормализацией таблиц. База данных считается эффективной, если все  ее таблицы находятся как минимум  в 3 нормальных формах (НФ).

Проверяем на 1НФ.

Таблица находится в 1НФ, если все ее поля содержат только неделимые  значения.

Таблицы Группа товаров, Товар, Ведомость, Поставщик удовлетворяют требованиям 1НФ.

Проверяем на 2НФ.

Таблица удовлетворяет  требованиям 2НФ, если она удовлетворяет требованиям 1НФ и ее не ключевые поля функционально полно зависят от составного первичного ключа. Так как у нас первичный ключ не составной, таблицы соответствуют 2НФ.

Проверяем на 3НФ.

Таблицы находится в 3НФ, если она удовлетворяет требованиям 2НФ и не содержит транзитивных зависимостей. Транзитивной зависимостью называется функциональная зависимость между не ключевыми полями.

В таблицах Группа товаров, Товар, Ведомость, Поставщик транзитивных зависимостей не наблюдается, следовательно, таблицы находятся в 3НФ, так как в них отдельно каждая запись есть отдельное независимое утверждение.

Исходя из выше, изложенного  получаем логическую модель данных. Вид логической модели данных представлен на рисунке 7 в разделе 4.1.

 

3.3 Определение физических характеристик атрибутов

Определим физические характеристики атрибутов сущности «Ведомость».  Физические характеристики атрибутов представлены в таблице 1.

Таблица 1 – Физические характеристики атрибутов сущности «Ведомость»

Имя атрибута

Тип данных

Размер поля

Обязательное заполнение

КодВедомости

Числовой

Длинное целое

Да

КодТовара

Числовой

Длинное целое

Нет

ОптоваяСтоимость

Числовой

Длинное целое

Нет

Дата

Дата/время

Полный формат даты

Нет

ФИОМатериально ОтветственногоЛица

Текстовый, Подстановка

100 символов

Нет

КодПоставщика

Числовой

Длинное целое

Нет

Количество

Числовой

Длинное целое

Нет


 

Определим физические характеристики атрибутов сущности «Товар».  Физические характеристики атрибутов представлены в таблице 2.

Таблица 2 – Физические характеристики атрибутов сущности «Товар»

Имя атрибута

Тип данных

Размер поля

Обязательное заполнение

КодТовара

Числовой

Длинное целое

Да

Наименование

Текстовый

60 символов

Нет

КодГруппы

Числовой

Длинное целое

Нет

ГарантийныйСрок

Дата/Время

Полный формат даты

Нет

ОптоваяЦенаЗаЕдиницу

Числовой

Длинное целое

Нет


 

Определим физические характеристики атрибутов сущности «Группа товара».  Физические характеристики атрибутов представлены в таблице 3.

Таблица 3 – Физические характеристики атрибутов сущности «Группа товара»

Имя атрибута

Тип данных

Размер поля

Обязательное заполнение

КодГруппы

Числовой

Длинное целое

Да

ИмяГруппы

Текстовый

50 символов

Нет


Определим физические характеристики атрибутов сущности «Поставщик».  Физические характеристики атрибутов представлены в таблице 4.

Таблица 4 – Физические характеристики атрибутов сущности «Поставщик»

Имя атрибута

Тип данных

Размер поля

Обязательное заполнение

КодПоставщика

Числовой

Длинное целое

Да

НазваниеФирмы

Текстовый

50 символов

Нет

Страна

Текстовый

50 символов

Нет

ФИОВодителя

Текстовый

50 символов

Нет

РасчетныйСчет

Числовой

Длинное целое

Нет


 

 

 

 

4 Реализация системы

4.1 Создание, связывание и заполнение таблиц

Создаем таблицы в  режиме конструктора.

В окне Конструктора таблиц в столбце Имя поля вводим имена полей создаваемой таблицы. В столбце Тип данных для каждого поля таблицы выбрать из раскрывающегося списка тип данных. В столбце описание можно ввести описание каждого поля (не обязательно). В нижней части окна Конструктора таблиц на вкладке Общие и Подстановка ввести свойства каждого поля или оставить значения свойств, установленные по умолчанию.

После заполнения столбца  Имя поля задаем первичный ключ. Курсор ставим на необходимую строку, затем на панели инструментов нажимаем на кнопку Ключевое поле. Сохраняем и называем таблицу «Товар». По аналогии создаем остальные таблицы: «Поставщик», «Ведомость», «Группа товаров». Вид таблиц в режиме конструктора приведен на рисунках 3, 4, 5, 6.

Рисунок 3 – Вид таблицы «Товар» в режиме конструктора

Рисунок 4 – Вид таблицы «Ведомость» в режиме конструктора

Рисунок 5 – Вид таблицы  «Группа товара» в режиме конструктора

Рисунок 6 – Вид таблицы  «Поставщик» в режиме конструктора

Целостность данных обеспечивается при помощи связывания таблиц. Для того чтобы было удобно просматривать, создавать и удалять связи между таблицами в Microsoft Access используется схема данных. Для того чтобы связать таблица, необходимо выполнить команду Работа с базами данных, Схема данных. Затем добавляем все необходимые для связывания таблицы, после этого следует выбрать в главной таблице поле для связи, нажать левую кнопку мыши и перетащить поле во вторую таблицу. Отпустить левую кнопку мыши над нужным полем подчиненной таблицы, с которым устанавливается связь. В появившемся окне выбираем: обеспечение целостности данных, каскадное обновление связанных полей, каскадное удаление связанных записей. Нажимаем на кнопку «Создать». Вид схемы данных представлен на рисунке 7.

Рисунок 7 – Схема данных

Заполняем таблицы. Вид таблицы «Товар» в режиме таблиц представлен на рисунке 8. Вид таблицы «Ведомость» в режиме таблиц представлен на рисунке 9. Вид таблицы «Группа товара» в режиме таблиц представлен на рисунке 10. Вид таблицы «Поставщик» в режиме таблиц представлен на рисунке 11.

Рисунок 8 – Вид таблицы «Товар» в заполненном виде

Рисунок 9 – Вид таблицы  «Ведомость» в заполненном виде

Рисунок 10 – Вид таблицы  «Группа товара» в заполненном  виде

Рисунок 11 – Вид таблицы «Поставщик» в заполненном виде

4.2 Реализация запросов к базе данных

Запрос по поставкам из Украины.

Показать только тот  товар, который был поставлен из Украины.

Для реализации этого  запроса нам необходимо зайти  на вкладку «Создание», Запросы. Создаем  запрос в режиме Конструктор. Добавляем  таблицы: Товар, Поставщик, Ведомость. Выбираем атрибуты необходимые для запроса: НазваниеФирмы, Страна, Наименование, Количество, Дата. В столбце «Страна», строке «Условие отбора» пишем «Украина». Вид запроса в режиме конструктора приведен на рисунке 12. Вид результата выполнения запроса приведен на рисунке 13.

Вид запроса в режиме SQL:

SELECT Поставщик.НазваниеФирмы,  Поставщик.Страна, Товар.Наименование, Ведомость.Количество, Ведомость.Дата

FROM Поставщик INNER JOIN (Ведомость  INNER JOIN Товар ON Ведомость.КодТовара  = Товар.КодТовара) ON Поставщик.КодПоставщика = Ведомость.КодПоставщика

WHERE ((Поставщик.Страна)="Украина"));

Рисунок 12 – Вид запроса в режиме Конструктор

Рисунок 13 – Вид результата выполнения запроса

Запрос по номеру ведомости.

Показать только тот  товар, который поступал под определенным кодом ведомости. Для реализации этого запроса нам необходимо в режиме конструктора добавить таблицы: Товар, Ведомость. Выбираем атрибуты необходимые для запроса: КодВедомости, Наименование, ОптоваяЦенаЗаЕдиницу, Количество. В столбце «КодВедомости», в строке «Условие отбора» пишем «[Введите номер ведомости]». Вид запроса в режиме конструктора приведен на рисунке 14. Вид результата выполнения запроса приведен на рисунке 15.

Вид запроса в режиме SQL:

SELECT Ведомость.КодВедомости, Товар.Наименование, Товар.ОптоваяЦенаЗаЕдиницу, Ведомость.Количество

FROM Товар INNER JOIN Ведомость  ON Товар.КодТовара = Ведомость.КодТовара

WHERE (((Ведомость.КодВедомости)=[Введите  номер ведомости]));

Рисунок 14 – Вид запроса в режиме Конструктор

 

Рисунок 15 – Вид результата выполнения запроса

Запрос по ФИО материально  ответственного лица.

Показать только тот  товар, который находиться под ответственностью определенного материально ответственного лица. Для реализации этого запроса  нам необходимо в режиме конструктора добавить таблицы: Поставщик, Товар, Ведомость. Выбираем атрибуты необходимые для запроса: ФИОМатериальноОтветственногоЛица, Наименование, Количество, НазваниеФирмы, Дата. В строке «Условие отбора», в столбце «ФИОМатериальноОтветственногоЛица», пишем «[Введите ФИО материально ответственного лица]». Вид запроса в режиме конструктора приведен на рисунке 16. Вид результата выполнения запроса приведен на рисунке 17.

Информация о работе База данных "Склад промышленных товаров"