Разработка базы данных для автоматизации учета товарно-материальных ценностей
МИНИСТЕРСТВО
ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Выксунский
филиал
Федерального
Государственного автономного образовательное учреждения высшего
профессионального образования Национальный исследовательский технологический
университет «МИСиС»
Курсовая
работа
по
дисциплине: «Разработка и эксплуатация АИС»
по
теме: «Разработка БД для автоматизации учета ТМЦ
Выполнил Крылов А.О.
Проверил преподаватель Гипич
И.Н.
г.
Выкса, 2012
Содержание
Введение
.
Анализ технического задания
.
Анализ предметной области
.
Проектирование БД
.
Разработка БД
Заключение
Список
использованной литературы
Приложение
Введение
Информации становится все больше и больше, а ее
необходимо где-то сохранять. Для этого придумывали различные технологии, самыми
успешными из них сейчас являются базы данных, а управляют ими Системы
Управления Базами Данных (СУБД). Базы данных и СУБД развивались: сначала были
иерархические базы данных (модели), затем сетевые. В 1970 году британский
ученый Эдгар Кодд выпустил свою работу, посвященную реляционному способу
хранения данных - с этого момента начинается эпоха Реляционных СУБД. С
семидесятых годов до наших дней было выпущено множество различных СУБД. Все
они, в свои времена, пользовались большим спросом.
Главной задачей курсовой работы является выбор
СУБД и создание базы данных. Далее будет описан соответствующий выбор среды
разработки и описаны их основные преимущества.
1. Анализ технического задания
В соответствии с техническим заданием на
курсовую работу необходимо «Разработать структуру БД для автоматизации учета
ТМЦ в отделе ИТ Выксунского филиала НИТУ «МИСиС».
На данный момент в связи с реорганизаций
образовательных учреждений ВФ НИТУ «МИСИС» и ГОУ СПО «ВМТ» происходит
объединение бухгалтерии, в двух организациях работающих с двумя различными
программными продуктами, «1С» и «Парус».
Территориально здания образовательного
учреждения будут расположены на расстоянии 15 км друг от друга, удаленный
доступ сотрудников отдела информационных технологий к базе объединенный
бухгалтерии будет невозможным.
По этому возникла потребность в разработке
программного продукта для отдела ИТ учитывающего все особенности деятельности
отдела ИТ с учетом возможности сверки с данными бухгалтерии.
«Разработка БД для системы учета ТМЦ в отделе ИТ
Выксунского филиала НИТУ «МИСиС» ставит перед собой следующие задачи:
просмотр созданной базы данных;
) Ввод данных о ТМЦ;
) Редактирование данных о ТМЦ;
) Отслеживание ТМЦ;
) Добавление строк в уже существующую таблицу;
) Добавление новой таблицы (в случае
расширения);
6) Удаление таблицы (в случае,
если она нужна).
Для решения этой задачи было принято
использовать БД Firebird. Так как она имеет подходящий Web интерфейс для сбора
и анализа информации.Это коммерчески независимый проект C и C++. Он удобен и
прост в использовании. Любой начинающий, знающий SQL на уровне оператора
Select, легко в нем разберется.
Это компактная, кроссплатформенная
<#"701381.files/image001.jpg">
Рисунок 1 - запуск дизайнера
БД.
база автоматизация учет ценность
В дизайнере БД создаем все
описанные в анализе предметной области сущности, добавляем их атрибуты. Строим
связи между сущностями.
Рисунок 2 - окно дизайнера БД.
Получаем следующую ER -
диаграмму.
На рисунке 3 отображена ER - диаграмма
разрабатываемой БД.
Рисунок 3 -ER-диаграмма разрабатываемой БД.
4. Разработка БД
На основе построенной ER - диаграммы приступим к
созданию БД.
Для создания БД используем генератор скрипта
который преобразует ER - диаграмму в скрипт создающий
Вызываем меню Designer и выбираем пункт Generate
Script.
На рисунке 4 отображен процесс вызова генератора
скрипта для создания БД на основе разработанной ER - диаграммы.
Рисунок 4 - вызов Generate Script.
В появившемся окне выбираем генерировать в файл,
Script Type задаем Create new database, выбираем путь и задаем имя файла
сгенерированного скрипта, на вкладке options ставим галочку set generators и
нажимаем кнопку Run после чего дизайнер БД начинает генерировать sql код.
После нажатия кнопки Run получили скрипт. На
рисунке отображен результат работы генератора скрипта и показан сгенерированный
им скрипт.
Рисунок 5 - полученный скрипт
Заключение
В ходе разработки курсовой работы была
спроектирована структура базы данных. На основании её был создан SQL-запрос для
создания базы данных. Данная работа реализована с помощью IBExpert 2011 и СУБД
Firebird 2.5
Список использованной литературы
1. Всё
об IBExpert - <http://ru.wikipedia.org/wiki/IBExpert>
. Все
об Firebird <http://ru.wikipedia.org/wiki/Firebird>
. SQL.RU
- <http://www.sql.ru/>
. Все
для программиста - <http://www.codenet.ru/>
5. Аллен
Г. Тейлор - SQL для чайников (4-е издание), 368c., 2010г.
Приложение
- код для создания БД автоматизации учета ТМЦ в
отделе ИТ Выксунского филиала НИТУ «МИСиС».
TABLE KABINETS_ID INTEGER NOT NULL,_NUMBER
INTEGER,_KORPUS VARCHAR(30) CHARACTER SET WIN1251 COLLATE WIN1251,_FLOOR
SMALLINT,_TITLE VARCHAR(700) CHARACTER SET WIN1251 COLLATE WIN1251);TABLE MOL
(_ID INTEGER NOT NULL,_FAMILY VARCHAR(50) CHARACTER SET WIN1251 COLLATE
WIN1251,_NAME VARCHAR(50) CHARACTER SET WIN1251 COLLATE WIN1251,_OTCH
VARCHAR(50) CHARACTER SET WIN1251 COLLATE WIN1251,_POST VARCHAR(255) CHARACTER
SET WIN1251 COLLATE WIN1251,_KABINET SMALLINT);TABLE MOVE (_ID_OBJ
INTEGER,_FROM INTEGER,_TO INTEGER,_DTAE DATE);TABLE OBJECTS (_ID INTEGER NOT
NULL,_NAME VARCHAR(50) CHARACTER SET WIN1251 COLLATE WIN1251,_TYPE
INTEGER,_INV_NUM VARCHAR(2000) CHARACTER SET WIN1251,_FABR_NUM VARCHAR(700)
CHARACTER SET WIN1251,_GOD_VYPUSKA DATE,_DATA_VVODA DATE,_STATE VARCHAR(15)
CHARACTER SET WIN1251 DEFAULT 'НЕТ' COLLATE WIN1251,_MESTO INTEGER,_PRICE
DECIMAL(7,2),_MOL INTEGER,_SCHET VARCHAR(100) CHARACTER SET WIN1251 NOT NULL
COLLATE WIN1251);TABLE ORD_POSTIONS (_NAME VARCHAR(50) CHARACTER SET WIN1251
COLLATE WIN1251,_TYPE INTEGER,_PRICE NUMERIC(7,2),_COUNT INTEGER,_ORDNUM
INTEGER);TABLE ORDERS (_ID INTEGER NOT NULL,_DATE DATE,_SUMMA DECIMAL(7,2),_MOL
INTEGER,_STATUS INTEGER);TABLE PROPERTIES (_ID INTEGER NOT NULL,_PROPS
VARCHAR(50) CHARACTER SET WIN1251 COLLATE WIN1251,_VALUE VARCHAR(50) CHARACTER
SET WIN1251 COLLATE WIN1251,_OBJ INTEGER);TABLE SCH_POSITION (_NAME VARCHAR(50)
CHARACTER SET WIN1251 NOT NULL COLLATE WIN1251,_EDIZ VARCHAR(10) CHARACTER SET
WIN1251 COLLATE WIN1251,_COUNT INTEGER,_PRICE DECIMAL(7,2),_SCHID BIGINT);TABLE
SCHETA (_ID BIGINT NOT NULL,
S_NUMBER VARCHAR(200) CHARACTER SET
WIN1251 COLLATE WIN1251,
S_DATE DATE,_SUMMA DECIMAL(7,2),_IDSELLER
INTEGER,_IDORDER INTEGER,_O_ID INTEGER NOT NULL);TABLE SELLERS (_ID INTEGER NOT
NULL,_NAME VARCHAR(100) CHARACTER SET WIN1251 COLLATE WIN1251,_ADDRESS
VARCHAR(512) CHARACTER SET WIN1251 COLLATE WIN1251,_TELEFON VARCHAR(112) CHARACTER
SET WIN1251 COLLATE WIN1251,_FAX VARCHAR(112) CHARACTER SET WIN1251 COLLATE
WIN1251,_EMAIL VARCHAR(50) CHARACTER SET WIN1251 COLLATE WIN1251,_REKVIZITS
BLOB SUB_TYPE 1 SEGMENT SIZE 512 CHARACTER SET WIN1251 COLLATE WIN1251);TABLE
SPISANIE (_ID BIGINT NOT NULL,_DATE DATE,_PRICHINA VARCHAR(50) CHARACTER SET
WIN1251 COLLATE WIN1251,_OBJID INTEGER);TABLE "TYPE" (_ID INTEGER NOT
NULL,_NAME VARCHAR(50) CHARACTER SET WIN1251 COLLATE WIN1251,_YEAR_EKSPL
SMALLINT,_MONTH_EKSPL SMALLINT);TABLE ZAPCHASTI (_ID BIGINT NOT NULL,_NAME
VARCHAR(50) CHARACTER SET WIN1251 COLLATE WIN1251,_OPISANIE BLOB SUB_TYPE 1
SEGMENT SIZE 80 CHARACTER SET WIN1251 COLLATE WIN1251,_STATUS VARCHAR(50)
CHARACTER SET WIN1251 COLLATE WIN1251,_SCHID BIGINT);TABLE ZIP_OBJ (_ID
BIGINT,_ID INTEGER);
ALTER TABLE KABINETS ADD CONSTRAINT
PK_KABINETS PRIMARY KEY (K_ID);TABLE MOL ADD CONSTRAINT PK_MOL PRIMARY KEY
(M_ID);TABLE OBJECTS ADD CONSTRAINT PK_OBJECTS PRIMARY KEY (O_ID);TABLE ORDERS
ADD CONSTRAINT PK_ORDERS PRIMARY KEY (OR_ID);TABLE PROPERTIES ADD CONSTRAINT
PK_PROPERTIES PRIMARY KEY (P_ID);TABLE SCHETA ADD CONSTRAINT PK_SCHETA PRIMARY
KEY (S_ID);TABLE SELLERS ADD CONSTRAINT PK_SELLERS PRIMARY KEY (SL_ID);TABLE
SPISANIE ADD CONSTRAINT PK_SPISANIE PRIMARY KEY (SP_ID);TABLE "TYPE" ADD
CONSTRAINT PK_TYPE PRIMARY KEY (T_ID);TABLE ZAPCHASTI ADD CONSTRAINT
PK_ZAPCHASTI PRIMARY KEY (Z_ID);TABLE MOL ADD CONSTRAINT FK_MOL_1 FOREIGN KEY
(M_KABINET) REFERENCES KABINETS (K_ID) ON UPDATE CASCADE;TABLE MOVE ADD
CONSTRAINT FK_MOVE_1 FOREIGN KEY (MO_ID_OBJ) REFERENCES OBJECTS (O_ID) ON
UPDATE CASCADE;TABLE MOVE ADD CONSTRAINT FK_MOVE_2 FOREIGN KEY (MO_FROM)
REFERENCES KABINETS (K_ID) ON UPDATE CASCADE;TABLE MOVE ADD CONSTRAINT
FK_MOVE_3 FOREIGN KEY (MO_TO) REFERENCES KABINETS (K_ID) ON UPDATE
CASCADE;TABLE OBJECTS ADD CONSTRAINT FK_OBJECTS_1 FOREIGN KEY (O_TYPE)
REFERENCES "TYPE" (T_ID) ON UPDATE CASCADE;
ALTER TABLE OBJECTS ADD CONSTRAINT FK_OBJECTS_2
FOREIGN KEY (O_MESTO) REFERENCES KABINETS (K_ID);
ALTER TABLE OBJECTS ADD CONSTRAINT
FK_OBJECTS_4 FOREIGN KEY (O_MOL) REFERENCES MOL (M_ID) ON UPDATE CASCADE;TABLE
OBJECTS ADD CONSTRAINT FK_OBJECTS_3 FOREIGN KEY (O_SCHET) REFERENCES SCHETA
(S_ID) ON UPDATE CASCADE;TABLE ORD_POSTIONS ADD CONSTRAINT FK_ORD_POSTIONS_1
FOREIGN KEY (OP_TYPE) REFERENCES "TYPE" (T_ID) ON UPDATE
CASCADE;TABLE ORD_POSTIONS ADD CONSTRAINT FK_ORD_POSTIONS_2 FOREIGN KEY
(OP_ORDNUM) REFERENCES ORDERS (OR_ID) ON UPDATE CASCADE;TABLE PROPERTIES ADD
CONSTRAINT FK_PROPERTIES_1 FOREIGN KEY (P_OBJ) REFERENCES OBJECTS (O_ID) ON
UPDATE CASCADE;TABLE SCH_POSITION ADD CONSTRAINT FK_SCH_POSITION_1 FOREIGN KEY
(SP_SCHID) REFERENCES SCHETA (S_ID) ON UPDATE CASCADE;TABLE SCHETA ADD
CONSTRAINT FK_SCHETA_1 FOREIGN KEY (S_IDORDER) REFERENCES ORDERS (OR_ID) ON
UPDATE CASCADE;
ALTER TABLE SCHETA ADD CONSTRAINT FK_SCHETA_2
FOREIGN KEY (S_IDSELLER) REFERENCES SELLERS (SL_ID) ON UPDATE CASCADE;
ALTER TABLE SPISANIE ADD CONSTRAINT
FK_SPISANIE_1 FOREIGN KEY (SP_OBJID) REFERENCES OBJECTS (O_ID) ON UPDATE
CASCADE;TABLE ZAPCHASTI ADD CONSTRAINT FK_ZAPCHASTI_1 FOREIGN KEY (Z_SCHID)
REFERENCES SCHETA (S_ID) ON UPDATE CASCADE;TABLE ZIP_OBJ ADD CONSTRAINT
FK_ZIP_OBJ_1 FOREIGN KEY (ZIP_ID) REFERENCES ZAPCHASTI (Z_ID) ON UPDATE
CASCADE;TABLE ZIP_OBJ ADD CONSTRAINT FK_ZIP_OBJ_2 FOREIGN KEY (OBJ_ID)
REFERENCES OBJECTS (O_ID) ON UPDATE CASCADE;