Страна

Студентов

Разработка базы данных для автоматизации учета товарно-материальных ценностей

Задачи Курсовой Работы , Бесплатные Курсовые Работы , Диплом Разработка Сайта , Цели И Задачи Курсовой Работы , Задачи Курсовой

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Выксунский филиал

Федерального Государственного автономного образовательное учреждения высшего профессионального образования Национальный исследовательский технологический университет «МИСиС»









Курсовая работа

по дисциплине: «Разработка и эксплуатация АИС»

по теме: «Разработка БД для автоматизации учета ТМЦ



Выполнил Крылов А.О.

Проверил преподаватель Гипич И.Н.






г. Выкса, 2012


Содержание


Введение

. Анализ технического задания

. Анализ предметной области

. Проектирование БД

. Разработка БД

Заключение

Список использованной литературы

Приложение


Введение


Информации становится все больше и больше, а ее необходимо где-то сохранять. Для этого придумывали различные технологии, самыми успешными из них сейчас являются базы данных, а управляют ими Системы Управления Базами Данных (СУБД). Базы данных и СУБД развивались: сначала были иерархические базы данных (модели), затем сетевые. В 1970 году британский ученый Эдгар Кодд выпустил свою работу, посвященную реляционному способу хранения данных - с этого момента начинается эпоха Реляционных СУБД. С семидесятых годов до наших дней было выпущено множество различных СУБД. Все они, в свои времена, пользовались большим спросом.

Назначение СУБД - это сбор накопленных данных и эффективное предоставление их в интересах конкретных прикладных задач. Не имея такого «фундамента», программы теряют глубину анализа, значимость получаемых решений. Поэтому его прочность, надежность и производительность играют существенную роль для достижения успеха.

Главной задачей курсовой работы является выбор СУБД и создание базы данных. Далее будет описан соответствующий выбор среды разработки и описаны их основные преимущества.


1. Анализ технического задания


В соответствии с техническим заданием на курсовую работу необходимо «Разработать структуру БД для автоматизации учета ТМЦ в отделе ИТ Выксунского филиала НИТУ «МИСиС».

На данный момент в связи с реорганизаций образовательных учреждений ВФ НИТУ «МИСИС» и ГОУ СПО «ВМТ» происходит объединение бухгалтерии, в двух организациях работающих с двумя различными программными продуктами, «1С» и «Парус».

Территориально здания образовательного учреждения будут расположены на расстоянии 15 км друг от друга, удаленный доступ сотрудников отдела информационных технологий к базе объединенный бухгалтерии будет невозможным.

По этому возникла потребность в разработке программного продукта для отдела ИТ учитывающего все особенности деятельности отдела ИТ с учетом возможности сверки с данными бухгалтерии.

«Разработка БД для системы учета ТМЦ в отделе ИТ Выксунского филиала НИТУ «МИСиС» ставит перед собой следующие задачи:

просмотр созданной базы данных;

) Ввод данных о ТМЦ;

) Редактирование данных о ТМЦ;

) Отслеживание ТМЦ;

) Добавление строк в уже существующую таблицу;

) Добавление новой таблицы (в случае расширения);

6) Удаление таблицы (в случае, если она нужна).

Для решения этой задачи было принято использовать БД Firebird. Так как она имеет подходящий Web интерфейс для сбора и анализа информации.Это коммерчески независимый проект C и C++. Он удобен и прост в использовании. Любой начинающий, знающий SQL на уровне оператора Select, легко в нем разберется.

Это компактная, кроссплатформенная <#"justify">По причине своей компактности, быстродействия и функциональности, SQL-сервер Firebird является идеальной СУБД для обработки и хранения данных для WEB-сайтов. Не самым последним его достоинством является тот факт, что для того, чтобы скачать Firebird бесплатно, нужны лишь доступ к Интернету, желание и время.


2. Анализ предметной области


Необходимо разработать базу данных для автоматизации учета ТМЦ в отделе ИТ ВФ НИТУ «МИСиС». Основные характеристики, включенные в БД, являются неотъемлемой и важной информацией.

В Базе данных учета ТМЦ в отделе ИТ пользователь формирует заявку на приобретение ТМЦ. Заявка должна содержать в себе следующие данные: кто подал заявку, дата оформления заявки, и состояние заявки, номер заявки, наименование заказываемого оборудования, тип оборудования, кол-во. Заявку должен утвердить начальник отдела ИТ и директор образовательного учреждения. Выбирается поставщик, у которого будет закупаться ТМЦ и другие запчасти, данные о поставщике вносятся в БД: наименование организации, адрес, телефонные номера, факс, электронный адрес, банковские реквизиты. После проведения оплаты данные о счете вносятся в БД. При вводе техники в эксплуатацию она ставится на учет, и следующие данные вносятся в инвентарную карточку: наименование ТМЦ, тип, инвентарный номер, заводской номер, год выпуска, дата ввода в эксплуатацию, состояние, место нахождения, МОЛ, номер счета по которому закупалась техника. В БД сохраняется история о перемещениях ТМЦ. По окончании срока эксплуатации ТМЦ производится его списание так же техника будет списываться, если она вышла из строя и не подлежит ремонту.

Перечислим основные сущности и атрибуты, присутствующие в данной БД:

-Сущность объект;

-Сущность МОЛ;

-Сущность кабинет;

-Сущность перемещение объектов;

-Сущность характеристика ТМЦ;

-Сущность счета, по которым закупаются ТМЦ;

-Сущность поставщики;

-Сущность списание объекта;

-Сущность запчастей.


3. Проектирование БД


В ходе анализа всех основных данных объекты становятся сущностями, а их свойства - атрибутами.

Главная сущность - «OBJECTS» здесь хранятся данные о ТМЦ.

Подчиненные ей:

«PROPERTIES» - представлена информация о описание ТМЦ;

«MOVE» - представлена информация о перемещение объектов;

«SPISANIE» - содержит информацию о списание объектов.


Сущность «OBJECTS» имеет атрибуты:

ПолеТипОписаниеO_IDINTEGERУникальный номер объектов. Хранится в числовом форматеO_NAMEVARCHAR(50)Текстовое поле хранит название объектаO_TYPEINTEGERВнешний ключ, хранящийся в числовом формате, и указывающий на тип объекта.O_INV_NUMVARCHAR(2000)Текстовое поле содержит инвентарный номер, в котором присутствуют цифры, буквы, и спец символыO_FABR_NUMVARCHAR(700)Текстовое поле содержит заводской номер, в котором присутствуют цифры, буквы, и спец символыO_GOD_VYPUSKAINTEGERГод выпуска объекта, храниться в числовом форматеO_DATA_VVODADATEДата ввода в эксплуатацию объектаO_STATEVARCHAR(15)Текстовое поле, хранит в себе состояние объектаO_MESTOINTEGERВнешний ключ, хранящийся в числовом формате указывающий, где расположен объектO_MOLINTEGERВнешний ключ, хранящийся в числовом формате указывающий, МОЛ, за которым числиться объектO_SCHETBIGINTВнешний ключ, хранящийся в числовом формате указывающий, на счет по которому покупался объект.

Сущность «MOVE» имеет атрибуты:

ПолеТипОписаниеMO_ID_OBJINTEGERВнешний ключ, хранящийся в числовом формате указывающий, на объект, который перемещалсяMO_FROMINTEGERВнешний ключ, хранящийся в числовом формате указывающий, откуда перемещался объектMO_TOINTEGERВнешний ключ, хранящийся в числовом формате указывающий, куда перемещался объектMO_DTAEDATEДата перемещения объекта

Сущность «SPISANIE» имеет атрибуты:

ПолеТипОписаниеSP_IDBIGINTУникальный номер списания объекта, хранятся в числовом форматеSP_DATEDATEДата списания объектаSP_PRICHINAVARCHAR(50)Текстовое поле хранит, причину списания объектаSP_OBJIDINTEGERВнешний ключ, хранящийся в числовом формате указывающий, на объект, который уже списан

Сущность «PROPERTIES» имеет атрибуты:

ПолеТипОписаниеP_IDINTEGERУникальный номер описание объектов. Хранится в числовом форматеP_PROPSVARCHAR(50)Текстовое поле хранит в себе, характеристику объектаP_VALUEVARCHAR(50)Текстовое поле хранит в себе, значение характеристики объектаP_OBJINTEGERВнешний ключ, хранящийся в числовом формате указывающий на объект, который описывается

Сущность «MOL» имеет атрибуты:

ПолеТипОписаниеM_IDINTEGERУникальный номер МОЛ, хранится в числовом форматеM_FAMILYVARCHAR(50)Текстовое поле хранит в себе, фамилию МОЛM_NAMEVARCHAR(50)Текстовое поле хранит в себе, имя МОЛM_OTCHVARCHAR(50)Текстовое поле хранит в себе, отчество МОЛM_POSTVARCHAR(255)Текстовое поле хранит в себе, должность МОЛСущность «KABINETS» имеет атрибуты:

ПолеТипОписаниеK_IDINTEGERУникальный номер кабинета. Хранится в числовом форматеK_NUMBERINTEGERНомер кабинета. Хранятся в числовом формате.K_KORPUSVARCHAR(30)Поле, в котором хранятся название корпуса в текстовом форматеK_FLOORSMALLINTНомер этажа. Хранится в числовом форматеK_TITLEVARCHAR(700)Название кабинета. Хранится в текстовом формате

Сущность «ORDERS» имеет атрибуты:

ПолеТипОписаниеOR_IDINTEGERВ данном поле, хранится уникальный номер заказа в числовом форматеOR_DATEDATEДата заявкиOR_MOLINTEGERВнешний ключ указывающий на МОЛ оформивший заявку, хранится в числовом форматеOR_STATUSINTEGERВ поле хранится статус заявки, в числовом формате

Сущность «ORD_POSITIONS» имеет атрибуты:

ПолеТипОписаниеOP_NAMEVARCHAR(50)Текстовое поле, хранит в себе наименование позицииOP_TYPEINTEGERВнешний ключ, указывающий к какому типу техники относится данная позиция.OP_COUNTINTEGERПоле в числовом формате указывает, на количество единиц заказываемой позицииOP_ORDNUMINTEGERПоле в числовом формате указывает, на номер заказа

Сущность «TYPE» имеет атрибуты:

ПолеТипОписаниеT_IDINTEGERУникальный номер типа ТМЦ, хранится в числовом форматеT_NAMEVARCHAR(50)Наименование типа ТМЦ, хранится в текстовом форматеT_YEAR_EKSPLSMALLINTКол-во лет эксплуатации типа ТМЦ, хранится в числовом форматеT_MONTH_EKSPLSMALLINTМесяцы эксплуатации типа ТМЦ, хранятся в числовом форматеСущность «SELLERS» имеет атрибуты:

ПолеТипОписаниеSL_IDINTEGERУникальный номер поставщика, хранится в числовом форматеSL_NAMEVARCHAR(100)Название организации, хранится в текстовом форматеSL_ADDRESSVARCHAR(512)Адрес поставщика, хранится в текстовом форматеSL_TELEFONVARCHAR(112)Телефон поставщика, хранится в текстовом форматеSL_FAXVARCHAR(112)Факс поставщика, хранится в текстовом форматеSL_EMAILVARCHAR(50)Электронный адрес поставщика, хранится в текстовом форматеSL_REKVIZITSBLOB SUB_TYPE 1Реквизиты поставщика, хранится в текстовом формате

Сущность «SCHETA» имеет атрибуты:

ПолеТипОписаниеS_IDBIGINTУникальный номер счета, по которым закупаются ТМЦ, хранится в числовом форматеS_NUMBERVARCHAR(200)Номер счета, хранится в текстовом форматеS_DATEDATEДата оформления счетаS_SUMMADECIMAL(7,2)Сумма счета, хранится в виде дробного числаS_IDSELLERINTEGERВнешний ключ, указывающий на поставщика, хранится в числовом форматеS_IDORDERINTEGERВнешний ключ, указывающий по какой заявки этот счет, хранится в числовом формате

Сущность «SCH_POSITION» имеет атрибуты:

ПолеТипОписаниеSP_NAMEVARCHAR(50)Наименование позиции счета, хранится в текстовом форматеSP_EDIZVARCHAR(10)единица измерения, хранится в числовом форматеSP_COUNTINTEGERКоличество единиц закупаемой позиции, хранится в числовом форматеSP_PRICEDECIMAL(7,2)Цена позиции, хранится в виде дробного числаSP_SCHIDBIGINTВнешний ключ указывает, к какому счету относится позиция, хранится в числовом формате

Сущность «ZAPCHASTI» имеет атрибуты:

ПолеТипОписаниеZ_IDBIGINTУникальный номер запчастей, хранится в числовом форматеZ_NAMEVARCHAR(50)Наименование запчастей, хранятся в числовом форматеZ_OPISANIEBLOB SUB_TYPE 1Описание запчастей. Данный тип поля предназначен для хранения информации больших объемов или хранение файловZ_STATUSVARCHAR(50)Статус запчасти, хранится в текстовом форматеZ_SCHIDBIGINTНомер счета, по которому закупалась запчасти, хранится в числовом формате

Сущность «ZIP_OBJ» имеет атрибуты:

ПолеТипОписаниеZIP_IDBIGINTВнешний ключ, указывающий на запчасти, хранится в числовом форматеOBJ_IDINTEGERВнешний ключ, указывающий на объект, хранится в числовом формате.

Для проектирования и разработки БД мы используем оболочку для IBExpert. Это оболочка, предназначенная для разработки и администрирования <#"437" src="doc_zip1.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 - <#"justify">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;