Разработка БД для АСУ «Деканат»
Заказать уникальную курсовую работу- 43 43 страницы
- 10 + 10 источников
- Добавлена 17.06.2017
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
Введение 3
1 Системный анализ предметной области 5
1.1 Анализ объекта автоматизации «Деканат» 5
1.2 Обзор информационных технологий 6
1.3 Обзор продуктов-аналогов (2-3 «похожих по ПрО» ИС или БД) 10
1.4 Требования к разрабатываемой базе данных 13
2 Проектирование базы данных 15
2.1 Разработка инфологической модели 15
2.2 Нормализация базы данных. Построение концептуальной модели 18
3 Программная реализация 22
3.1 Анализ и выбор СУБД 22
3.2 Физическое проектирование базы данных в СУБД 23
3.3 Разработка форм 26
3.4 Разработка хранимых процедур 29
Заключение 31
Список источников и литературы 32
Приложения 33
Приложение А. Скрипт создания базы данных 33
Приложенеи Б. Код программы 43
Гросс, К. Самоучитель C# 2008 / К. Гросс – БХВ-Петербург., 2009. – 576с.Герберт Шилдт. C# 4.0. Полное руководство. ISBN 978 5 8459 1684 6. Вильямс. 2010.Гвоздева Т.В., Баллод Б.А. Проектирование информационных систем. - М.: Феникс, 2009. - 512 с.ЛарманКрэг UML 2.0 и шаблонов проектирования. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку. 2013г.ПриложенияПриложение А. Скрипт создания базы данных---- СкриптсгенерированDevartdbForge Studio for Oracle, Версия 3.10.12.0-- Домашняя страница продукта: http://www.devart.com/ru/dbforge/oracle/studio-- Датаскрипта: 16.05.2017 14:14:03-- Версиясервера: Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production-- Версия клиента:-- CONNECTdecanat/decanat@localhost:1521/XE; ---- Установкасхемыпоумолчанию--ALTERSESSION SETCURRENT_SCHEMA = "DECANAT"; SETSQLBLANKLINES ON;SETDEFINE OFF;ALTERSESSION SETNLS_DATE_FORMAT = 'MM/DD/SYYYY HH24:MI:SS';ALTERSESSION SETNLS_TIMESTAMP_TZ_FORMAT = 'MM/DD/SYYYY HH24:MI:SS.FF TZH:TZM';ALTERSESSION SETNLS_TIMESTAMP_FORMAT = 'MM/DD/SYYYY HH24:MI:SS.FF';ALTERSESSION SETNLS_NUMERIC_CHARACTERS = '.,';ALTERSESSION SETNLS_NCHAR_CONV_EXCP = FALSE;ALTERSESSION SETTIME_ZONE = '+03:00'; ---- Описание для последовательности GRUPPY_SEQ--CREATESEQUENCEGRUPPY_SEQSTART WITH41INCREMENT BY1; ---- Описание для последовательности PREDMET_SEQ--CREATESEQUENCEPREDMET_SEQSTART WITH21INCREMENT BY1; ---- Описание для последовательности PREP_SEQ--CREATESEQUENCEPREP_SEQSTART WITH21INCREMENT BY1; ---- Описание для таблицы GRUPPY--CREATETABLEGRUPPY ( ID_GR NUMBER, GRNAME VARCHAR2(30 BYTE) NOTNULL, GRKURS NUMBER NOTNULL, CONSTRAINTGRUPPY_PK PRIMARYKEY(ID_GR) USING INDEXTABLESPACE USERS STORAGE (INITIAL 64 K NEXT1 M MAXEXTENTS UNLIMITED))TABLESPACE USERSSTORAGE (INITIAL 64 K NEXT1 M MAXEXTENTS UNLIMITED)LOGGING; ---- Описаниедлятаблицы PREDMET--CREATETABLEPREDMET ( ID_PR NUMBER NOTNULL, PRNAME VARCHAR2(30 BYTE), CONSTRAINTPREDMET_PK PRIMARYKEY(ID_PR) USING INDEXTABLESPACE USERS STORAGE (INITIAL 64 K NEXT1 M MAXEXTENTS UNLIMITED))TABLESPACE USERSSTORAGE (INITIAL 64 K NEXT1 M MAXEXTENTS UNLIMITED)LOGGING; ---- Описаниедлятаблицы PREP--CREATETABLEPREP ( ID_PP NUMBER NOTNULL, PPNAME VARCHAR2(30 BYTE) NOTNULL, PPSTEPEN VARCHAR2(30 BYTE), CONSTRAINTPREP_PK PRIMARYKEY(ID_PP) USING INDEXTABLESPACE USERS STORAGE (INITIAL 64 K NEXT1 M MAXEXTENTS UNLIMITED))TABLESPACE USERSSTORAGE (INITIAL 64 K NEXT1 M MAXEXTENTS UNLIMITED)LOGGING; ---- Описаниедлятаблицы STUDENTY--CREATETABLESTUDENTY ( STNO NUMBER NOTNULL, STFIO VARCHAR2(30 BYTE) NOTNULL, STDBIRTH DATE NOTNULL, STYEAR NUMBER(4, 0) NOTNULL, ID_GR NUMBER NOTNULL, CONSTRAINTSTUDENTY_PK PRIMARYKEY(STNO) USING INDEXTABLESPACE USERS STORAGE (INITIAL 64 K NEXT1 M MAXEXTENTS UNLIMITED), CONSTRAINTFK_STUDENTY_GRUPPY_ID_GR FOREIGNKEY(ID_GR) REFERENCESGRUPPY (ID_GR))TABLESPACE USERSSTORAGE (INITIAL 64 K NEXT1 M MAXEXTENTS UNLIMITED)LOGGING; ---- Описание для таблицы EXAM--CREATETABLEEXAM ( SEMESTR NUMBER NOTNULL, ID_PR NUMBER NOTNULL, ID_PP NUMBER NOTNULL, STNO NUMBER NOTNULL, EXOCENKA NUMBER NOTNULL, CONSTRAINTFK_EXAM_PREDMET_ID_PR FOREIGNKEY(ID_PR) REFERENCESPREDMET (ID_PR), CONSTRAINTFK_EXAM_PREP_ID_PP FOREIGNKEY(ID_PP) REFERENCESPREP (ID_PP), CONSTRAINTFK_EXAM_STUDENTY_STNO FOREIGNKEY(STNO) REFERENCESSTUDENTY (STNO))TABLESPACE USERSSTORAGE (INITIAL 64 K NEXT1 M MAXEXTENTS UNLIMITED)LOGGING; CREATEUNIQUEINDEXEXAM_PK ONEXAM (ID_PR, ID_PP, SEMESTR)TABLESPACE USERSSTORAGE (INITIAL 64 K NEXT1 M MAXEXTENTS UNLIMITED)LOGGING; CREATEUNIQUEINDEXPK_EXAM ONEXAM (ID_PP, ID_PR, SEMESTR)TABLESPACE SYSTEMSTORAGE (INITIAL 64 K NEXT1 M MAXEXTENTS UNLIMITED)LOGGING; ---- Описаниедляпроцедуры EXAMDEL--CREATEORREPLACEPROCEDUREEXAMDEL(SEM INNUMBER, IDPR INNUMBER, IDPP INNUMBER, STN INNUMBER) AS BEGIN DELETEFROMEXAM WHERESEMESTR = SEM ANDID_PR = IDPR ANDID_PP = IDPP ANDSTNO = STN; NULL; ENDEXAMDEL;/ ---- Описание для процедуры EXAMIN--CREATEORREPLACEPROCEDUREEXAMIN(SEM INNUMBER, IDPR INNUMBER, IDPP INNUMBER, STN INNUMBER, EXOCEN INNUMBER) AS BEGIN INSERTINTOEXAM ( SEMESTR, ID_PR, ID_PP, STNO, EXOCENKA ) VALUES(SEM, IDPR, IDPP, STN, EXOCEN); NULL; ENDEXAMIN;/ ---- Описаниедляпроцедуры GET_STUD--CREATEORREPLACEPROCEDUREGET_STUD(IDGR IN NUMBER, SSTUD OUTSYS_REFCURSOR) AS BEGIN OPENSSTUD FOR SELECTSTUDENTY.STNO, STUDENTY.STFIO, STUDENTY.STDBIRTH, STUDENTY.STYEAR, STUDENTY.ID_GR, GRUPPY.GRNAME, GRUPPY.GRKURS FROMSTUDENTY LEFTJOINGRUPPY ONSTUDENTY.ID_GR = GRUPPY.ID_GR WHERESTUDENTY.ID_GR = IDGR; END;/ ---- Описание для процедуры GETEXAM--CREATEORREPLACEPROCEDUREgetExam(SEM IN NUMBER, IDGR IN NUMBER, STUD OUTSYS_REFCURSOR) AS BEGIN OPENSTUD FOR SELECTEXAM.SEMESTR, EXAM.ID_PR, PREDMET.PRNAME, EXAM.ID_PP, PREP.PPNAME, EXAM.STNO, STUDENTY.STFIO, EXAM.EXOCENKA FROMEXAM LEFTOUTERJOINSTUDENTY ONEXAM.STNO = STUDENTY.STNO LEFTOUTERJOINPREP ONEXAM.ID_PP = PREP.ID_PP LEFTOUTERJOINPREDMET ONEXAM.ID_PR = PREDMET.ID_PR WHERESTUDENTY.ID_GR = IDGR ANDEXAM.SEMESTR = SEM; END;/ ---- Описание для процедуры GRUPDEL--CREATEORREPLACEPROCEDUREGRUPDEL(IGR INNUMBER) AS BEGIN DELETEFROMGRUPPY WHEREid_gr = IGR; NULL; ENDGRUPDEL;/ ---- Описание для процедуры GRUPIN--CREATEORREPLACEPROCEDUREGRUPIN(GRN INVARCHAR2, GRK INNUMBER) AS BEGIN INSERTINTOGRUPPY ( GRNAME, GRKURS ) VALUES(GRN, GRK); ENDGRUPIN;/ ---- Описание для процедуры PREDMETDEL--CREATEORREPLACEPROCEDUREPREDMETDEL(IDPR INNUMBER) AS BEGIN DELETEFROMPREDMET WHEREID_PR = IDPR; NULL; ENDPREDMETDEL;/ ---- Описаниедляпроцедуры PREDMETIN--CREATEORREPLACEPROCEDUREPREDMETIN(PRN INVARCHAR2) AS BEGIN INSERTINTOPREDMET ( PRNAME ) VALUES(PRN); NULL; ENDPREDMETIN;/ ---- Описаниедляпроцедуры PREPDEL--CREATEORREPLACEPROCEDUREPREPDEL(IDPP INNUMBER) AS BEGIN DELETEPREP WHEREID_PP = IDPP; NULL; ENDPREPDEL;/ ---- Описание для процедуры PREPIN--CREATEORREPLACEPROCEDUREPREPIN(PPN INVARCHAR2, PPS INVARCHAR2) AS BEGIN INSERTINTOPREP ( PPNAME, PPSTEPEN ) VALUES(PPN, PPS); NULL; ENDPREPIN;/ ---- Описаниедляпроцедуры STUDENTDEL--CREATEORREPLACEPROCEDURESTUDENTDEL(STN INNUMBER) AS BEGIN DELETESTUDENTY WHERESTNO = STN; NULL; ENDSTUDENTDEL;/ ---- Описаниедляпроцедуры STUDENTIN--CREATEORREPLACEPROCEDURESTUDENTIN(STN INNUMBER, SFIO INVARCHAR2, SDBIRTH INDATE, SYEAR INNUMBER, IDG INNUMBER) AS BEGIN INSERTINTOSTUDENTY ( STNO, STFIO, STDBIRTH, STYEAR, ID_GR ) VALUES(STN, SFIO, SDBIRTH, SYEAR, IDG); NULL; ENDSTUDENTIN;/ ---- Выводданныхдлятаблицы GRUPPY--INSERTINTOGRUPPY VALUES(21, 'ПА-14', 1);INSERTINTOGRUPPY VALUES(22, 'ПМ-12', 3);INSERTINTOGRUPPY VALUES(23, 'ПН-14', 1); ---- Вывод данных для таблицы PREDMET--INSERTINTOPREDMET VALUES(1, 'Физика');INSERTINTOPREDMET VALUES(2, 'Химия');INSERTINTOPREDMET VALUES(3, 'Ин. язык'); ---- Вывод данных для таблицы PREP--INSERTINTOPREP VALUES(1, 'ЛебедькоЕ.И.', 'КндитатТН');INSERTINTOPREP VALUES(2, 'ФедосееваЕ.И.', 'доцент');INSERTINTOPREP VALUES(3, 'КочубейК.П.', 'докторТН'); ---- Вывод данных для таблицы STUDENTY--INSERTINTOSTUDENTY VALUES(1511, 'ЕремееваУ.П.', '06/05/1998 00:00:00', 2000, 22);INSERTINTOSTUDENTY VALUES(1845, 'КовальТ.С.', '12/16/1999 00:00:00', 2000, 22);INSERTINTOSTUDENTY VALUES(1965, 'СтаценкоР.Л.', '05/15/1997 00:00:00', 2016, 23); ---- Вывод данных для таблицы EXAM--INSERTINTOEXAM VALUES(1, 1, 1, 1511, 3);INSERTINTOEXAM VALUES(1, 1, 2, 1845, 4);INSERTINTOEXAM VALUES(1, 2, 3, 1965, 4); ---- Описаниедлятриггера GRUPPY_TRG--CREATEORREPLACETRIGGERGRUPPY_TRG BEFORE INSERT ONGRUPPY FOREACH ROWBEGIN << COLUMN_SEQUENCES >> BEGIN IF INSERTING AND:NEW.ID_GR ISNULL THEN SELECTGRUPPY_SEQ.NEXTVAL INTO:NEW.ID_GR FROMSYS.DUAL; ENDIF; ENDCOLUMN_SEQUENCES; END;/ ---- ОписаниедлятриггераPREDMET_TRG--CREATEORREPLACETRIGGERPREDMET_TRG BEFORE INSERT ONPREDMET FOREACH ROWBEGIN << COLUMN_SEQUENCES >> BEGIN IF INSERTING AND:NEW.ID_PR ISNULL THEN SELECTPREDMET_SEQ.NEXTVAL INTO:NEW.ID_PR FROMSYS.DUAL; ENDIF; ENDCOLUMN_SEQUENCES; END;/ ---- ОписаниедлятриггераPREP_TRG--CREATEORREPLACETRIGGERPREP_TRG BEFORE INSERT ONPREP FOREACH ROWBEGIN << COLUMN_SEQUENCES >> BEGIN IF INSERTING AND:NEW.ID_PP ISNULL THEN SELECTPREP_SEQ.NEXTVAL INTO:NEW.ID_PP FROMSYS.DUAL; ENDIF; ENDCOLUMN_SEQUENCES; END;/ COMMIT; ---- Установка схемы по умолчанию--DECLARE p VARCHAR2(255);BEGIN SELECTUSERINTOp FROMDUAL; EXECUTEIMMEDIATE 'ALTER SESSION SET CURRENT_SCHEMA = '|| p;END;/Приложенеи Б. Код программыusingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespacedecan{publicpartialclassfMain : Form {publicfMain() {InitializeComponent(); }privatevoidвыходToolStripMenuItem_Click(object sender, EventArgs e) {Application.Exit(); }privatevoidстудентыToolStripMenuItem_Click(object sender, EventArgs e) {fStudentsfST = newfStudents();fST.MdiParent = this;fST.Show(); }privatevoidпреподавателиToolStripMenuItem_Click(object sender, EventArgs e){fPrepodfPRP = newfPrepod();fPRP.MdiParent = this;fPRP.Show(); }privatevoidпредметыToolStripMenuItem_Click(object sender, EventArgs e) {fPredmetfPredm = newfPredmet();fPredm.MdiParent = this;fPredm.Show(); }privatevoidгруппыToolStripMenuItem_Click(object sender, EventArgs e) {fGrupsfGru = newfGrups();fGru.MdiParent = this;fGru.Show(); }privatevoidведениеВедомостиToolStripMenuItem_Click(object sender, EventArgs e) {fExamenfExam = newfExamen();fExam.MdiParent = this;fExam.Show(); } }}using System;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;usingOracle.ManagedDataAccess.Client;namespacedecan{publicpartialclassfPredmetAdd : Form{publicfPredmetAdd() {InitializeComponent(); }privatevoid button1_Click(object sender, EventArgs e) {using (OracleConnection con = newOracleConnection(Properties.Settings.Default.decanatConnectionString)) {using (OracleCommandcmd = newOracleCommand("PREDMETIN", con)) {cmd.CommandType = CommandType.StoredProcedure;cmd.Parameters.Add("PRN", txName.Text);try {con.Open();cmd.ExecuteNonQuery();con.Close(); }catch (Exception ex) {MessageBox.Show(ex.Message);DialogResult = DialogResult.None;} } } } }}
1. Рик Гринвальд, Роберт Стаковьяк, Джонатан Стерн, Oracle 11g. Основы. Символ-Плюс. 464 стр. 2009.
2. С. Фейерштейн, Б. Прибыл. Oracle PL/SQL. Для профессионалов. 800 стр. 2011. Питер.
3. Скотт Урман. Oracle9i. Программирование на языке PL/SQL. Лори, 2004
4. Сэм Алапати . Oracle Database 11g. Руководство администратора баз данных. 1440 стр. 2010. Вильямс.
5. К.Е.Кляйн, Д.Кляйн, Б.Хант - SQL. Справочник, 3-е издание – 2010 Символ, 2010.
6. Фленов Михаил Библия C#; БХВ-Петербург, 2011. - 560 c.
7. Гросс, К. Самоучитель C# 2008 / К. Гросс – БХВ-Петербург., 2009. – 576с.
8. Герберт Шилдт. C# 4.0. Полное руководство. ISBN 978 5 8459 1684 6. Вильямс. 2010.
9. Гвоздева Т.В., Баллод Б.А. Проектирование информационных систем. - М.: Феникс, 2009. - 512 с.
10. Ларман Крэг UML 2.0 и шаблонов проектирования. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку. 2013г.
Вопрос-ответ:
Какие информационные технологии используются при разработке БД для АСУ Деканат?
При разработке базы данных для АСУ Деканат применяются различные информационные технологии, включая языки программирования (например, SQL), системы управления базами данных (СУБД) и инструменты разработки. Конкретные технологии выбираются исходя из требований и возможностей проекта.
Какие аналоги аналитической системы управления Деканат существуют?
Существует множество аналогов аналитической системы управления Деканат, которые предлагают схожий функционал и возможности. Некоторые из них включают в себя разработанные коммерческие продукты и открытые программные решения. Конечный выбор аналога будет зависеть от требований, бюджета и предпочтений заказчика.
Какое программное обеспечение используется при реализации разработанной базы данных?
Для реализации разработанной базы данных могут быть использованы различные программные средства. Одним из ключевых инструментов является система управления базами данных (СУБД), которая позволяет создавать, хранить, изменять и извлекать данные. Кроме того, может быть использовано программное обеспечение для разработки пользовательского интерфейса и вспомогательные инструменты для управления и анализа данных.
Какие требования предъявляются к разрабатываемой базе данных для АСУ Деканат?
Разрабатываемая база данных для АСУ Деканат должна удовлетворять определенным требованиям, чтобы обеспечить эффективное и надежное функционирование системы. Это могут быть требования к производительности, безопасности, масштабируемости, доступности данных, точности хранения информации и другие. Конкретные требования зависят от потребностей и особенностей деканата.
Какой продукт для разработки базы данных будет наиболее подходящим для АСУ Деканат?
Выбор продукта для разработки базы данных зависит от конкретных требований и особенностей АСУ Деканат. Существует множество СУБД, таких как Oracle, MySQL, PostgreSQL, Microsoft SQL Server и другие, которые могут быть рассмотрены в качестве возможных вариантов. Окончательный выбор будет зависеть от факторов, таких как бюджет, масштаб проекта, требования к производительности и поддержке.
Какие технологии были использованы при разработке базы данных для АСУ Деканат?
При разработке базы данных для АСУ Деканат были использованы различные информационные технологии, такие как язык программирования SQL, система управления базами данных (СУБД) и инструменты проектирования баз данных.
Какие продукты-аналоги существуют для разработки баз данных в предметной области АСУ Деканат?
В предметной области АСУ Деканат существуют различные продукты-аналоги, которые также предназначены для управления базами данных. Некоторые из таких продуктов включают 1С:Предприятие, Oracle Database и Microsoft SQL Server. Однако, при разработке базы данных для АСУ Деканат был выбран определенный продукт в соответствии с требованиями проекта.
Как происходило проектирование базы данных для АСУ Деканат?
Проектирование базы данных для АСУ Деканат происходило в несколько этапов. Сначала была разработана инфологическая модель, которая описывает структуру данных и связи между ними. Затем производилась нормализация базы данных и построение концептуальной модели. На последнем этапе осуществлялось физическое проектирование базы данных, включающее выбор СУБД и определение структуры таблиц, полей и связей.
Какие требования были предъявлены к разрабатываемой базе данных для АСУ Деканат?
К разрабатываемой базе данных для АСУ Деканат были предъявлены различные требования. В частности, требовалось обеспечить хранение и управление информацией о студентах, преподавателях, расписании занятий, успеваемости и других аспектах академической жизни. Также были установлены требования к производительности, безопасности и удобству использования базы данных.
Какие этапы включала программная реализация базы данных для АСУ Деканат?
Программная реализация базы данных для АСУ Деканат включала несколько этапов. Сначала проводился анализ и выбор подходящей СУБД, учитывая требования проекта. Затем осуществлялось физическое проектирование базы данных, включая создание таблиц, определение связей между таблицами и настройку параметров СУБД. После этого проводилось тестирование и оптимизация базы данных для обеспечения ее эффективной работы.
Зачем нужна разработка базы данных для АСУ Деканат?
Разработка базы данных для АСУ Деканат необходима для эффективного управления образовательным процессом. Благодаря базе данных становится возможным хранить и обрабатывать информацию о студентах, учебных планах, расписаниях занятий и других данных, которые необходимы для работы деканата.
Какие требования предъявляются к разрабатываемой базе данных для АСУ Деканат?
К разрабатываемой базе данных для АСУ Деканат предъявляются следующие требования: она должна быть надежной, безопасной, масштабируемой и оптимизированной для работы с большим объемом данных. Также важно, чтобы база данных была удобной в использовании и обладала гибкими возможностями для анализа и отчетности.