Разработка базы данных для системы организации и планирования экспозиций музея

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Проектирование баз данных
  • 37 37 страниц
  • 9 + 9 источников
  • Добавлена 10.07.2020
1 496 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
Содержание

Введение 3
1 Обоснование выбора технологии и программных средств 5
2 Проектирование базы данных 12
3 Описание клиентского приложения 19
4 Тестирования базы данных 27
Заключение 30
Список использованных источников 31
Приложения 32
Приложение А. Скрипт создания базы данных 32
Приложение Б. Код программы 37

Фрагмент для ознакомления

- СПб.: БХВ-Петербург, 2009. – 528c.Советов, Б.Я. Базы данных: теория и практика: Учебник для бакалавров / Б.Я. Советов, В.В. Цехановский, В.Д. Чертовской. - М.: Юрайт, 2013. – 463 c.Фуфаев, Э.В. Базы данных: Учебное пособие для студентов учреждений среднего профессионального образования / Э.В. Фуфаев, Д.Э. Фуфаев. - М.: ИЦ Академия, 2016. – 320 c.ПриложенияПриложение А. Скрипт создания базы данныхSET DATEFORMAT ymdSET ARITHABORT, ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, NOCOUNT ONSET NUMERIC_ROUNDABORT, IMPLICIT_TRANSACTIONS, XACT_ABORT OFFGOUSE museumGOIF DB_NAME() <> N'museum' SET NOEXEC ONGO---- Создать таблицу [dbo].[sotr]--PRINT (N'Создать таблицу [dbo].[sotr]')GOCREATE TABLE dbo.sotr (tabNo int IDENTITY,sFIOvarchar(30) NULL,sDPriem date NULL,sDUvol date NULL,id_pr int NULL, CONSTRAINT PK_sotr_tabNo PRIMARY KEY CLUSTERED (tabNo))ON [PRIMARY]GO---- Создатьтаблицу [dbo].[prof]--PRINT (N'Создатьтаблицу [dbo].[prof]')GOCREATE TABLE dbo.prof (id_pr int IDENTITY,prNamevarchar(50) NULL, CONSTRAINT PK_prof_id_pr PRIMARY KEY CLUSTERED (id_pr))ON [PRIMARY]GO---- Создатьтаблицу [dbo].[kind]--PRINT (N'Создатьтаблицу [dbo].[kind]')GOCREATE TABLE dbo.kind (id_kn int IDENTITY,knNamevarchar(30) NULL, CONSTRAINT PK_kind_id_kn PRIMARY KEY CLUSTERED (id_kn))ON [PRIMARY]GO---- Создатьтаблицу [dbo].[hall]--PRINT (N'Создатьтаблицу [dbo].[hall]')GOCREATE TABLE dbo.hall (id_hl int IDENTITY,hlNamevarchar(30) NULL, CONSTRAINT PK_hall_id_hl PRIMARY KEY CLUSTERED (id_hl))ON [PRIMARY]GO---- Создатьтаблицу [dbo].[genree]--PRINT (N'Создатьтаблицу [dbo].[genree]')GOCREATE TABLE dbo.genree (id_gn int IDENTITY,gnNamevarchar(30) NULL, CONSTRAINT PK_genree_id_gn PRIMARY KEY CLUSTERED (id_gn))ON [PRIMARY]GO---- Создатьтаблицу [dbo].[exposition]--PRINT (N'Создатьтаблицу [dbo].[exposition]')GOCREATE TABLE dbo.exposition (id_ep int IDENTITY,epNamevarchar(50) NULL,epBegin date NULL,epEnd date NULL,id_hl int NULL,tabNo int NULL, CONSTRAINT PK_exposition_id_ep PRIMARY KEY CLUSTERED (id_ep))ON [PRIMARY]GOSET QUOTED_IDENTIFIER, ANSI_NULLS ONGO---- Создать процедуру [dbo].[exposSel]--GOPRINT (N'Создатьпроцедуру [dbo].[exposSel]')GOCREATE OR ALTER PROCEDURE dbo.exposSelAS SELECTexposition.id_ep,exposition.epName,exposition.epBegin,exposition.epEnd,exposition.id_hl,hall.hlName,exposition.tabNo,sotr.sFIO FROM dbo.exposition INNER JOIN dbo.hall ON exposition.id_hl = hall.id_hl INNER JOIN dbo.sotr ON exposition.tabNo = sotr.tabNoGO---- Создать процедуру [dbo].[exposIns]--GOPRINT (N'Создатьпроцедуру [dbo].[exposIns]')GOCREATE OR ALTER PROCEDURE dbo.exposIns @epNameVARCHAR(50), @epBegin DATE, @epEnd DATE, @id_hl INT, @tabNo INTAS INSERT INTO exposition (epName, epBegin, epEnd, id_hl, tabNo) VALUES (@epName, @epBegin, @epEnd, @id_hl, @tabNo);GO---- Создать процедуру [dbo].[exposDel]--GOPRINT (N'Создатьпроцедуру [dbo].[exposDel]')GOCREATE OR ALTER PROCEDURE dbo.exposDel @id_ep INTAS DELETE FROM dbo.exposition WHERE id_ep = @id_ep;GO---- Создать таблицу [dbo].[exponat]--PRINT (N'Создатьтаблицу [dbo].[exponat]')GOCREATE TABLE dbo.exponat (id_exp int IDENTITY,expNamevarchar(50) NULL,expYear int NULL,expNote text NULL,id_hl int NULL,id_kn int NULL,id_gn int NULL,id_av int NULL,expCost money NULL, CONSTRAINT PK_exponat_id_exp PRIMARY KEY CLUSTERED (id_exp))ON [PRIMARY]TEXTIMAGE_ON [PRIMARY]GO---- Создать процедуру [dbo].[exponatIns]--GOPRINT (N'Создатьпроцедуру [dbo].[exponatIns]')GOCREATE OR ALTER PROCEDURE dbo.exponatIns @expNameVARCHAR(50), @expYear INT, @expNote TEXT, @id_hl INT, @id_kn INT, @id_gn INT, @id_av INT, @expCost MONEYAS INSERT INTO exponat (expName, expYear, expNote, id_hl, id_kn, id_gn, id_av, expCost) VALUES (@expName, @expYear, @expNote, @id_hl, @id_kn, @id_gn, @id_av, @expCost);GO---- Создать процедуру [dbo].[exponatDel]--GOPRINT (N'Создатьпроцедуру [dbo].[exponatDel]')GOCREATE OR ALTER PROCEDURE dbo.exponatDel @id_exp INTAS DELETE FROM exponat WHERE id_exp = @id_exp; GO---- Создать таблицу [dbo].[avtor]--PRINT (N'Создать таблицу [dbo].[avtor]')GOCREATE TABLE dbo.avtor (id_av int IDENTITY,avFIOvarchar(30) NULL,avBiogr text NULL, CONSTRAINT PK_avtor_id_av PRIMARY KEY CLUSTERED (id_av))ON [PRIMARY]TEXTIMAGE_ON [PRIMARY]GO---- Создать процедуру [dbo].[exponatSel]--GOPRINT (N'Создатьпроцедуру [dbo].[exponatSel]')GOCREATE OR ALTER PROCEDURE dbo.exponatSelAS SELECTexponat.id_exp,exponat.expName,exponat.expYear,exponat.expNote,exponat.id_hl,hall.hlName,exponat.id_kn,kind.knName,exponat.id_gn,genree.gnName,exponat.id_av,avtor.avFIO,exponat.expCost FROM dbo.exponat INNER JOIN dbo.hall ON exponat.id_hl = hall.id_hl INNER JOIN dbo.kind ON exponat.id_kn = kind.id_kn INNER JOIN dbo.genree ON exponat.id_gn = genree.id_gn INNER JOIN dbo.avtor ON exponat.id_av = avtor.id_avGOSET IDENTITY_INSERT dbo.sotr OFFGOUSE museumGOIF DB_NAME() <> N'museum' SET NOEXEC ONGO---- Создать внешний ключ [FK_sotr_prof_id_pr] для объекта типа таблица [dbo].[sotr]--PRINT (N'Создать внешний ключ [FK_sotr_prof_id_pr] для объекта типа таблица [dbo].[sotr]')GOALTER TABLE dbo.sotr ADD CONSTRAINT FK_sotr_prof_id_pr FOREIGN KEY (id_pr) REFERENCES dbo.prof (id_pr)GO---- Создатьвнешнийключ [FK_exposition_hall_id_hl] дляобъектатипатаблица [dbo].[exposition]--PRINT (N'Создатьвнешнийключ [FK_exposition_hall_id_hl] дляобъектатипатаблица [dbo].[exposition]')GOALTER TABLE dbo.exposition ADD CONSTRAINT FK_exposition_hall_id_hl FOREIGN KEY (id_hl) REFERENCES dbo.hall (id_hl)GO---- Создатьвнешнийключ [FK_exposition_sotr_tabNo] дляобъектатипатаблица [dbo].[exposition]--PRINT (N'Создатьвнешнийключ [FK_exposition_sotr_tabNo] дляобъектатипатаблица [dbo].[exposition]')GOALTER TABLE dbo.exposition ADD CONSTRAINT FK_exposition_sotr_tabNo FOREIGN KEY (tabNo) REFERENCES dbo.sotr (tabNo)GO---- Создатьвнешнийключ [FK_exponat_avtor_id_av] дляобъектатипатаблица [dbo].[exponat]--PRINT (N'Создатьвнешнийключ [FK_exponat_avtor_id_av] дляобъектатипатаблица [dbo].[exponat]')GOALTER TABLE dbo.exponat ADD CONSTRAINT FK_exponat_avtor_id_av FOREIGN KEY (id_av) REFERENCES dbo.avtor (id_av)GO---- Создатьвнешнийключ [FK_exponat_genree_id_gn] дляобъектатипатаблица [dbo].[exponat]--PRINT (N'Создатьвнешнийключ [FK_exponat_genree_id_gn] дляобъектатипатаблица [dbo].[exponat]')GOALTER TABLE dbo.exponat ADD CONSTRAINT FK_exponat_genree_id_gn FOREIGN KEY (id_gn) REFERENCES dbo.genree (id_gn)GO---- Создатьвнешнийключ [FK_exponat_hall_id_hl] дляобъектатипатаблица [dbo].[exponat]--PRINT (N'Создатьвнешнийключ [FK_exponat_hall_id_hl] дляобъектатипатаблица [dbo].[exponat]')GOALTER TABLE dbo.exponat ADD CONSTRAINT FK_exponat_hall_id_hl FOREIGN KEY (id_hl) REFERENCES dbo.hall (id_hl)GO---- Создать внешний ключ [FK_exponat_kind_id_kn] для объекта типа таблица [dbo].[exponat]--PRINT (N'Создать внешний ключ [FK_exponat_kind_id_kn] для объекта типа таблица [dbo].[exponat]')GOALTER TABLE dbo.exponat ADD CONSTRAINT FK_exponat_kind_id_kn FOREIGN KEY (id_kn) REFERENCES dbo.kind (id_kn)GOSET NOEXEC OFFGOПриложениеБ. Кодпрограммыusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace museum{ public partial class Form1 : Form { public Form1() {InitializeComponent(); } private void залыToolStripMenuItem_Click(object sender, EventArgs e) {formZalfrm = new formZal();frm.MdiParent = this;frm.Show(); } private void профессииToolStripMenuItem_Click(object sender, EventArgs e) {formProffrm = new formProf();frm.MdiParent = this;frm.Show(); } private void авторыToolStripMenuItem_Click(object sender, EventArgs e) {formSotrfrm = new formSotr();frm.MdiParent = this;frm.Show(); } private void видыToolStripMenuItem_Click(object sender, EventArgs e) {formKindfrm = new formKind();frm.MdiParent = this;frm.Show(); } private void жанрыToolStripMenuItem_Click(object sender, EventArgs e) {formGenreefrm = new formGenree();frm.MdiParent = this;frm.Show(); } private void авторыToolStripMenuItem1_Click(object sender, EventArgs e) {formAvtorsfrm = new formAvtors();frm.MdiParent = this;frm.Show(); } private void выходToolStripMenuItem_Click(object sender, EventArgs e) {Application.Exit(); } private void экспонатыToolStripMenuItem_Click(object sender, EventArgs e) {formExponatfrm = new formExponat();frm.MdiParent = this;frm.Show(); }private void экспозицииToolStripMenuItem_Click(object sender, EventArgs e) {formExposfrm = new formExpos();frm.MdiParent = this;frm.Show(); } }}using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Data.SqlClient;namespace museum{ public partial class formExpos : Form { public formExpos() {InitializeComponent(); } private void formExpos_Load(object sender, EventArgs e){ // TODO: данная строка кода позволяет загрузить данные в таблицу "exposSelDataSet.exposSel". При необходимости она может быть перемещена или удалена.this.exposSelTableAdapter.Fill(this.exposSelDataSet.exposSel);}private void toolStripButton2_Click(object sender, EventArgs e) { if (grData.CurrentRow == null) return;SqlConnectioncn = new SqlConnection(Properties.Settings.Default.museumConnectionString);SqlCommandcmd = new SqlCommand() { Connection = cn,CommandText = "exposDel",CommandType = CommandType.StoredProcedure };cmd.Parameters.AddWithValue("@id_ep", grData.CurrentRow.Cells["idep"].Value); try {cn.Open();cmd.ExecuteNonQuery(); }catch(Exception ex) {MessageBox.Show(ex.Message); } finally {cn.Close(); } } private void toolStripButton1_Click(object sender, EventArgs e) {formExposAddfrm = new formExposAdd();frm.ShowDialog();if(frm.DialogResult == DialogResult.OK) {this.exposSelTableAdapter.Fill(this.exposSelDataSet.exposSel);} } }}

1. Вишневский Алексей. Microsoft SQL Server. Эффективная работа. Питер. 2015.
2. Кляйн К.Е., Кляйн Д., Хант Б.- SQL. Справочник, 5-е издание – 2015 Символ, 2016. – 250 с.
3. Коннолли Т., Базы данных: проектирование, реализация, сопровождение. Теория и практика., М.: Изд. дом «Вильямс», 2014. – 460 с.
4. Макин Дж., Хотек М., Проектирование серверной инфраструктуры баз данных Microsoft SQL Server 2012. Учебный курс Microsoft. Русская редакция. 2014. – 375 с.
5. Петкович Д. Microsoft SQL Server 2016. Руководство для начинающих. BHV. 2017. – 480 с.
6. Петкович Д., Microsoft SQL Server 2016, С-т Петербург: БХВ-Петербург, 2017.
7. Пирогов, В.Ю. Информационные системы и базы данных: организация и проектирование: Учебное пособие / В.Ю. Пирогов. - СПб.: БХВ-Петербург, 2009. – 528 c.
8. Советов, Б.Я. Базы данных: теория и практика: Учебник для бакалавров / Б.Я. Советов, В.В. Цехановский, В.Д. Чертовской. - М.: Юрайт, 2013. – 463 c.
9. Фуфаев, Э.В. Базы данных: Учебное пособие для студентов учреждений среднего профессионального образования / Э.В. Фуфаев, Д.Э. Фуфаев. - М.: ИЦ Академия, 2016. – 320 c.

Вопрос-ответ:

Какая технология и программные средства были выбраны для разработки базы данных системы организации и планирования экспозиций музея?

Для разработки базы данных была выбрана технология SQL (Structured Query Language) в сочетании с программной средой Microsoft SQL Server. SQL является широко используемым языком запросов для управления данными, а Microsoft SQL Server предоставляет надежный и масштабируемый сервер баз данных.

Как проектировалась база данных для системы организации и планирования экспозиций музея?

Проектирование базы данных включало определение сущностей и их атрибутов, создание связей между таблицами, определение первичных и внешних ключей. Был использован подход реляционного моделирования данных, основанный на принципе нормализации.

Какое клиентское приложение было разработано для работы с базой данных системы организации и планирования экспозиций музея?

Для работы с базой данных было разработано клиентское приложение на языке программирования C#. Оно позволяет администраторам музея добавлять, изменять и удалять данные об экспозициях, редактировать информацию о работниках, осуществлять поиск и фильтрацию данных.

Каким образом было проведено тестирование базы данных системы организации и планирования экспозиций музея?

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

Какие технологии и программные средства были выбраны для разработки базы данных для системы организации и планирования экспозиций музея?

Для разработки базы данных были выбраны следующие технологии и программные средства: (указать конкретные технологии и программы)

Как происходило проектирование базы данных для системы организации и планирования экспозиций музея?

Проектирование базы данных было выполнено следующим образом: (описать процесс проектирования базы данных, используемые методы и инструменты)

Какое клиентское приложение было разработано для работы с базой данных системы организации и планирования экспозиций музея?

Для работы с базой данных было разработано клиентское приложение, которое предоставляет следующие функциональные возможности: (указать функции и особенности клиентского приложения)

Какие тестирования были проведены для базы данных системы организации и планирования экспозиций музея?

Для базы данных были проведены следующие тестирования: (указать виды тестирования, выполненные действия и полученные результаты)

Каковы источники, использованные при разработке базы данных для системы организации и планирования экспозиций музея?

При разработке базы данных были использованы следующие источники: (указать конкретные источники информации)

Зачем разрабатывается база данных для системы организации и планирования экспозиций музея?

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