Проектирование базы данных для автоматизированной системы
МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное
образовательное учреждение
высшего профессионального образования
"Московский государственный
технический университет радиотехники,
электроники и автоматики"
МГТУ МИРЭА
КУРСОВОЙ ПРОЕКТ (РАБОТА)
по дисциплине
«Базы данных»
Тема курсового проекта (работы)
«Проектирование базы данных для автоматизированной системы»
Студент
группы КМБ-2-11
Березин А.Е.
Руководитель
курсового проекта (работы)
Будкевич В.Н.
Москва 2012
Содержание
Введение
Описание
предметной области
Требования к
информационной системе
Разработка концептуальной модели (ER-диаграмма)
Реляционная модель
Нормализация модели
Скрипт для создания базы данных
Заключение
Введение
Данная работа посвящена проектированию базы данных для автоматизированной
системы «Склад».
Цель работы: разработка проекта базы данных для склада.
Для выполнения поставленной цели необходимо решить следующие задачи:
. Провести анализ предметной области;
. Разработать требования к системе;
. Разработка концептуальной модели (ER-диаграмма);
. Преобразование в реляционную модель;
. Нормализация реляционной модели;
. Разработать запросы к базе данных.
Объектом исследования является база данных. Предмет исследования -
проектирование базы данных для склада.
Дальнейшее изложение работы построено следующим образом.
Во втором разделе проводится анализ предметной области.
В третьем разделе, на базе проведенного анализа предметной области,
разрабатывается список основных требований к системе.
В четвертом разделе, разработка концептуальной модели (ER-диаграмма)
В пятом разделе, преобразование ER-модели в реляционную.
В шестом разделе, [для реляционной модели] Нормализация модели.
В седьмом разделе, разработка запросов на языке SQL.
В восьмом разделе, заключение о проделанной работе.
Описание предметной области
Склад - это место, используемое для хранения товара.
Склад имеет адрес, площадь и вместимость товаров.
На складе работает персонал. У каждого сотрудника есть номер паспорта,
ФИО, занимаемая должность и заработная плата.
Каждый товар имеет свой уникальный номер товара. Так же у товара есть
наименование, цена, вес и размер.
Товар может поступать на склад, а может и уходить. Для учета прихода и
расхода используются накладные. У каждой накладной есть уникальный номер, дата
прихода или расхода, количество товара, номер товара и его стоимость. Так же
указывается поставщик или покупатель.
Требования к информационной системе
Цель создания системы
Задача автоматизированной системы создание справочной службы для
администрации склада.
Автоматизированная система предназначена для более эффективного
управления складом и получения максимальной прибыли.
Заинтересованные лица
Основными заинтересованными лицами являются:
Администрация склада занимается покупкой и продажей товара. При работе с
системой администрация должна получать информацию об имеющемся товаре на
складе, о его стоимости.
Персонал занимается распределением товара на складе. При работе с
системой персонал должен получать информацию об имеющихся товарах, их количестве.
Покупатели приобретают товар со склада. При работе с системой они должны
получать информацию о наличии товара, его количестве и стоимости.
Перечень требований
В справочной системе должна быть предусмотрена возможность:
. Добавление и удаление товаров на склад. Добавлять товары могут только
администраторы. Для товара обязательно указывается товарный номер,
наименование, стоимость, вес и размер.
. Покупка и продажа товара. Для этого используются накладные, в которых
указывается уникальный номер, дата прихода или расхода, количество товара,
номер товара и его стоимость, поставщик или покупатель. Создавать накладные
могут только администраторы.
. Получение сведений о сумме выручки проданных товаров за день. Иметь
доступ к сведениям о сумме выручки проданных товаров за день может только
администрация.
. Информирование о наличии свободного места на складе.
. Информирование о наличие товара. Информировать о наличие товара может
администрация.
Разработка концептуальной модели (ER-диаграмма)
скрипт база данные автоматизированный
После изучения предметной области были выявлены
следующие сущности и их характеристики.
Рис. 1
Реляционная модель
Концептуальная модель, представленная на рис.1, была
преобразована в реляционную. Реляционная модель представлена на рис.2.
Рис. 2
Нормализация модели
Нормализация - это преобразование к более совершенным
формам для исключения аномалий обновления.
1) Персонал (Номер паспорта, ФИО, Должность, Зарплата, Адрес склада)
Функциональные зависимости:
Номер паспорта -> ФИО, Должность, Зарплата, Адрес склада.
Нормализация:
) Сущность Персонал находится в первой нормальной форме, потому что все
атрибуты простые
) Сущность Персонал находится во второй нормальной форме, потому что она
находится в первой нормальной форме, и нет неключевых атрибутов, зависящих от
части ключа
) Сущность Персонал находится в третьей нормальной форме, потому что она
находится во второй нормальной форме, и нет неключевых атрибутов, которые
находились бы в транзитивной зависимости от первичного ключа
) Склад (Адрес склада, Площадь, Вместимость)
Функциональные зависимости:
Адрес склада -> Площадь, Вместимость.
Нормализация:
) Сущность Склад находится в первой нормальной форме, потому что все
атрибуты простые
) Сущность Склад находится во второй нормальной форме, потому что она
находится в первой нормальной форме, и нет неключевых атрибутов, зависящих от
части ключа
) Сущность Склад находится в третьей нормальной форме, потому что она
находится во второй нормальной форме, и нет неключевых атрибутов, которые
находились бы в транзитивной зависимости от первичного ключа
) Товар (Номер товара, Наименование, Цена, Вес, Размер, Адрес
склада)
Функциональные зависимости:
Номер товара -> Наименование, Цена, Вес, Размер, Адрес склада
Нормализация:
) Сущность Товар находится в первой нормальной форме, потому что все
атрибуты простые
) Сущность Товар находится во второй нормальной форме, потому что она
находится в первой нормальной форме, и нет неключевых атрибутов, зависящих от
части ключа
) Сущность Товар находится в третьей нормальной форме, потому что она
находится во второй нормальной форме, и нет неключевых атрибутов, которые
находились бы в транзитивной зависимости от первичного ключа
) Изменение (Номер накладной, Дата, Количество, Цена, Номер
товара)
Функциональные зависимости:
Номер накладной -> Дата, Количество, Цена, Номер товара
Нормализация:
) Сущность Изменение находится в первой нормальной форме, потому что все
атрибуты простые
) Сущность Изменение находится во второй нормальной форме, потому что она
находится в первой нормальной форме, и нет неключевых атрибутов, зависящих от
части ключа
) Сущность Изменение находится в третьей нормальной форме, потому что она
находится во второй нормальной форме, и нет неключевых атрибутов, которые
находились бы в транзитивной зависимости от первичного ключа
) Приход (Номер накладной, Поставщик)
Функциональные зависимости:
Номер накладной -> Поставщик
Нормализация:
) Сущность Приход находится в первой нормальной форме, потому что все
атрибуты простые
) Сущность Приход находится во второй нормальной форме, потому что она
находится в первой нормальной форме, и нет неключевых атрибутов, зависящих от
части ключа
) Сущность Приход находится в третьей нормальной форме, потому что она
находится во второй нормальной форме, и нет неключевых атрибутов, которые
находились бы в транзитивной зависимости от первичного ключа
) Расход (Номер накладной, Покупатель)
Функциональные зависимости:
Номер накладной -> Покупатель
Нормализация:
) Сущность Расход находится в первой нормальной форме, потому что все
атрибуты простые
) Сущность Расход находится во второй нормальной форме, потому что она
находится в первой нормальной форме, и нет неключевых атрибутов, зависящих от
части ключа
) Сущность Расход находится в третьей нормальной форме, потому что она
находится во второй нормальной форме, и нет неключевых атрибутов, которые
находились бы в транзитивной зависимости от первичного ключа
Запрос на создание базы данных
Для создания разработанной БД необходимо выполнить
следующие SQL-команды.
CREATE DATABASE stock; USE stock;TABLE personal
(_pass VARCHAR (40) PRIMARY KEY,VARCHAR (100),VARCHAR
(100),VARCHAR (50),VARCHAR (1000)
);TABLE sstock
(VARCHAR (1000) PRIMARY KEY,VARCHAR (50),VARCHAR (50)
);TABLE product
(_pr VARCHAR (20) PRIMARY KEY,_pr VARCHAR (30),FLOAT
(10,2VARCHAR (30),VARCHAR (30),VARCHAR (1000)
);TABLE change
(_n VARCHAR (30) PRIMARY KEY,DATE,VARCHAR (30),FLOAT
(10,2),_pr VARCHAR (30)
);TABLE in_product
(_n VARCHAR (30) PRIMARY KEY,VARCHAR (100)
);TABLE out_product
(_n VARCHAR (30) PRIMARY KEY,VARCHAR (100)
);
Заключение
В ходе выполнения курсового проекта были решены следующие задачи:
. Произвели описание предметной области.
. Выявили требования к системе.
. Построили ER-диаграмму.
. Преобразовали ER-диаграмму
в реляционную модель.
. Провели нормализацию к 3НФ.
. Разработали запросы к базе данных на языке SQL.
Все поставленные задачи решены успешно, цель курсовой достигнута.