Проектирование БД составления расписания филармонии
Систематизация, закрепление и расширение теоретических знаний студентов, приобретение практических навыков обследования предметной области, концептуального и физического проектирования базы данных. Освоение средств хранения информационных ресурсов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 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