Автоматизированная информационная система 'Учет животных, птиц, рептилий в зоопарке'

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    762,18 Кб
  • Опубликовано:
    2013-05-30
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Автоматизированная информационная система 'Учет животных, птиц, рептилий в зоопарке'

Министерство образования и науки Российской Федерации

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

Факультет информационных технологий

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



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

по дисциплине “Базы данных”

Автоматизированная информационная система «Учёт животных, птиц, рептилий в зоопарке»

Руководитель

___________________Щелоков С.А.

« ___ » ________________ 2013 г.

Исполнитель

студент группы З-11ПИнж(б)РПиС(у)

___________________Барбашин Д.А

« ___ » ________________ 2013 г.



Оренбург 2013

Министерство образования и науки Российской Федерации

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

Факультет информационных технологий

Кафедра программного обеспечения вычислительной техники

и автоматизированных систем

Задание

Автоматизированная информационная система

«Учёт животных, птиц, рептилий в зоопарке»

Описание предметной области:

Предприятие - крупный зоопарк.

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

Каждому питомцу назначается рацион кормления, который характеризуется номером, названием, типом (детский, диетический, усиленный и т.п.) Каждый тип рациона может содержать несколько названий рационов. Рацион может со временем меняться. Необходимо также учитывать зону обитания животного (название, характеристика). Каждое животное относится к одной зоне обитания. Так же необходимо хранить информацию о том, к какому смотрителю на текущий момент прикреплен питомец. За каждым животным закреплён обязательно один смотритель, а каждый смотритель одновременно может обслуживать нескольких. Так же в зоопарке есть ветеринары, которые тоже закреплены за животными. Каждый сотрудник имеет свой личный номер, имя дату рождения, также необходимо знать номер телефона, и семейное положение сотрудника. Если кто-то из одной семьи работает вместе(супруги), необходимо об этом знать.

Необходимо реализовать следующие запросы:

Полная информация по типу и имени питомца зоопарка;

Список сотрудников, работающих семейными парами - ФИО, дата рождения, телефон;

Перечень всех животных на текущую дату и номера их рационов.

Содержание

Введение
. Анализ данных предметной области
. Информационно-логическая модель базы данных
. Даталогическая модель базы данных
. Физическое проектирование
. Мероприятия по защите и обеспечению целостности базы данных
. Приложение интерфейса для SQL-сервера базы данных на языке программирования Delphi в программной среде Embarcadero RAD Studio
Заключение
Список используемых источников
Приложение А Листинг программы
Приложение Б Скрипты SQL-запросов

Введение

Целью данной курсовой работы является разработка и создание базы данных предметной области «Индивидуальный план преподавателя» в СУБД SQL Server 2008 по новым информационным технологиям на платформе Visual Studio 2010 с использованием языка программирования высокого уровня C# 4.0.

Для достижения цели поставлены инженерные задачи разработать:

1)  Информационно-логическую модель предметной области по нотациям Ричарда Баркера;

2)  Даталогическую модель реляционной БД, нормализованную до НФБК в СУБД SQL Server 2008 в виде диаграммы схемы отношений;

3)  Запросы к БД на уровне представлений и функций в СУБД SQL Server 2008;

4)  Мероприятия по защите и обеспечению целостности базы данных;

5)  Приложение интерфейса для SQL-сервера базы данных на языке программирования С# в программной среде Visual Studio 2010;

6)  Инструкцию по администрированию и пользованию БД.

Система SQL Server 2008 отталкивается от концепции платформы данных Майкрософт: она упрощает управление любыми данными в любой момент времени. Она позволяет хранить в базах данных информацию, полученную из структурированных, полу-структурированных и неструктурированных источников.

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

Система SQL Server 2008 позволяет обращаться к данным из любого приложения, разработанного с применением технологий Microsoft .NET и Visual Studio.

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

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

1-      типы животных

-        происхождение

-        условия обитания

Рисунок 1 - Схема информационных потоков

В ходе анализа данных предметной области были выделены следующие сущности и характеризующие их атрибуты:

)        Сотрудник: Номер, Фамилия, Имя, Отчество, Дата рождения, Пол, Телефон, Семейное положение, Должность, Код супруга;

)        Зона обитания: Код, Название, Характеристика;

)        Вид млекопитающего: Наименование, Происхождение, Группа;

)        Питомец: Номер питомца, Имя, Дата рождения, Пол, Вид млекопитающего, Зона обитания, Номер сотрудника, Номер Типа рациона;

)        Сведения о животном: Код, Название страны, Дата улёта /начала спячки, Дата прилёта/конец спячки, Температура, Номер питомца.

)        Тип рациона: Номер типа, Название;

)        Рацион: Номер рациона, Наименование, Список продуктов, Номертипа.

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

Рисунок 2 - Контекстная диаграмма предметной области

Более подробно описание работ показано на диаграмме декомпозиции на рисунке 3.

Рисунок 3 - Диаграмма декомпозиции предметной области

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

Рисунок 4 - Диаграмма DFD

база данные программирование delphi

Рисунок 5 - Диаграмма IDEF3

. Информационно-логическая модель базы данных

Информационно-логическая модель предметной области по нотациям Ричарда Баркера приведена на рисунке 6.

Сотрудник                   Зона обитания              Вид млекопитающих



Питомец                                          Сведения о животном



Рацион                                 Тип рациона


Рисунок 6 - Информационно-логическая модель базы данных

. Даталогическая модель базы данных

Отношение находится в ЗНФ в том случае, если оно находится во 2НФ, не ключевые атрибуты взаимно независимы (исключены так называемые транзитивные зависимости) и каждый не ключевой атрибут неприводимо зависит от первичного ключа (то есть, возможно изменять значение атрибутов без изменения первичного ключа и других не ключевых атрибутов).

Таким образом, даталогическая модель реляционной БД, нормализованная до 3НФ в СУБД SQL Server 2008 в виде диаграммы схемы отношений имеет вид, представленный на рисунке 7.

Рисунок 7 - Диаграмма схемы отношений

. Физическое проектирование

При физическом проектировании были получены таблицы 1-7.

Вид млекопитающих


Зона обитания

Питомец


Рацион


Сведения о животном


Сотрудник

Тип рациона


. Мероприятия по защите и обеспечению целостности базы данных

При создании соединения с базой данных используется проверка подлинности Windows. Контроль уровней доступа пользователей осуществляется средствами базы данных - используются роли базы данных.

Обеспечение целостности базы данных осуществляется путём каскадного обновления и каскадного удаления данных. Так же для каждой таблицы созданы триггеры на операции «INSERT» и «DELETE». В ходе анализа предметной области были выявлены уникальные ключи для каждой таблицы, представленной в базе данных, что обеспечивает целостность таблиц.

. Приложение интерфейса для SQL-сервера базы данных на языке программирования Delphi в программной среде Embarcadero RAD Studio XE2

Интерфейс пользователя основан на применении форм Windows Forms.

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

Рисунок 8 - Создание формы для представления таблиц

) Поместить на форму компонент TADOConnection (например ADOConnection1) .

В инспекторе объектов требуется выбрать ConnectionString=> UseConnectionString=>MicrosoftOleDBProvider for SQL-server. В резултате появится окно……(рисунки 9 - 10).

) После этого нажать “далее” и выбрать имя сервера, аутентификацию WinNT или SQL-Server, и наконец выбрать базу данных на сервере (к этому моменту она уже должна быть создана, либо произвольную) и нажать “Проверить подключение” (рисунок 11).

) Далее активировать ADOConnection1, в свойстве Connected поставить True (рисунок 12).

Рисунок 3.1 - Подключение к базе данных

Рисунок 9 - Организация подключения

Рисунок 10 - Выбор подключаемых данных

Рисунок 11 - Настройки соединения

Рисунок 12 - Активация подключения

1)      Затем добавить компонент ADO Table (рисунок 13).

Рисунок 13 - ADOTable

) После добавить компонент TDataSource (с закладки Data Access). Свойство DataSet этого DataSource должно быть равным ADOTable1 (рисунок 14).

Рисунок 14 - DataSource

) Затем перенести на форму компонент TDBGrid с закладки DataControls. Установить его свойство DataSource в DataSource1. Данные должны отобразится в сетке DBGrid (рисунки 15 - 16).

Рисунок 15 - Компонент DBGrid

Рисунок 16 - Конечная реализация подключения

) Затем в данном окне произвести запрос через ADOQuery (рисунок 17).

Рисунок 17 - Запросы

Подключение Query осуществляется по схеме рассмотренной выше. В данной реализации компонент Table не нужен, сам текст запроса находится в свойстве SQL, без наличия текста запроса объект не может быть активирован. После активации запроса, данные выборки отобразятся в DBGrid (рисунок 18).

Рисунок 18 - Реализации запроса SQL через среду Delphi

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


В результате выполнения курсовой работы была разработана база данных «Индивидуальный план преподавателя» и были решены поставленные инженерные задачи. База данных отвечает современным требованиям, таким как: простота обновления данных, высокое быстродействие, независимость данных, безопасность данных и т.д. База данных разработана с применением технологий SQL Server Native Client10 , что позволяет использовать её широкому кругу пользователей. Возможности хранения данных в базе могут быть расширены на основе достигнутого, например, введением дополнительных параметров безопасности или добавлением новых таблиц, дающих более подробную информацию о том или ином аспекте предметной области. Таким образом, есть перспективы дальнейшего развития представленной базы данных.

Список использованных источников

1. Роберт Виейра Программирование баз данных Microsoft SQL Server 2005. Базовый курс. М.: ООО «И.Д. Вильямс», 2007. - 832 с.

. Владислав Пирогов SQL Server 2005. Программирование клиент-серверных приложений. Изд-во: БХВ-Петербург, СПб, 2006. - 336 с.

. Библиотека MSDN - http://msdn.microsoft.com/ru-ru/library/ms123401.aspx

. Алан Бьюли Изучаем SQL. Изд-во: «Символ-Плюс», 2007. - 312 с.

. Дунаев В.В. Базы данных. Язык SQL. Изд-во: СПб.: БХВ-Петербург, 2006. - 288 с.

. Алексей Жилинский Самоучитель Microsoft SQL Server 2005. Изд-во: БХВ-Петербург, 2007. - 224 с.

Приложение А

Листинг программы

unit Unit1_glavn;

interface.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,.Controls, Vcl.Forms, Vcl.Dialogs, DBConnAdmin, Data.DBXMSSQL, Data.FMTBcd,.StdCtrls, Data.DB, Data.SqlExpr, inifiles, Vcl.Buttons, Data.DBXSybaseASA,.DBXMySQL, Data.Win.ADODB, comobj;_nast = class(TForm): TLabel;_Host: TEdit;: TLabel;_nameBD: TEdit;: TLabel;_user: TEdit;: TLabel;: TLabel;_pass: TEdit;: TLabel;: TListBox;: TLabel;_proverka: TBitBtn;_save: TBitBtn;: TADOConnection;: TComboBox;: TCheckBox;: TMemo;SaveInifiles;LoadInifiles;FormCreate(Sender: TObject);CheckBox1Click(Sender: TObject);BitBtn_proverkaClick(Sender: TObject);BitBtn_saveClick(Sender: TObject);

{ Private declarations }

{ Public declarations };_nast: TForm_nast;: IConnectionAdmin;: Tinifile;:string;

{$R *.dfm}TForm_nast.BitBtn_proverkaClick(Sender: TObject);CheckBox1.Checked then:='Integrated Security=SSPI;User ID="";'else:='';.Connected:=false;.ConnectionString:='';:=stroka+'User ID='+Edit_user.Text+'; Password='+Edit_pass.Text+';';.ConnectionString:=ADOConnection1.ConnectionString+'Provider='+ComboBox1.Text+';Persist Security Info=False; Initial Catalog='+Edit_nameBD.Text+';Data Source='+Edit_Host.Text+';'+ stroka+Memo1.Lines.Text;.Connected:=true;.GetTableNames(ListBox1.Items,false);;TForm_nast.BitBtn_saveClick(Sender: TObject);;;TForm_nast.CheckBox1Click(Sender: TObject);CheckBox1.Checked then begin_pass.Enabled:=false;_user.Enabled:=false;else begin_pass.Enabled:=true;_user.Enabled:=true;;;TForm_nast.FormCreate(Sender: TObject);FDMOApplication : Variant;: Variant;: integer;(ComboBox1.Items);:='Integrated Security="";';;;TForm_nast.LoadInifiles;FileExists(ExtractFilePath(Application.ExeName)+'Nastroika.ini') then begin:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'Nastroika.ini');.Text:=ini.ReadString('SQL','Драйвер','');_Host.Text:=ini.ReadString('SQL','Сервер','');_nameBD.Text:=ini.ReadString('SQL','БД','');_user.Text:=ini.ReadString('SQL','Логин','');_pass.Text:=ini.ReadString('SQL','Пароль','');.Lines.Text:=ini.ReadString('SQL','Параметры','');Ini.ReadString('SQL','Авторизация','')='True' then CheckBox1.Checked:=true else.Checked:=false;CheckBox1.Checked then:='Integrated Security=SSPI;User ID="";'else:='';.Connected:=false;.ConnectionString:='';:=stroka+'User ID='+Edit_user.Text+'; Password='+Edit_pass.Text+';';.ConnectionString:=ADOConnection1.ConnectionString+'Provider='+ComboBox1.Text+';Persist Security Info=False; Initial Catalog='+Edit_nameBD.Text+';Data Source='+Edit_Host.Text+';'+ stroka+Memo1.Lines.Text;.Connected:=true;else begin_nast.Show;('Задайте параметры подключения к БД', mtInformation,[mbok],0);;;TForm_nast.SaveInifiles;:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'Nastroika.ini');.WriteString('SQL','Драйвер',ComboBox1.Text);.WriteString('SQL','Сервер', Edit_Host.Text);.WriteString('SQL','БД',Edit_nameBD.Text);.WriteString('SQL','Логин',Edit_user.Text);.WriteString('SQL','Пароль',Edit_pass.Text);.WriteString('SQL','Параметры',Memo1.Lines.Text);CheckBox1.Checked then Ini.WriteString('SQL','Авторизация','True') else.WriteString('SQL','Авторизация','False');.Free;('Данные сохранены',mtInformation,[mbok],0);;.Unit_zona_obit;.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Datasnap.DBClient, SimpleDS,.Grids, Vcl.DBGrids, Vcl.DBCtrls, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.Buttons,.Menus, Data.Win.ADODB;_Zona_obit = class(TForm): TPanel;: TDBNavigator;: TDBGrid;: TDataSource;_ok: TBitBtn;: TPopupMenu;: TMenuItem;: TADOQuery;FormClose(Sender: TObject; var Action: TCloseAction);BitBtn_okClick(Sender: TObject);Excel1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };_Zona_obit: TForm_Zona_obit;unit1_glavn, unit_pitom, unit_main;

{$R *.dfm}TForm_Zona_obit.BitBtn_okClick(Sender: TObject);_ok.Visible:=False;_pitom.DBEdit_zona.Field.AsVariant:=DBGrid1.Fields[0].Value;;;TForm_Zona_obit.Excel1Click(Sender: TObject);_glavn.ExportToExcel(DBGrid1);;TForm_Zona_obit.FormClose(Sender: TObject; var Action: TCloseAction);:= caFree;_ok.Visible:=false;;.Unit_zapros;.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.Buttons;_zapros = class(TForm): TBitBtn;: TMemo;: TPanel;BitBtn1Click(Sender: TObject);FormClose(Sender: TObject; var Action: TCloseAction);

{ Private declarations }

{ Public declarations };_zapros: TForm_zapros;unit_main, unit1_glavn;

{$R *.dfm}TForm_zapros.BitBtn1Click(Sender: TObject);_glavn.ADOQuery1.Active:=false;_glavn.ADOQuery1.SQL.Clear;_glavn.ADOQuery1.SQL.Text:=Memo1.Lines.Text;_glavn.ADOQuery1.Open;E:Exception do('Не удалось выполнить запрос: '+E.Message,mtError,[mbok],0);

end;;TForm_zapros.FormClose(Sender: TObject; var Action: TCloseAction);_glavn.CheckBox1.Checked:=false;;.Unit_vid_mlek;.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Datasnap.DBClient, SimpleDS,.Grids, Vcl.DBGrids, Vcl.DBCtrls, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.Buttons,.Menus, Data.Win.ADODB;_vid_mlek = class(TForm): TPanel;: TDBNavigator;: TDBGrid;: TDataSource;_ok: TBitBtn;: TPopupMenu;: TMenuItem;: TADOQuery;FormClose(Sender: TObject; var Action: TCloseAction);BitBtn_okClick(Sender: TObject);Excel1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };_vid_mlek: TForm_vid_mlek;unit1_glavn, unit_pitom, unit_main;

{$R *.dfm}TForm_vid_mlek.BitBtn_okClick(Sender: TObject);_ok.Visible:=False;_pitom.DBEdit_vid_mlek.Field.AsVariant:=DBGrid1.Fields[0].Value;;;TForm_vid_mlek.Excel1Click(Sender: TObject);_glavn.ExportToExcel(DBGrid1);;TForm_vid_mlek.FormClose(Sender: TObject; var Action: TCloseAction);:= caFree;_ok.Visible:=false;;.Unit_tip_ras;.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Datasnap.DBClient, SimpleDS,.Grids, Vcl.DBGrids, Vcl.ExtCtrls, Vcl.DBCtrls, Vcl.StdCtrls, Vcl.Buttons,.Mask, Vcl.Menus, Data.Win.ADODB;_tip_ras = class(TForm): TPanel;: TDBGrid;: TDataSource;: TDBNavigator;_ok: TBitBtn;: TPopupMenu;: TMenuItem;: TADOQuery;BitBtn_nom_pitClick(Sender: TObject);FormClose(Sender: TObject; var Action: TCloseAction);BitBtn_okClick(Sender: TObject);Excel1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };_tip_ras: TForm_tip_ras;unit1_glavn,unit_main, unit_rasion, unit_pitom;

{$R *.dfm}TForm_tip_ras.BitBtn_nom_pitClick(Sender: TObject);_pitom:=TForm_pitom.Create(Application);_pitom.Show;_pitom.ADOQuery1.Connection:=Form_nast.ADOConnection1;_pitom.ADOQuery1.Open;_pitom.BitBtn_ok.Visible:=true;_glavn.id:='t';;TForm_tip_ras.BitBtn_okClick(Sender: TObject);Form_glavn.id='r' then_ratsion.DBEdit_pitom.Field.Value:=DBGrid1.Fields[0].Value;Form_glavn.id='p' then_pitom.DBEdit2.Field.Value:=DBGrid1.Fields[0].Value;;;TForm_tip_ras.Excel1Click(Sender: TObject);_glavn.ExportToExcel(DBGrid1);;TForm_tip_ras.FormClose(Sender: TObject; var Action: TCloseAction);_ok.Visible:=false;:= caFree;;.Unit_sved;.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Mask, Vcl.DBCtrls,.ExtCtrls, Vcl.Grids, Vcl.DBGrids, Data.DB, Datasnap.DBClient, SimpleDS,.Menus, Data.Win.ADODB;_sved = class(TForm): TPanel;: TDBNavigator;_pitom: TDBEdit;: TLabel;_pitom: TButton;: TDBGrid;: TDataSource;: TPopupMenu;: TMenuItem;: TADOQuery;FormClose(Sender: TObject; var Action: TCloseAction);Button_pitomClick(Sender: TObject);Excel1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };_sved: TForm_sved;unit_pitom, unit1_glavn, unit_main;

{$R *.dfm}TForm_sved.Button_pitomClick(Sender: TObject);_pitom:=TForm_pitom.Create(Application);_pitom.Show;_pitom.ADOQuery1.Connection:=Form_nast.ADOConnection1;_pitom.ADOQuery1.Open;_pitom.BitBtn_ok.Visible:=true;_glavn.id:='s';;TForm_sved.Excel1Click(Sender: TObject);_glavn.ExportToExcel(DBGrid1);;TForm_sved.FormClose(Sender: TObject; var Action: TCloseAction);:= caFree;;.Unit_sotr;.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,.Controls, Vcl.Forms, Vcl.Dialogs, Data.FMTBcd, Vcl.ExtCtrls, Vcl.Grids,.DBGrids, Data.DB, Data.SqlExpr, Datasnap.DBClient, Datasnap.Provider,.DBCtrls, Vcl.StdCtrls, SimpleDS, Vcl.Buttons, Vcl.Menus, Data.Win.ADODB;_sotr = class(TForm): TDBGrid;: TPanel;: TDataSource;: TDBNavigator;_ok: TBitBtn;: TPopupMenu;: TMenuItem;: TADOQuery;FormClose(Sender: TObject; var Action: TCloseAction);DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);BitBtn_okClick(Sender: TObject);Excel1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };_sotr: TForm_sotr;unit1_glavn, unit_pitom, unit_main;

{$R *.dfm}TForm_sotr.BitBtn_okClick(Sender: TObject);_ok.Visible:=False;_pitom.DBEdit_sotr.Field.AsVariant:=DBGrid1.Fields[0].Value;;;TForm_sotr.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);TD: TTransactionDesc;;TForm_sotr.Excel1Click(Sender: TObject);_glavn.ExportToExcel(DBGrid1);;TForm_sotr.FormClose(Sender: TObject; var Action: TCloseAction);:= caFree;_ok.Visible:=false;;.Unit_rasion;.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Datasnap.DBClient, SimpleDS,.Grids, Vcl.DBGrids, Vcl.DBCtrls, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.Mask,.Menus, Data.Win.ADODB;_ratsion = class(TForm): TPanel;: TDBNavigator;: TDBGrid;: TDataSource;: TLabel;_pitom: TDBEdit;_pitom: TButton;: TPopupMenu;: TMenuItem;: TADOQuery;FormClose(Sender: TObject; var Action: TCloseAction);Button_pitomClick(Sender: TObject);Excel1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };_ratsion: TForm_ratsion;unit_tip_ras, unit1_glavn,unit_main;

{$R *.dfm}TForm_ratsion.Button_pitomClick(Sender: TObject);_tip_ras:=TForm_tip_ras.Create(Application);_tip_ras.Show;_tip_ras.ADOQuery1.Connection:=Form_nast.ADOConnection1;_tip_ras.ADOQuery1.Open;_glavn.id:='r';_tip_ras.BitBtn_ok.Visible:=true;;TForm_ratsion.Excel1Click(Sender: TObject);_glavn.ExportToExcel(DBGrid1);;TForm_ratsion.FormClose(Sender: TObject; var Action: TCloseAction);:= caFree;;.Unit_pitom;.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Datasnap.DBClient, SimpleDS,.ExtCtrls, Vcl.DBCtrls, Vcl.StdCtrls, Vcl.ComCtrls, Vcl.Mask, Vcl.Grids,.DBGrids, Vcl.Buttons, Vcl.Menus, Data.Win.ADODB;_pitom = class(TForm): TPanel;: TDataSource;: TDBGrid;_nom: TDBEdit;: TLabel;: TLabel;_roj: TDateTimePicker;: TLabel;_pol: TComboBox;: TLabel;: TLabel;: TLabel;: TLabel;: TDBNavigator;_sotr: TBitBtn;_Zona: TBitBtn;: TBitBtn;_zona: TDBEdit;_sotr: TDBEdit;_vid_mlek: TDBEdit;_ok: TBitBtn;: TPopupMenu;: TMenuItem;: TADOQuery;: TDBEdit;: TLabel;: TDBEdit;: TBitBtn;FormClose(Sender: TObject; var Action: TCloseAction);BitBtn_ZonaClick(Sender: TObject);BitBtn_sotrClick(Sender: TObject);BitBtn1Click(Sender: TObject);BitBtn_okClick(Sender: TObject);Excel1Click(Sender: TObject);DateTimePicker_rojChange(Sender: TObject);ComboBox_polClick(Sender: TObject);DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);BitBtn2Click(Sender: TObject);

{ Private declarations }

{ Public declarations };_pitom: TForm_pitom;unit1_glavn, unit_sotr, unit_zona_obit, unit_vid_mlek, unit_sved, unit_main,unit_tip_ras;

{$R *.dfm}TForm_pitom.BitBtn1Click(Sender: TObject);_vid_mlek:=TForm_vid_mlek.Create(Application);_vid_mlek.Show;_vid_mlek.ADOQuery1.Connection:=Form_nast.ADOConnection1;_vid_mlek.ADOQuery1.Open;_vid_mlek.BitBtn_ok.Visible:=true;;TForm_pitom.BitBtn2Click(Sender: TObject);_glavn.id:='p';_tip_ras:=TForm_tip_ras.Create(Application);_tip_ras.Show;_tip_ras.ADOQuery1.Connection:=Form_nast.ADOConnection1;_tip_ras.ADOQuery1.Open;_tip_ras.BitBtn_ok.Visible:=true;;TForm_pitom.BitBtn_okClick(Sender: TObject);Form_glavn.id='s' then_sved.DBEdit_pitom.Field.Value:=DBGrid1.Fields[0].Value;;;TForm_pitom.BitBtn_sotrClick(Sender: TObject);_sotr:=TForm_sotr.Create(Application);_sotr.Show;_sotr.ADOQuery1.Connection:=Form_nast.ADOConnection1;_sotr.ADOQuery1.Open;_sotr.BitBtn_ok.Visible:=true;;TForm_pitom.BitBtn_ZonaClick(Sender: TObject);_Zona_obit:=TForm_Zona_obit.Create(Application);_Zona_obit.Show;_Zona_obit.ADOQuery1.Connection:=Form_nast.ADOConnection1;_Zona_obit.ADOQuery1.Open;_Zona_obit.BitBtn_ok.Visible:=true;;TForm_pitom.ComboBox_polClick(Sender: TObject);.Fields[3].Value:=ComboBox_pol.Text;;TForm_pitom.DateTimePicker_rojChange(Sender: TObject);.Fields[2].Value:=DateTimePicker_roj.Date;;TForm_pitom.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);Button of: begin.Fields[2].Value:=DateTimePicker_roj.Date;.Fields[3].Value:=ComboBox_pol.Text;;;;TForm_pitom.Excel1Click(Sender: TObject);_glavn.ExportToExcel(DBGrid1);;TForm_pitom.FormClose(Sender: TObject; var Action: TCloseAction);_ok.Visible:=false;:= caFree;;.Unit_main;.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Menus, Vcl.ExtCtrls, Vcl.StdCtrls,.ComCtrls, Vcl.Grids, Vcl.DBGrids, Data.DB, Datasnap.DBClient, SimpleDS,ComObj,.Win.ADODB;_glavn = class(TForm): TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TPanel;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TPanel;: TDBGrid;: TCheckBox;: TDataSource;: TPopupMenu;: TMenuItem;: TADOQuery;N2Click(Sender: TObject);N4Click(Sender: TObject);N6Click(Sender: TObject);N7Click(Sender: TObject);N5Click(Sender: TObject);N8Click(Sender: TObject);N9Click(Sender: TObject);N10Click(Sender: TObject);CheckBox1Click(Sender: TObject);N11Click(Sender: TObject);N1Click(Sender: TObject);Excel1Click(Sender: TObject);N12Click(Sender: TObject);N13Click(Sender: TObject);N14Click(Sender: TObject);N3Click(Sender: TObject);

// Procedure ExportToExcel(DBgrid:TDBGrid);

{ Private declarations }:Variant;ExportToExcel(DBgrid:TDBGrid);

{ Public declarations };_glavn: TForm_glavn;Unit1_glavn, unit_sotr, unit_zona_obit, unit_vid_mlek, unit_pitom, unit_sved, unit_rasion, unit_tip_ras, unit_zapros;

{$R *.dfm}TForm_glavn.Excel1Click(Sender: TObject);(DBGrid1);;TForm_glavn.ExportToExcel(DBgrid: TDBGrid);,j,index,z: Integer;,sheet: Variant;:= CreateOleObject('Excel.Application');.Visible := False;.WorkBooks.Add(-4167);.WorkBooks[1].WorkSheets[1].name := 'Export';:=ExcelApp.WorkBooks[1].WorkSheets['Export'];:=2; //Загоняем с первой строки.DataSource.DataSet.First;z := 0 to DBGrid.FieldCount-1 do.cells[index-1,z+1]:=dbgrid.Columns[z].Title.caption;i:=1 to DBGrid.DataSource.DataSet.RecordCount doj:=1 to DBGrid.FieldCount do.cells[index,j]:=DBGrid.fields[j-1].asstring;(index);.DataSource.DataSet.Next;;.Range[ sheet.cells[1,1], sheet.cells[ExcelApp.ActiveSheet.UsedRange.Rows.Count,ExcelApp.ActiveSheet.UsedRange.Columns.Count]].Columns.AutoFit;.Visible := true;;TForm_glavn.CheckBox1Click(Sender: TObject);CheckBox1.Checked then begin_zapros.Show;else Form_zapros.Close;;TForm_glavn.N10Click(Sender: TObject);_tip_ras:=TForm_tip_ras.Create(Application);_tip_ras.Show;_tip_ras.ADOQuery1.Connection:=Form_nast.ADOConnection1;_tip_ras.ADOQuery1.Open;;TForm_glavn.N11Click(Sender: TObject);.Visible:=true;;TForm_glavn.N12Click(Sender: TObject);_zapros.Memo1.Clear;_zapros.Memo1.Lines.LoadFromFile(ExtractFilePath(Application.ExeName)+'1.txt');_zapros.BitBtn1.Click;;TForm_glavn.N13Click(Sender: TObject);_zapros.Memo1.Clear;_zapros.Memo1.Lines.LoadFromFile(ExtractFilePath(Application.ExeName)+'2.txt');_zapros.BitBtn1.Click;;TForm_glavn.N14Click(Sender: TObject);_zapros.Memo1.Clear;_zapros.Memo1.Lines.LoadFromFile(ExtractFilePath(Application.ExeName)+'3.txt');_zapros.BitBtn1.Click;;TForm_glavn.N1Click(Sender: TObject);.Visible:=false;;TForm_glavn.N2Click(Sender: TObject);_nast.Show;;TForm_glavn.N3Click(Sender: TObject);('Группа З09 ПОВТ(у) Шарафиев Р.Н.', mtInformation, [mbok],0);;TForm_glavn.N4Click(Sender: TObject);_sotr:=TForm_sotr.Create(Application);_sotr.Show;_sotr.ADOQuery1.Connection:=Form_nast.ADOConnection1;_sotr.ADOQuery1.Open;;TForm_glavn.N5Click(Sender: TObject);_pitom:=TForm_pitom.Create(Application);_pitom.Show;_pitom.ADOQuery1.Connection:=Form_nast.ADOConnection1;_pitom.ADOQuery1.Open;;TForm_glavn.N6Click(Sender: TObject);_Zona_obit:=TForm_Zona_obit.Create(Application);_Zona_obit.Show;_Zona_obit.ADOQuery1.Connection:=Form_nast.ADOConnection1;_Zona_obit.ADOQuery1.Open;;TForm_glavn.N7Click(Sender: TObject);_vid_mlek:=TForm_vid_mlek.Create(Application);_vid_mlek.Show;_vid_mlek.ADOQuery1.Connection:=Form_nast.ADOConnection1;_vid_mlek.ADOQuery1.Open;;TForm_glavn.N8Click(Sender: TObject);_sved:=TForm_sved.Create(Application);_sved.Show;_sved.ADOQuery1.Connection:=Form_nast.ADOConnection1;_sved.ADOQuery1.Open;;TForm_glavn.N9Click(Sender: TObject);_ratsion:=TForm_ratsion.Create(Application);_ratsion.Show;_ratsion.ADOQuery1.Connection:=Form_nast.ADOConnection1;_ratsion.ADOQuery1.Open;;.

Приложение Б

Скрипты SQL-запросов

Полная информация по типу и имени питомца зоопарка;

select Вид_млекопитающих.Наименование as Вид_млекопитающих, Питомец.Имя, Питомец.Дата_рождения, Питомец.Пол, Сотрудник.Имя as Имя_ответственного_сотрудника, Тип_рациона.Название as Название_Типа_рациона, Рацион.Список_продуктов from Вид_млекопитающих,Питомец,Сотрудник, Рацион, Тип_рациона where Вид_млекопитающих.Наименование='Слон' and Питомец.Имя='Пышка' and Питомец.Вид_млекопитающего=Вид_млекопитающих.Наименование and Питомец.Номер_сотрудника=Сотрудник.Номер and Питомец.Номер_Типа_рациона=Тип_рациона.Номер_типа and Рацион.Номер_типа=Тип_рациона.Номер_типа;

Список сотрудников, работающих семейными парами - ФИО, дата рождения, телефон;

select Сотрудник.Имя, Сотрудник.Отчество, Сотрудник.Фамилия, Сотрудник.Телефон, Сотрудник.Дата_рождения from Сотрудник where Сотрудник.Код_супруга<>'';

Перечень всех животных на текущую дату и номера их рационов.

select Питомец.Имя, Питомец.Дата_рождения, Питомец.Пол, Рацион.Наименование, Рацион.Список_продуктов from Питомец, Рацион, Тип_рациона, Седения_о_животном where Питомец.Номер_питомца=Седения_о_животном.Номер_питомца and Тип_рациона.Номер_типа=Питомец.Номер_Типа_рациона and Рацион.Номер_типа=Тип_рациона.Номер_типа;

Похожие работы на - Автоматизированная информационная система 'Учет животных, птиц, рептилий в зоопарке'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!