Проектирование БД составления расписания филармонии

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 23.10.2021
Размер файла 780,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

МИНПРОСВЕЩЕНИЯРОССИИ

ФЕДЕРАЛЬНОЕГОСУДАРСТВЕННОЕБЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕУЧРЕЖДЕНИЕ

ВЫСШЕГООБРАЗОВАНИЯ

"БАШКИРСКИЙГОСУДАРСТВЕННЫЙПЕДАГОГИЧЕСКИЙ

УНИВЕРСИТЕТИМ.М.АКМУЛЛЫ"

ИНСТИТУТФИЗИКИ,МАТЕМАТИКИ,ЦИФРОВЫХИНАНОТЕХНОЛОГИЙ

Кафедра прикладной информатики

Направление09.03.03

Прикладная информатика,

направленность(профиль)Прикладная информатика в менеджменте

Курс II

КУРСОВАЯ РАБОТА

ПО ДИСЦИПЛИНЕ "Базы данных"

Проектирование БД составления расписания филармонии

Басимова Алёна Юрьевна

Научныйруководитель:

к.т.н.,доцентО.В.Ширяев

Уфа2020

Содержание

  • Введение
  • 1. Обследование предметной области
  • 2. Инфологическая модель
  • 3. Даталогическая модель
  • 4. Физическая реализация базы данных в виде приложения
  • Заключение
  • Литература
  • Приложения
  • Введение
  • БашкирскаягосударственнаяфилармонияимениХусаинаАхметова-этокультурныйочаг,объединившийсамыеразныенаправлениямузыкальнойкультуры.Сюдастремятсяте,ктонемыслитсебябезнароднойпеснииджазовыхритмов,безнациональнойэстрадноймузыкииискусстваакадемическоговокала.
  • Крупнейшаяконцертнаяорганизацияреспубликиимеетбогатуюисторию.Днемеерождениясчитается20января1939года,когдаПостановлениемСоветанародныхкомиссаровБАССРбылорешенооткрытьвУфеновоеучреждениекультуры. информационный ресурс проектирование база
  • ЦельюсозданияБашкирскойгосударственнойфилармониисталоформированиеиудовлетворениедуховныхпотребностейнаселенияреспубликивсценическом,музыкальном,хореографическомискусстве;широкаяпропагандалучшихобразцоврусскойиевропейскоймузыкальнойилитературнойклассики,музыкинародовреспублики,народноготворчестваипроизведенийсовременныхкомпозиторовиписателейсрединародныхмасс.
  • Первоначальнофилармониявключаламноготворческихподразделений-отБашкирскогогосударственногоансамблянародноготанца,музыкально-литературноголектория,хораиансамблякураистовдодвухоркестров,опереттыиэстрадно-цирковойбригады.
  • Большиенадеждыфилармониясвязываетсмолодымколлективом--Национальным оркестром народных инструментов(художественныйруководитель-лауреатмеждународныхивсероссийскихконкурсовЛинарДавлетбаев),всоставкоторыхвошлилучшиемузыкантыитворческаямолодежьреспублики.
  • ЗданиеБашкирскойгосударственнойфилармониисредидостопримечательностейстолицыБашкортостаназанимаетособоеместо.Этогармоничныйархитектурныйкомплекссэлементаминеоклассицизма.НасегодняшнийденьБашкирскаягосударственнаяфилармонияимеетдваконцертныхзала:Малый(Органный),рассчитанныйна300мест,иБольшойзална633места.
  • НаоснованииРаспоряженияПравительстваРеспубликиБашкортостанот10.12.2009г.№1381-ризменилсятипгосударственногоучрежденияифилармонияс01.01.2010именуется:ГосударственноеавтономноеучреждениекультурыиискусстваРеспубликиБашкортостанБашкирскаягосударственнаяфилармония имени Хусаина Ахметова.
  • Базаданныхсоставления расписания филармониипредназначенадлясоставления расписаний и хранения данных об актерах, актах, концертовы.

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

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

Задачамикурсовойработыявляютсяобучениестудентовметодамконцептуального,логическогоифизическогопроектированиябазыданных,углублениезнанийпоиспользованиюсистемуправлениябазамиданных(далее -СУБД)дляреализацииспособовхраненияинформационныхресурсовиизучениепринциповорганизацииинтерфейсаприработесними.

1. Обследованиепредметнойобласти

"Филармония" - основной вид концертной организации в области академической музыки, имеющей в своем распоряжении один или несколько концертных залов и (или) творческих коллективов различных составов.

"Концерт"- мероприятие, организованное с целью публичного исполнения концертной программы.

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

Задача - это предписанная работа или ее часть, которая должна быть выполнена заранее установленным способом в заранее оговоренные сроки.

Основные задачи филармонии:

- изучение и претворение в жизнь лучших национальных и общечеловеческих форм и традиций;

- поднятие роли культуры и искусства в воспитании подрастающего поколения в духе патриотизма;

- пропаганда произведений профессионального и фольклорного творчества;

- координация работы на благо развития культуры и искусства нашей республики;

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

- создание высокоидейных художественных произведений всех жанров искусства, способствующих воспитанию молодежи и подрастающего поколения, формированию высоких эстетических вкусов народа.

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

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

Входными документами в рассматриваемой нами модели являются «Заявка на концерт», по которой концерт после утверждения руководителем будет включен в «Расписание».

2. Инфологическаямодель

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

ERwinпозволяетсоздаватьлогическуюифизическуюмодели.

Логическийуровень-этоабстрактныйвзгляднаданные,нанемданныепредставляютсятак,каквыглядятвреальноммире,имогутназыватьсятак,какониназываютсявреальноммире.

Объектымодели,представляемыеналогическомуровне,называютсясущностямииатрибутами.ЛогическаямодельданныхявляетсяуниверсальнойиникакнесвязанасконкретнойреализациейСУБД.

ФизическийуровеньзависитотконкретнойСУБД.ВфизическоймоделисодержитсяинформацияобовсехобъектахБД.ФизическаямодельзависитотконкретнойреализацииСУБД.

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

Наоснованииобследованияпредметнойобластибыливыделеныследующиесущности:

- programmi;

- raspisanie;

- type_programmi;

- act;

- acter.

Нарис.1изображенамодельданныхсоставления расписания филармонии.

Рис.1:Инфологическаямодель

Способы представления взаимосвязей между объектами:

- Связь вида 1:1возникает в случае, когда все поля связи основной и дополнительной таблиц являются ключевыми.

- Связь вида 1:М имеет место в случае, когда одной записи основной таблицы соответствует несколько записей вспомогательной таблицы.

- Связь вида М:Мобразуется в случаях, когда нескольким записям основной таблицы соответствует несколько записей дополнительной таблицы.

Вданноймоделиданныхиспользованасвязьодинкомногим.

Так как в расписании может быть несколько программ была создана связь между таблицами «Raspisanie» и «Programmi».

Каждая программа имеет свой «Тип программы» в связи с этим была сделана связь между таблицами «Programmi» и «type_programmi».

Каждый акт имеет свой набор актеров, при этом один актер может принимать участие в нескольких актах, но в пределах одной концертной программы, из-за этого была создана связь между таблицами «Acter» и «Act»при помощи дополнительной таблицы ActActer, а также между таблицами «Act» и «Programmi».

3. Даталогическаямодель

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

Таблица-этообъектбазыданных,которыйслужитдлявводаихранениякаких-либоданных.

Каждаятаблицасостоитизстолбцов(ихназываютполямиилиатрибутами)истрок(ихназываютзаписямииликортежами).Желательно,чтобывсетаблицыимелисвоеключевоеполе.Оноднозначноопределяеткаждуюзаписьвтаблице;повторяющиесязначенияключанедопускаются.

Таблица"act"(рис.2)содержитинформациюоб актах, наименованиях, времени начала и окончания концерта.

Рис.2:Таблица"act"

Таблица"acter"(рис.3)хранитинформациюобактерах и их роде деятельности.

Рис.3:Таблица"acter"

Таблица"programmi"(рис.4)хранитинформациюонаименованиях и типе программы, залах.

Рис.4:Таблица"programmi"

Таблица"raspisanie"(рис.5)хранитвсебеинформациюодатах концертов.

Рис.5:Таблица"raspisanie"

Таблица"type_programmi"(рис.6)содержитданныеотипах программ.

Рис.6:Таблица"type_programmi"

Таблица (рис. 7)"ActActer" является связующей таблицей для связи "многие ко многим"между таблицами "Act" и "Acter".

Рис. 7: Таблица"ActActer"

Таблица (рис. 8) "RaspisanieProgramm"является связующей таблицей для связи "многие ко многим"между таблицами "Raspisanie" и "Programmi".

Рис. 8: Таблица"RaspisanieProgramm"

Нарис.9показанаструктураБДввидедиаграммывMSSQLServer.Онапозволяетпросматриватьимодифицироватьструктурутаблициихсвязи.

Рис.9:Диаграммаданных

Скриптсозданиябазыданных:

USE [master]

GO

CREATE DATABASE [filarmoniya]

CONTAINMENT = NONE

ON PRIMARY

( NAME = N'filarmoniya', FILENAME = N'D:\Курсовая\filarmoniya.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )

LOG ON

( NAME = N'filarmoniya_log', FILENAME = N'D:\Курсовая\filarmoniya_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)

GO

ALTER DATABASE [filarmoniya] SET COMPATIBILITY_LEVEL = 120

GO

IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))

begin

EXEC [filarmoniya].[dbo].[sp_fulltext_database] @action = 'enable'

end

GO

ALTER DATABASE [filarmoniya] SET ANSI_NULL_DEFAULT OFF

GO

ALTER DATABASE [filarmoniya] SET ANSI_NULLS OFF

GO

ALTER DATABASE [filarmoniya] SET ANSI_PADDING OFF

GO

ALTER DATABASE [filarmoniya] SET ANSI_WARNINGS OFF

GO

ALTER DATABASE [filarmoniya] SET ARITHABORT OFF

GO

ALTER DATABASE [filarmoniya] SET AUTO_CLOSE OFF

GO

ALTER DATABASE [filarmoniya] SET AUTO_SHRINK OFF

GO

ALTER DATABASE [filarmoniya] SET AUTO_UPDATE_STATISTICS ON

GO

ALTER DATABASE [filarmoniya] SET CURSOR_CLOSE_ON_COMMIT OFF

GO

ALTER DATABASE [filarmoniya] SET CURSOR_DEFAULT GLOBAL

GO

ALTER DATABASE [filarmoniya] SET CONCAT_NULL_YIELDS_NULL OFF

GO

ALTER DATABASE [filarmoniya] SET NUMERIC_ROUNDABORT OFF

GO

ALTER DATABASE [filarmoniya] SET QUOTED_IDENTIFIER OFF

GO

ALTER DATABASE [filarmoniya] SET RECURSIVE_TRIGGERS OFF

GO

ALTER DATABASE [filarmoniya] SET DISABLE_BROKER

GO

ALTER DATABASE [filarmoniya] SET AUTO_UPDATE_STATISTICS_ASYNC OFF

GO

ALTER DATABASE [filarmoniya] SET DATE_CORRELATION_OPTIMIZATION OFF

GO

ALTER DATABASE [filarmoniya] SET TRUSTWORTHY OFF

GO

ALTER DATABASE [filarmoniya] SET ALLOW_SNAPSHOT_ISOLATION OFF

GO

ALTER DATABASE [filarmoniya] SET PARAMETERIZATION SIMPLE

GO

ALTER DATABASE [filarmoniya] SET READ_COMMITTED_SNAPSHOT OFF

GO

ALTER DATABASE [filarmoniya] SET HONOR_BROKER_PRIORITY OFF

GO

ALTER DATABASE [filarmoniya] SET RECOVERY FULL

GO

ALTER DATABASE [filarmoniya] SET MULTI_USER

GO

ALTER DATABASE [filarmoniya] SET PAGE_VERIFY CHECKSUM

GO

ALTER DATABASE [filarmoniya] SET DB_CHAINING OFF

GO

ALTER DATABASE [filarmoniya] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )

GO

ALTER DATABASE [filarmoniya] SET TARGET_RECOVERY_TIME = 0 SECONDS

GO

ALTER DATABASE [filarmoniya] SET DELAYED_DURABILITY = DISABLED

GO

ALTER DATABASE [filarmoniya] SET READ_WRITE

GO

USE [filarmoniya]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[act](

[id_act] [int] IDENTITY(1,1) NOT NULL,

[name] [varchar](50) NOT NULL,

[opisanie] [varchar](max) NOT NULL,

[vremya_nachala] [time](7) NOT NULL,

[vremya_okonchaniya] [time](7) NOT NULL,

[id_programmi] [int] NOT NULL,

CONSTRAINT [PK_concert] PRIMARY KEY CLUSTERED

(id_act] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

ALTER TABLE [dbo].[act] WITH CHECK ADD CONSTRAINT [FK_act_programmi] FOREIGN KEY([id_programmi])

REFERENCES [dbo].[programmi] ([id_programmi])

GO

ALTER TABLE [dbo].[act] CHECK CONSTRAINT [FK_act_programmi]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[ActActer](

[id_Act] [int] NOT NULL,

[id_Acter] [int] NOT NULL

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[ActActer] WITH CHECK ADD FOREIGN KEY([id_Act])

REFERENCES [dbo].[act] ([id_act])

GO

ALTER TABLE [dbo].[ActActer] WITH CHECK ADD FOREIGN KEY([id_Acter])

REFERENCES [dbo].[acter] ([id_acter])

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[acter](

[id_acter] [int] IDENTITY(1,1) NOT NULL,

[FIO] [varchar](max) NOT NULL,

[Napravlenie] [varchar](max) NOT NULL,

CONSTRAINT [PK_acter] PRIMARY KEY CLUSTERED

(

[id_acter] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[programmi](

[id_programmi] [int] IDENTITY(1,1) NOT NULL,

[name] [varchar](50) NOT NULL,

[zal] [int] NOT NULL,

[id_type_programmi] [int] NOT NULL,

CONSTRAINT [PK_programmi] PRIMARY KEY CLUSTERED

(

[id_programmi] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

ALTER TABLE [dbo].[programmi] WITH CHECK ADD CONSTRAINT [FK_programmi_type_programmi] FOREIGN KEY([id_type_programmi])

REFERENCES [dbo].[type_programmi] ([id])

GO

ALTER TABLE [dbo].[programmi] CHECK CONSTRAINT [FK_programmi_type_programmi]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[raspisanie](

[id_raspisaniya] [int] IDENTITY(1,1) NOT NULL,

[date_concerta] [date] NOT NULL,

CONSTRAINT [PK_raspisanie] PRIMARY KEY CLUSTERED

(

[id_raspisaniya] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[RaspisanieProgramm](

[id_raspisanie] [int] NOT NULL,

[id_Programmi] [int] NOT NULL

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[RaspisanieProgramm] WITH CHECK ADD FOREIGN KEY([id_Programmi])

REFERENCES [dbo].[programmi] ([id_programmi])

GO

ALTER TABLE [dbo].[RaspisanieProgramm] WITH CHECK ADD FOREIGN KEY([id_raspisanie])

REFERENCES [dbo].[raspisanie] ([id_raspisaniya])

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[type_programmi](

[id] [int] IDENTITY(1,1) NOT NULL,

[name] [varchar](50) NOT NULL,

CONSTRAINT [PK_type_concert] PRIMARY KEY CLUSTERED

(

[id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

4. Физическаяреализациябазыданныхввидеприложения

Дляудобстваработысбазойданныхбылоразработаноприложение"Raspisanie"наязыкепрограммированияDelphi.

Delphiявляетсяязыкомпрограммированияисредойразработкипрограммногообеспечения.ОнразработанBorland(ранееизвестныйкакInprise).Языкпрограммирования,DelphiранееизвестныйкакObjectPascal(Pascalсобъектно-ориентированнымирасширениями),первоначальноориентированныйтольконаMicrosoftWindows,новнастоящеевремяпозволяетстроитьсобственныеприложениядляLinuxиMicrosoft.NETFramework,идругих.

Наиболеепопулярноеиспользование-разработканастольныхприложенийибазданныхпредприятия,акакинструментязыкпрограммированияDelphiможетиспользоватьсяидлябольшинстватиповразвивающихсяпроектов.Этобылодинизпервыхязыков,которыйстализвестнымкакинструментRAD(быстраяразработкаприложений),когдавышелв1995году.Delphi2,вышедшийгодспустя,поддерживал32-разряднуюсредуWindows,итольконескольколетспустявышлиC,C++Builder.В2001годусталадоступнаверсияподОСLinuxизвестнаякакKylix(классическаягреческаяурна).Каждыйгодвыходилопооднойновойверсии,в2002годупродуктстализвестенкакDelphi7Studio,языксталофициальноназыватьсяязыкпрограммированияDelphi,анеObjectPascal,атакжебыладобавленаподдержкаLinux(черезKylix)иNET(черезПредварительныйкомпилятор).

Задачиразработки:

1) организацияподключениякбазеданных;

2) разработка пользовательского интерфейса;

3) составление, просмотр и изменение расписания;

4) добавление концертных программи их типов;

5) добавление актеров;

6) добавление актов и описаний к ним.

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

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

Первоечтовидитпользовательвприложении-этоинтерфейспрограммногопродукта.

Интерфейсдолженбытьинтуитивнопонятным,чтобыпользовательмогработатьпродолжительноевремябезусталости.

Нарис.10представленоглавноеокнопрограммногопродукта"Raspisanie".Исходныйкодпрограммыпредставленвприл.1.

Рис.10:Главноеокнопрограммногопродукта"Raspisanie"

Работа программы представлена на рис.11-15.

Рис.11: Добавление программы

Рис.12: Добавление типа концерта

Рис.13: Добавление актеров

Рис.14: Добавление актов

Рис.15: Расписание

Заключение

Врезультатепроделаннойкурсовойработыбыларазработанабазаданныхсоставления расписания филармонии.

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

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

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

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

Поставленныецелиизадачибылирешенывполномобъеме.

Литература

1. Алешин,Л.И.Информационныетехнологии[Текст]/Л.И.Алешин.-М.:МаркетДС.-2011.-384с.

2. Голенищев,Э.П.Информационноеобеспечениесистемуправления:учебноепособиедлястудентоввузов[Текст]/Э.П.Голенищев,И.В.Клименко.-Ростов-на-Дону:Феникс.-2011.-315с.

3. Голицына,О.Л.Основыпроектированиябазданных:Учебноепособие[Текст]/О.Л.Голицына,Т.Л.Партыка,И.И.Попов.-2-еизд.-М.:Форум,Инфра-М.-2016.-416с.

4. Горбаченко,В.И.ПроектированиеинформационныхсистемсCAERwinModelingSuite7.3:учебноепособие[Текст]/В.И.Горбаченко,Г.Ф.Убиенных,Г.В.Бобрышева.-Пенза:Изд-воПГУ.-2012.-154с.

5. Гребенюк,Е.И.Техническиесредстваинформатизации[Текст]/Е.И.Гребенюк,Н.А.Гребенюк.-6-еизд.,перераб.идоп.-М.:Академия.-2011.-350с.

6. Дубейковский,В.И.ЭффективноемоделированиесCAERwinProcessModeler(BPwin;AllFusionProcessModeler)[Текст]/В.И.Дубейковский-5-еизд.-М.:Диалог-Мифи.-2014.-384с.

7. Кузин,А.В.Базыданных[Текст]/А.В.Кузин,С.В.Левонисова.-5-еизд.,испр.-М.:Академия.-2012.-320с.

8. Могилев,А.В.Информатика:учебноепособиедлявузов[Текст]/А.В.Могилев,Н.И.Пак;ред.Е.К.Хеннер.-8-еизд.,стер.-М.:Академия.-2012.-848с.

9. Туманов,В.Е.Основыпроектированияреляционныхбазданных[Текст]/В.Е.Туманов.-М.:БИНОМ.Лабораториязнаний.-2012.-420с.

ПРИЛОЖЕНИЯ

Приложение1

Исходныйкодпрограммы

unit Unit1;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Data.DB, Data.Win.ADODB;

type

TForm1 = class(TForm)

Button1: TButton;

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Edit2: TEdit;

ADOQuery1: TADOQuery;

Label3: TLabel;

ComboBox1: TComboBox;

Label4: TLabel;

ComboBox2: TComboBox;

procedure Button1Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

procedure ComboBox2Change(Sender: TObject);

private

{ Private declarations }

public

var act:string;

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

uses Unit2;

procedure TForm1.Button1Click(Sender: TObject);

var acter:integer;

begin

if Form1.Caption='Добавлениеактеров' then

begin

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Text:='insert into acter (FIO,Opisanie,id_act) values ('''+Edit1.Text+''''+' ,'''+Edit2.Text+''','+act+')';

ADOQuery1.ExecSQL;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Text:='select id_acter from acter where FIO='''+Edit1.Text+''' and id_act='''+act+'''';

ADOQuery1.Active:=true;

acter:=ADOQuery1.FieldByName('id_acter').AsInteger;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Text:='update act set id_acter='''+IntToStr(acter)+''' where id_act='''+act+'''';

ADOQuery1.ExecSQL;

ShowMessage('Записьуспешнодобавлена');

Edit1.Clear;

Edit2.Clear;

ComboBox1.Text:='';

ComboBox2.Text:='';

end

else

if Form1.Caption='Добавлениетипаконцерта' then

begin

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Text:='insert into type_programmi (name) values ('''+Edit1.Text+''')';

//ShowMessage(ADOQuery1.SQL.Text);

ADOQuery1.ExecSQL;

ShowMessage('Записьуспешнодобавлена');

Edit1.Clear;

end;

end;

procedure TForm1.ComboBox1Change(Sender: TObject);

begin

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Text:='select id_act from act where name='''+ComboBox1.Text+'''';

ADOQuery1.Active:=true;

act:=ADOQuery1.FieldByName('id_act').AsString;

end;

procedure TForm1.ComboBox2Change(Sender: TObject);

var i:integer;

begin

Adoquery1.SQL.Text:='select a.name from act a left join programmi p on a.id_programmi=p.id_programmi where p.name='''+Combobox2.Text+'''';

ADOQuery1.Active:=True;

Combobox1.Clear;

for i := 0 to ADOQuery1.Recordcount - 1 do

begin

ComboBox1.Items.Add(ADOQuery1.FieldByName('name').asstring);

ADOQuery1.Next;

end;

end;

procedure TForm1.FormShow(Sender: TObject);

var i:integer;

begin

ADOQuery1.ConnectionString:='Provider=SQLNCLI11.1;Persist Security Info=False;User ID=sa; Password=123; Initial Catalog=filarmoniya;Data Source=(local);Initial File Name="";Server SPN=""';

if Form1.Caption='Добавлениеактеров' then

begin

label1.Caption:='ВведитеФИОактера';

label2.Caption:='Описание актера (род деятельности)';

Edit1.Visible:=true;

Label1.Visible:=true;

Label2.Visible:=true;

Label3.Visible:=true;

ComboBox1.Visible:=true;

//Adoquery1.SQL.Text:='select name from act';

Adoquery1.SQL.Text:='select name from programmi';

ADOQuery1.Active:=True;

Combobox2.Clear;

for i := 0 to ADOQuery1.Recordcount - 1 do

begin

ComboBox2.Items.Add(ADOQuery1.FieldByName('name').asstring);

ADOQuery1.Next;

end;

end

else

if Form1.Caption='Добавлениетипаконцерта' then

begin

Label1.Visible:=true;

Label2.Visible:=false;

Label3.Visible:=false;

ComboBox1.Visible:=false;

Edit2.Visible:=false;

label1.Caption:='Введитевидконцерта';

end;

end;

end.

unit Unit2;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Data.DB, Data.Win.ADODB;

type

TForm2 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

{$R *.dfm}

uses Unit1,Unit3, Unit4,Unit5;

procedure TForm2.Button1Click(Sender: TObject);

begin

Form1.Caption:='Добавлениеактеров';

Form1.ShowModal;

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

Form1.Caption:='Добавление типа концерта';

Form1.ShowModal;

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

Form3.ShowModal;

end;

procedure TForm2.Button4Click(Sender: TObject);

begin

Form4.ShowModal;

end;

procedure TForm2.Button5Click(Sender: TObject);

begin

Form5.ShowModal;

end;

end.

unit Unit3;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls, Data.DB,

Data.Win.ADODB;

type

TForm3 = class(TForm)

Label1: TLabel;

GroupBox1: TGroupBox;

Memo1: TMemo;

Label2: TLabel;

Label3: TLabel;

DateTimePicker1: TDateTimePicker;

DateTimePicker2: TDateTimePicker;

Edit1: TEdit;

Button1: TButton;

Label4: TLabel;

ComboBox1: TComboBox;

ADOQuery1: TADOQuery;

procedure FormShow(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

var type_programmi:string;

{ Public declarations }

end;

var

Form3: TForm3;

implementation

{$R *.dfm}

uses Unit1;

procedure TForm3.Button1Click(Sender: TObject);

begin

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Text:='insert into act (name, opisanie, vremya_nachala, vremya_okonchaniya, id_programmi) values (';

ADOQuery1.SQL.Text:=ADOQuery1.SQL.Text+''''+Edit1.Text+''','+''''+Memo1.Text+''','+''''+TimeToStr(DateTimePicker1.Time)+''',';

ADOQuery1.SQL.Text:=ADOQuery1.SQL.Text+''''+TimeToStr(DateTimePicker1.Time)+''','+type_programmi+')';

ADOQuery1.ExecSQL;

ShowMessage('Записьуспешнодобавлена');

Edit1.Text:='';

Memo1.Clear;

ComboBox1.Text:='';

end;

procedure TForm3.ComboBox1Change(Sender: TObject);

begin

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Text:='select id_programmi from programmi where name='''+ComboBox1.Text+'''';

ADOQuery1.Active:=true;

type_programmi:=ADOQuery1.FieldByName('id_programmi').AsString;

end;

procedure TForm3.FormShow(Sender: TObject);

var i:integer;

begin

ADOQuery1.ConnectionString:='Provider=SQLNCLI11.1;Persist Security Info=False;User ID=sa; Password=123; Initial Catalog=filarmoniya;Data Source=(local);Initial File Name="";Server SPN=""';

Adoquery1.SQL.Text:='select name from programmi';

ADOQuery1.Active:=True;

Combobox1.Clear;

for i := 0 to ADOQuery1.Recordcount - 1 do

begin

ComboBox1.Items.Add(ADOQuery1.FieldByName('name').asstring);

ADOQuery1.Next;

end;

end;

end.

unit Unit4;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Data.DB, Data.Win.ADODB,

Vcl.ComCtrls;

type

TForm4 = class(TForm)

Label1: TLabel;

Label3: TLabel;

Label4: TLabel;

Edit1: TEdit;

Edit2: TEdit;

ComboBox1: TComboBox;

Button1: TButton;

ADOQuery1: TADOQuery;

procedure FormShow(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

private

{ Private declarations }

public

var type_concert:string;

{ Public declarations }

end;

var

Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);

begin

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Text:='insert into programmi (name,zal,type_programmi) values ('+''''+Edit1.Text+''',';

ADOQuery1.SQL.Text:=ADOQuery1.SQL.Text+''''+Edit2.Text+''','+type_concert+')';

ADOQuery1.ExecSQL;

ShowMessage('Записьуспешнодобавлена');

Edit1.Clear;

Edit2.Clear;

ComboBox1.Text:='';

end;

procedure TForm4.ComboBox1Change(Sender: TObject);

begin

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Text:='select id from type_programmi where name='''+ComboBox1.Text+'''';

ADOQuery1.Active:=true;

type_concert:=ADOQuery1.FieldByName('id').AsString;

end;

procedure TForm4.FormShow(Sender: TObject);

var i:integer;

begin

ADOQuery1.ConnectionString:='Provider=SQLNCLI11.1;Persist Security Info=False;User ID=sa; Password=123; Initial Catalog=filarmoniya;Data Source=(local);Initial File Name="";Server SPN=""';

Adoquery1.SQL.Text:='select name from type_programmi';

ADOQuery1.Active:=True;

Combobox1.Clear;

for i := 0 to ADOQuery1.Recordcount - 1 do

begin

ComboBox1.Items.Add(ADOQuery1.FieldByName('name').asstring);

ADOQuery1.Next;

end;

end;

end.

unit Unit5;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Data.DB, Data.Win.ADODB,

Vcl.ComCtrls, Vcl.Grids, Vcl.DBGrids, Vcl.ExtCtrls;

type

TForm5 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Button1: TButton;

DateTimePicker1: TDateTimePicker;

ADOQuery1: TADOQuery;

ComboBox1: TComboBox;

DBGrid1: TDBGrid;

ADOQuery2: TADOQuery;

DataSource1: TDataSource;

Button2: TButton;

RadioGroup1: TRadioGroup;

DateTimePicker2: TDateTimePicker;

Label3: TLabel;

Label4: TLabel;

ComboBox2: TComboBox;

Label5: TLabel;

Edit1: TEdit;

Button3: TButton;

procedure FormShow(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure RadioGroup1Click(Sender: TObject);

private

{ Private declarations }

public

var type_programmi,id_rasp:string;

{ Public declarations }

end;

var

Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);

begin

ADOQuery1.ConnectionString:='Provider=SQLNCLI11.1;Persist Security Info=False;User ID=sa; Password=123; Initial Catalog=filarmoniya;Data Source=(local);Initial File Name="";Server SPN=""';

Adoquery1.SQL.Clear;

Adoquery1.SQL.Text:='insert into raspisanie (date_concerta,id_programmi) values ('+''''+DateToStr(DateTimePicker1.Date)+''','+''''+type_programmi+''')';

Adoquery1.ExecSQL;

ShowMessage('Записьуспешнодобавлена');

ComboBox1.Text:='';

ADOquery2.Active:=false;

ADOquery2.Active:=true;

DBGrid1.DataSource.DataSet.Refresh;

DBGrid1.Columns[0].Width:=0;

end;

procedure TForm5.Button2Click(Sender: TObject);

begin

adoquery1.SQL.Clear;

adoquery1.SQL.Text:='delete from raspisanie where id='+DBGrid1.DataSource.DataSet.FieldByName('id').AsString;;

adoquery1.ExecSQL;

//ShowMessage(adoquery1.SQL.Text);

ADOquery2.Active:=false;

ADOquery2.Active:=true;

DBGrid1.Columns[0].Width:=0;

end;

procedure TForm5.Button3Click(Sender: TObject);

begin

ADOQuery2.SQL.Clear;

if RadioGroup1.ItemIndex=0 then

begin

ADOQuery2.SQL.Text:='select r.id as id,date_concerta as [Датаконцерта],p.name as Наименование,p.zal as Зал,t.name as [Типконцерта] from raspisanie r left join programmi p on r.id_programmi=p.id_programmi left join type_programmi t on p.type_programmi=t.id';

ADOQuery2.SQL.Text:=ADOQuery2.SQL.Text+' where date_concerta='''+DateToStr(DateTimePicker2.Date)+'''';

ADOQuery2.Active:=true;

DBGrid1.Columns[0].Width:=0;

end

else

if RadioGroup1.ItemIndex=1 then

begin

ADOQuery2.SQL.Text:='select r.id as id,date_concerta as [Датаконцерта],p.name as Наименование,p.zal as Зал,t.name as [Типконцерта] from raspisanie r left join programmi p on r.id_programmi=p.id_programmi left join type_programmi t on p.type_programmi=t.id';

ADOQuery2.SQL.Text:=ADOQuery2.SQL.Text+' where date_concerta='''+Edit1.Text+'''';

ADOQuery2.Active:=true;

DBGrid1.Columns[0].Width:=0;

end

else

if RadioGroup1.ItemIndex=2 then

begin

ADOQuery2.SQL.Text:='select r.id as id,date_concerta as [Датаконцерта],p.name as Наименование,p.zal as Зал,t.name as [Типконцерта] from raspisanie r left join programmi p on r.id_programmi=p.id_programmi left join type_programmi t on p.type_programmi=t.id';

ADOQuery2.SQL.Text:=ADOQuery2.SQL.Text+' where p.zal='''+Edit1.Text+'''';

ADOQuery2.Active:=true;

DBGrid1.Columns[0].Width:=0;

end

else

if RadioGroup1.ItemIndex=3 then

begin

ADOQuery2.SQL.Text:='select r.id as id,date_concerta as [Датаконцерта],p.name as Наименование,p.zal as Зал,t.name as [Типконцерта] from raspisanie r left join programmi p on r.id_programmi=p.id_programmi left join type_programmi t on p.type_programmi=t.id';

ADOQuery2.SQL.Text:=ADOQuery2.SQL.Text+' where t.name='''+ComboBox2.Text+'''';

ADOQuery2.Active:=true;

DBGrid1.Columns[0].Width:=0;

end;

end;

procedure TForm5.ComboBox1Change(Sender: TObject);

begin

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Text:='select id_programmi from programmi where name='''+ComboBox1.Text+'''';

ADOQuery1.Active:=true;

type_programmi:=ADOQuery1.FieldByName('id_programmi').AsString;

end;

procedure TForm5.FormShow(Sender: TObject);

var i:integer;

begin

ADOQuery1.ConnectionString:='Provider=SQLNCLI11.1;Persist Security Info=False;User ID=sa; Password=123; Initial Catalog=filarmoniya;Data Source=(local);Initial File Name="";Server SPN=""';

Adoquery1.SQL.Text:='select name from programmi';

ADOQuery1.Active:=True;

Combobox1.Clear;

for i := 0 to ADOQuery1.Recordcount - 1 do

begin

ComboBox1.Items.Add(ADOQuery1.FieldByName('name').asstring);

ADOQuery1.Next;

end;

Adoquery1.SQL.Text:='select name from type_programmi';

ADOQuery1.Active:=True;

Combobox2.Clear;

for i := 0 to ADOQuery1.Recordcount - 1 do

begin

ComboBox2.Items.Add(ADOQuery1.FieldByName('name').asstring);

ADOQuery1.Next;

end;

ADOQuery2.SQL.Clear;

ADOQuery2.SQL.Text:='select r.id as id,date_concerta as [Датаконцерта],p.name as Наименование,p.zal as Зал,t.name as [Типконцерта] from raspisanie r left join programmi p on r.id_programmi=p.id_programmi left join type_programmi t on p.type_programmi=t.id';

ADOQuery2.Active:=true;

DBGrid1.Columns[0].Width:=0;

end;

procedure TForm5.RadioGroup1Click(Sender: TObject);

begin

if RadioGroup1.ItemIndex=0 then

begin

ComboBox2.Enabled:=false;

Edit1.Enabled:=false;

DateTimePicker2.Enabled:=true;

end

else

if (RadioGroup1.ItemIndex=1) or (RadioGroup1.ItemIndex=2) then

begin

ComboBox2.Enabled:=false;

Edit1.Enabled:=true;

DateTimePicker2.Enabled:=false;

end

else

if RadioGroup1.ItemIndex=3 then

begin

ComboBox2.Enabled:=true;

Edit1.Enabled:=false;

DateTimePicker2.Enabled:=false;

end;

end;

end.

Размещено на Allbest.ru


Подобные документы

  • Систематизация, закрепление и расширение теоретических и практических знаний. Выбор методов построения проектируемого устройства, синтез функциональных узлов, схемы контроля, расчеты электронных схем. Проектирование конструкций, технологических процессов.

    методичка [84,3 K], добавлен 28.12.2009

  • Выбор методологии проектирования и системы управления базами данных. Описание предметной области и проектирование физической структуры базы данных. Реализация проекта в MS SQL Server 2008. Построение инфологической модели. Ограничения целостности связи.

    курсовая работа [679,2 K], добавлен 22.01.2013

  • Анализ предметной области, концептуальных требований и информационных потребностей к разрабатываемой базе данных студентов. Выбор информационных объектов и проектирование информационной структуры. Создание таблиц, отчетов, запросов на выборку и форм.

    курсовая работа [69,4 K], добавлен 18.11.2010

  • Понятие информации, автоматизированных информационных систем и банка данных. Общая характеристика описательной модели предметной области, концептуальной модели и реляционной модели данных. Анализ принципов построения и этапы проектирования базы данных.

    курсовая работа [1,7 M], добавлен 18.01.2012

  • Этап концептуального проектирования базы данных: описание и характеристика предметной области, ограничения и допуения, модель "сущность-связь" (ER-диаграмма). Выбор модели данных. Требования к интерфейсу пользователя, создание запросов в среде Delphi.

    курсовая работа [2,2 M], добавлен 25.05.2010

  • Базы данных - важнейшая составная часть информационных систем. Проектирование базы данных на примере предметной области "Оргтехника". Сбор информации о предметной области. Построение информационно-логической модели данных. Разработка логической структуры.

    курсовая работа [318,6 K], добавлен 24.12.2014

  • Рассмотрение теоретических основ проектирования. Анализ предметной области и разработка таблиц базы данных. Заполнение таблиц, поиск данных с помощью фильтра. Создание форм, разработка запросов. Создание и настройка отчетов, составление приложения.

    курсовая работа [2,8 M], добавлен 01.06.2014

  • Основные области проектирования информационных систем: базы данных, программы (выполнение к запросам данных), топология сети, конфигурации аппаратных средств. Модели жизненного цикла программного обеспечения. Этапы проектирования информационной системы.

    реферат [36,1 K], добавлен 29.04.2010

  • Проблемы внедрения информационных технологий. Автоматизация работы пользователя. Основные этапы проектирования базы данных. Функционирование предметной области. Специализированные языки обработки данных. Обоснование выбора основных технических средств.

    курсовая работа [61,9 K], добавлен 08.02.2012

  • Инфологическое проектирование базы данных "Читальный зал" в среде СУБД MS Access. Расширение теоретических и практических знаний по использованию готовых и созданию собственных БД, применяя систему объектно-ориентированного программирования Delphi.

    курсовая работа [3,8 M], добавлен 10.12.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.