Книжный магазин

 

Московский Государственный Технический Университет имени Н. Э. Баумана

Калужский филиал









Пояснительная записка к курсовой работе

по курсу «Базы данных»

на тему:

«Книжный магазин»




Выполнил:

студент группы ЭВМ-51

Салтыков В.С.

Проверил:

Твердова С.М.







Калуга 2011

Содержание


Введение

. Исследовательская часть

.1. Постановка задачи

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

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

.4. Сбор данных по выбранной теме

.5. Средства реализации

. Конструкторская часть

.1. Основные этапы разработки

.2. Создание таблиц и их заполнение

.3. Создание приложения в Delphi

. Технологическая часть

.1. Требования к составу и параметрам технических средств

. Руководство пользователя

Заключение

Список литературы

Графическое приложение №1

Графическое приложение №2

Графическое приложение №3

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

Введение


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

Управление информацией всегда было основной сферой применения компьютеров и, надо думать, будет играть еще большую роль в будущем. Системы управления базами данных (СУБД, DBMS - Database anagement System) на протяжении всего пути развития компьютерной техники совершенствовались, поддерживая все более сложные уровни абстрактных данных, заданных пользователем, и обеспечивая взаимодействие компонентов, распределенных в глобальных сетях и постепенно интегрирующихся с телекоммуникационными системами. База данных - это набор таблиц, состоящих из столбцов и строк, аналогично электронной таблице. Каждая строка содержит одну запись; каждый столбец содержит все экземпляры конкретного фрагмента данных всех строк.

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

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

Существуют следующие разновидности баз данных:

  • Иерархические
  • Сетевые
  • Реляционные
  • Объектно-ориентированные
  • Гибридные и другие.

1. Исследовательская часть


.1 Постановка задачи


Необходимо разработать базу данных книжного магазина, отвечающую на следующие вопросы:

1.Какие книги продает магазин

2.Какие издательства поставляют книги в магазин?

.Какие сотрудники работают в магазине?

.Какие помещения находятся в пользовании магазина?

.Какие инспекции проводят проверки в магазине?

База данных должна иметь следующий список функций:

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

2.Простой и интуитивно понятный пользователю интерфейс.

.Возможность печати отчетов с данными базы.

.Осуществление поиска необходимой информации.


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


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

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

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

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

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

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


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


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

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

1.«Книги»

2.«Авторы»

.«Издательства»

.«Сотрудники»

.«Помещения»

.«Заказы»

.«Инспекции»


1.4 Сбор данных по выбранной теме


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

«Книги» :

·Название

·Автор

·Жанр

·Цена

«Авторы» :

·Фамилия И.О. автора

·Жанр

·Издательство

«Издательства» :

·Название

·Адрес

·Директор

·E-mail

«Сотрудники» :

·Фамилия И.О.

·Адрес

·Должность

·Место работы

·Зарплата

«Помещения» :

·Тип

·Адрес

·Площадь (кв. м.)

«Заказы»

·Номер заказа

·Сроки

·Количество книг

·Заказчик

·Поставщик

«Инспекции»

·Шифр

·Тип

·Адрес

·Директор

·Кого инспектирует


1.5 Средства реализации


Для решения поставленной задачи наиболее удобным является среда программирования Delphi, т.к. выбранная среда программирования обеспечивает довольно высокую скорость разработки программ и позволяет создавать ПО высокого качества.

Delphi обладает практически всеми возможностями современных СУБД. Она имеет встроенную поддержку языка структурированных запросов (SQL). Delphi позволяет создавать приложения для локальных и удаленных баз данных. Применительно к работе с базами данных, Delphi обеспечивает широкий набор инструментальных средств, поддерживающих современные технологии.

Каждое приложение, использующее базы данных, обычно, имеет по крайней мере по одному компоненту следующих типов:

1.Наборы данных, - DataSet - непосредственно связывающиеся с базой данных. Для технологии ADO это такие компоненты, как ADOQuery, ADOConnection.

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

3.Компоненты визуализации и управления данными, такие, как DBGrid.

4.Компоненты для построения отчетов такие как QuickRep, QRLabel, QRDBText и другие.

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

Label(Надпись) - Используется для отображения информации о том, что ищет пользователь при открытии окна поиска.

Edit (Поле ввода) - служит для ввода информации при поиске в базе данных.

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

Button (Кнопка) - Используется для открытия таблиц базы данных, выхода из программы и выполнения поиска.

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

RadioGroup (Список для одноначного выбора) - служит для возможности выбора того или иного раздела.

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

DBGrid(Сетка) - Отображает данные в виде таблицы. В этом же компоненте можно добавлять, удалять и редактировать строки таблицы.

ADOConnection - используется для соединения с различными источниками ADO.

DataSource (источник данных) - обеспечивает связь компонента DBGrid и источника данных, а именно ADOQuery.

ADOQuery - служит для определения SQL-операторов, позволяющих осуществить доступ к одной или нескольким таблицам в базе данных. Используется в функции поиска в базе данных и для связи с набором данных, которые будут отображены в DBGrid.

Для вывода отчетов использовались следующие компоненты:

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

QRLabel (Надпись) - Служит для отображения названий столбцов таблицы.

QRDBText (ориентированный на данные компонент для размещения текста в отчете) - Служит для отображения значений строк тех столбцов, имена которых указаны в свойстве DataField.

2. Конструкторская часть


.1 Основные этапы разработки


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

.Создание таблиц и их заполнение;

.Создание приложения в Delphi;

.Создание отчётов по базе данных;

.Тестирование разработанного продукта.


2.2 Создание таблиц и их заполнение


Разработанная БД состоит из 7 таблиц, каждая из которых содержит информации о соответствующем объекте и его атрибутах. Таблицы созданы с использованием средств MS Access и хранятся в базе данных, имеющей формат .mdb. Структура БД представлена в Приложении 3.

Некоторые типы данных требуют указания размера. Это говорит базе данных о наибольшем объеме данных, который может храниться в поле.

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

В соответствии с инфологической моделью данных (Приложение 1) было создано 7 таблиц:


Таблица 1 «Книги»:

НазваниеАвторЖанрЦенаAssemblerЮров В.И.Учебная литература500 рПреступление и наказаниеДостоевский Ф.М.Художественная литература200 рМертвые душиГоголь Н.В.Художественная литература200 р

Таблица 1 имеет 4 столбца-атрибута и 3 картежа. Кардинальное число равно 3. Название является ключом. Степень отношения равна 4.

Таблица 2 «Авторы»:

Фамилия_ИОЖанрИздательствоЮров В.И.Учебная литератураПитерДостоевский Ф.М.Худжественная литератураЭКСМОГоголь Н.В.Худжественная литератураЭКСМО

Таблица 2 имеет 3 столбца-атрибута и 3 картежа. Кардинальное число равно 3. Фамилия_ИО является ключом. Степень отношения равна 3.


Таблица 3 «Издательства»:

НазваниеАдрес ДиректорE-mailПитерСанкт-Петербург, Сампсониевский пр., 29аНикольская Е.В[email protected]ЭКСМОМосква, Добролюбова ул., 2, стр. 1Новиков О.Е[email protected]

Таблица 3 имеет 4 столбца-атрибута и 2 картежа. Кардинальное число равно 2. Название является ключом. Степень отношения равна 4.


Таблица 4 «Сотрудники»:

Фамилия_ИОАдресДолжностьМесто_работыЗарплатаПетров И.В.Калуга, Московская ул, д.36Продавец-консультантОтдел художественной литературы20000 рКостин А.И.Калуга, Вилонова ул., д. 35Продавец-консультантОтдел учебной литературы20000 рЛетов Ф.И.Калуга, Плеханова ул., д.31ДиректорОфис100000 р

Таблица 4 имеет 5 столбцов-атрибутов и 3 картежа. Кардинальное число равно 3. Фамилия_ИО является ключом. Степень отношения равна 5.


Таблица 5 «Помещения»:

ТипАдрес ПлощадьОтдел художественной литературыКалуга, Кирова ул., д.7/47100 кв.м.Отдел учебной литературыКалуга, Кирова ул., д.7/47100 кв.м.

Таблица 5 имеет 3 столбца-атрибута и 2 картежа. Кардинальное число равно 2. Тип является ключом. Степень отношения равна 3.


Таблица 6 «Заказы»:

НомерКоличество_книгСрокиЗаказчикПоставщик1100031.12.2011Петров И.В.ЭКСМО

Таблица 6 имеет 5 столбцов-атрибутов и 1 картеж. Кардинальное число равно 1. Номер является ключом. Степень отношения равна 5.


Таблица 7 «Инспекции»:

ШифрТипАдресДиректорИнспектирует182829Налоговая инспекцияКалуга, пер. Воскресенский, д.8Зыков В.А.Директор23416Инспекция персоналаМосква, Тверская ул., д.6Злотников Р.С.Продавец-консультант

Таблица 7 имеет 5 столбцов-атрибутов и 2 картежа. Кардинальное число равно 2. Шифр является ключом. Степень отношения равна 5.


2.3 Создание приложения в Delpi


Создание главной формы

Сначала создается новый проект Delphi. Form1 будет служить для выбора и открытия таблиц базы данных. Выбор таблиц осуществляется при помощи RadioGroup1.

Для кнопки «Выбор» пишем код:


procedure TForm1.Button1Click(Sender: TObject);RadioGroup1.ItemIndex = 0 then.Show;RadioGroup1.ItemIndex = 1 then.Show;RadioGroup1.ItemIndex = 2 then.Show;RadioGroup1.ItemIndex = 3 then.Show;RadioGroup1.ItemIndex = 4 then.Show;RadioGroup1.ItemIndex = 5 then.Show;RadioGroup1.ItemIndex = 6 then8.Show;;


Создание таблиц базы данных

Рассмотрим создание таблиц базы данных на примере Form2, имеющей имя «Книги» база данные delphi таблица

На форму помещаются компоненты DBGrid, DataSource, два ADOQuery, ADOConnection, DBNavigator.

В свойстве ConnectionString для ADOConnection1 выбираем поставщика данных Microsoft Jet 4.0 OLE DB Provider и указываем путь к базе данных, созданной при помощи MS Access.

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

SELECT*FROM book.

Добавление, удаление и изменение записей

Добавление и удаление записей осуществляется с помощью компонента MainMenu. Для этого создается вкладка «Редактировать», внутри которой создаются вкладки «Добавить запись» и «Удалить запись».

По нажатию на «Добавить запись» выполняется следующий код:


procedure TForm2.NAddClick(Sender: TObject);.Insert;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;

Form2.Width:=900;;


По нажатию «Удалить запись» выполняется код:


procedure TForm2.NDeleteClick(Sender: TObject);.Delete;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;

Form2.Width:=900;;


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

Сортировка записей

Чтобы организовать сортировку в компоненте MainMenu создается вкладка «Сортировка». По нажатию на ней выполняется код:


procedure TForm2.N2Click(Sender: TObject);

begin.Active:= false;.SQL.Clear;.SQL.Add('SELECT*FROM book ORDER BY Название');.ExecSQL;.Active:= true;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:=900;;


Поиск

Чтобы организовать поиск в компоненте MainMenu создается вкладка «Поиск». По нажатию выполняется код:


Form9.Show;

Form9.Edit1.Text:= '';

Form9.ComboBox1.Items[0]:= 'Фамилия_ИО';.ComboBox1.Items[1]:= 'Жанр';.ComboBox1.Items[2]:= 'Издательство';

Form1.SelectedForm:= 3;


Таким образом, открывается форма поиска Form9, которая вызывается таким же образом и в остальных таблицах. На Form9 располагается также кнопка «Выполнить поиск», по нажатию на которую выполняется код:


case (Form1.SelectedForm) of

:(Edit1.Text = '') then('Введите что нужно искать', mtInformation, [mbOK], 0)(Form2.DBGridBook.DataSource.DataSet.Locate(ComboBox1.Text,Edit1.Text,[])) then.DBGridBook.DataSource.DataSet.Locate(ComboBox1.Text,Edit1.Text,[])('Запись не найдена', mtInformation, [mbOK], 0);

Form9.Close;;

// Далее также для всех форм


Таким образом, через оператор CASE осуществляется поиск в нужной таблице.

Отчеты

Чтобы организовать вывод отчетов на экран создается форма, на которую помещаются компоненты QuickRep, QRLabel, QRDBText.

QuickRep и QRDBText через свойство DataSet связываются с компонентом ADOQuery1. Далее свойству DataField компонента QRDBText присваивается значение столбца таблицы из выпадающего списка, чтобы отображать записи из данного столбца.

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

3. Технологическая часть


.1 Требования к составу и параметрам технических средств


Системные требования:

·ОС Windows XP SP2 и старше

·Процессор Pentium 4 2000 MHz.

·Оперативную память 256 Mb.

·Видеа directx совместимая с размером памяти не менее 128Mb.

·Клавиатура.

·Мышь.

·Монитор c поддержкой разрешения 800х600.

Функциональное назначение

Данная программа представляет собой конечную БД по теме «Книжный магазин».

Выполнение программы

Программа запускается при помощи файла «Project1.exe».

4. Руководство пользователя


Для корректной работы разработанного ПО, взаимодействующего с базой данных, необходимо скопировать с установочного диска папку «Книжный магазин» на диск C используемого компьютера.

Чтобы запустить приложение необходимо запустить файл Project1.exe.

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


Рис.4. Главное окно приложения


Далее следует нажать кнопку «Выбрать», чтобы открыть интересующий раздел.

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

Рис.5. Вид таблицы


Удаление и добавление записей в таблицу базы данных можно осуществлять либо при помощи специального навигатора, либо при помощи специальных вкладок в меню «Редактировать». Изменение записей осуществляется двойным кликом по выбранному значению записи и последующим внесением обновленной информации. Чтобы сохранить изменения достаточно кликнуть в любой области открытого окна с таблицей.

Если пользователя интересует конкретная запись в таблице, он может найти ее, воспользовавшись меню «Редактировать» и нажав в нем вкладку «Поиск».


Рис.6. Поиск

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

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

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


Рис. 7. Отчет


Заключение


Полученная в результате выполнения проекта программа удовлетворяет поставленной задаче. Программа написана в среде визуального программирования Delphi 7 без употребления сложных структур программирования.

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

невысокими системными требованиями;

удобным интерфейсом;

простотой установки.

Недостатки программы:

невозможность работы с сетевыми базами данных;

ограниченные возможности параметров информации;

сравнительно небольшой объем содержащихся данных.

Список литературы


1. Архангельский А. Я. Программирование в Delphi 7. - М.: ООО «Бином-Пресс», 2003г. - 1152 с.

. Иванова Г. С. Технология программирования: Учебник для ВУЗов. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. - 320с.

3. Фаронов В. В., Учёбный курс Delphi 6, Москва, 2003

Графическое приложение №1


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


Графическое приложение №2


Концептуальная схема

Графическое приложение №3

Структура базы данных


.Сведения о книгах

Имя поляТипРазмерКлюч1НазваниеА50*2АвторА503ЖанрА504ЦенаN10

.Сведения об авторах

Имя поляТипРазмерКлюч1Фамилия И.О.А50*2ЖанрА503ИздательствоА50

.Сведения об издательствах

Имя поляТипРазмерКлюч1НазваниеА50*2АдресА503ДиректорА504E-mailА50

.Сведения о сотрудниках

Имя поляТипРазмерКлюч1Фамилия И.О.А50*2АдресА503ДолжностьА504Место работыА105ЗарплатаN20

.Сведения о помещениях

Имя поляТипРазмерКлюч1ТипА50*2АдресА503ПлощадьN206.

.Сведения о заказах

Имя поляТипРазмерКлюч1НомерN10*2Количество книгN103СрокиN104ЗаказчикА505ПоставщикА50

.Сведения об инспекциях

Имя поляТипРазмерКлюч1ШифрN10*2ТипА503АдресА504ДиректорА505ИнспектируетА50

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


// Главная формаUnit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Menus, ExtCtrls;= class(TForm): TRadioGroup;: TMainMenu;: TMenuItem;: TMenuItem;: TButton;: TButton;N2Click(Sender: TObject);Button2Click(Sender: TObject);Button1Click(Sender: TObject);

{ Private declarations }: integer;

{ Public declarations };: TForm1;Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8;

{$R *.dfm}TForm1.N2Click(Sender: TObject);.Close;;TForm1.Button2Click(Sender: TObject);.Close;;TForm1.Button1Click(Sender: TObject);RadioGroup1.ItemIndex = 0 then.Show;RadioGroup1.ItemIndex = 1 then.Show;RadioGroup1.ItemIndex = 2 then.Show;RadioGroup1.ItemIndex = 3 then.Show;RadioGroup1.ItemIndex = 4 then.Show;RadioGroup1.ItemIndex = 5 then.Show;RadioGroup1.ItemIndex = 6 then.Show;;.

// КнигиUnit2;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, Grids, DBGrids, DB, DBTables, ExtCtrls, DBCtrls,, Mask, ADODB;= class(TForm): TMainMenu;: TMenuItem;: TDBNavigator;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TDataSource;: TDBGrid;: TADOConnection;: TADOQuery;: TADOQuery;: TMenuItem;: TMenuItem;: TMenuItem;NChooseClick(Sender: TObject);NCloseClick(Sender: TObject);NExitClick(Sender: TObject);NAddClick(Sender: TObject);NDeleteClick(Sender: TObject);FormCreate(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm2;Unit1, Unit9, Unit10, Unit11;

{$R *.dfm}TForm2.NChooseClick(Sender: TObject);.Show;;TForm2.NCloseClick(Sender: TObject);.Close;;TForm2.NExitClick(Sender: TObject);.Close;;TForm2.NAddClick(Sender: TObject);.Insert;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:=900;;TForm2.NDeleteClick(Sender: TObject);.Delete;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:=900;;TForm2.FormCreate(Sender: TObject);.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:=900;;TForm2.N2Click(Sender: TObject);.Active:= false;.SQL.Clear;.SQL.Add('SELECT*FROM book ORDER BY Название');.ExecSQL;.Active:= true;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:=900;;TForm2.N3Click(Sender: TObject);.Show;.Edit1.Text:= '';.ComboBox1.Items[0]:= 'Название';.ComboBox1.Items[1]:= 'Автор';.ComboBox1.Items[2]:= 'Жанр';.ComboBox1.Items[3]:= 'Цена';.SelectedForm:= 2;;TForm2.N4Click(Sender: TObject);.QuickRep1.Preview;;.

// АвторыUnit3;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, DB, Menus, DBTables, ExtCtrls, DBCtrls,, Mask, ADODB;= class(TForm): TMainMenu;: TMenuItem;Avtor: TDBNavigator;: TDataSource;: TDBGrid;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TADOConnection;: TADOQuery;: TMenuItem;: TADOQuery;: TMenuItem;: TMenuItem;: TMenuItem;NChooseClick(Sender: TObject);NCloseClick(Sender: TObject);NExitClick(Sender: TObject);NAddClick(Sender: TObject);NDeleteClick(Sender: TObject);FormCreate(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);N5Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm3;Unit1, Unit9, Unit10, Unit13, Unit16;

{$R *.dfm}TForm3.NChooseClick(Sender: TObject);.Show;;TForm3.NCloseClick(Sender: TObject);.Close;;TForm3.NExitClick(Sender: TObject);.Close;;TForm3.NAddClick(Sender: TObject);.Insert;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Width:= 640;.Width:= 700;;TForm3.NDeleteClick(Sender: TObject);.Delete;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Width:= 640;.Width:= 700;;TForm3.FormCreate(Sender: TObject);.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Width:= 640;.Width:= 700;;TForm3.N2Click(Sender: TObject);.Show;.ADOQuery1.Close;.ADOQuery1.SQL.Text:= 'SELECT Фамилия_ИО,Название,Цена FROM book,avtor WHERE (Фамилия_ИО=Автор) ORDER BY Фамилия_ИО';.ADOQuery1.ExecSQL;.ADOQuery1.Open;.DbGrid1.Columns.Items[0].Width:= 200;.DbGrid1.Columns.Items[1].Width:= 200;.DbGrid1.Columns.Items[2].Width:= 200;.DBGrid1.Width:= 640;.Width:= 700;;TForm3.N3Click(Sender: TObject);.Active:= false;.SQL.Clear;.SQL.Add('SELECT*FROM avtor ORDER BY Фамилия_ИО');.ExecSQL;.Active:= true;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Width:= 640;.Width:= 700;;TForm3.N4Click(Sender: TObject);.Show;.Edit1.Text:= '';.ComboBox1.Items[0]:= 'Фамилия_ИО';.ComboBox1.Items[1]:= 'Жанр';.ComboBox1.Items[2]:= 'Издательство';.SelectedForm:= 3;;TForm3.N5Click(Sender: TObject);.QuickRep2.Preview;;.

// ИздательстваUnit4;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, DB, DBTables, Menus, ExtCtrls, DBCtrls,, Mask, ADODB;= class(TForm): TMainMenu;: TMenuItem;: TDBGrid;Izdat: TDBNavigator;: TDataSource;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TADOConnection;: TADOQuery;: TMenuItem;: TADOQuery;: TMenuItem;: TMenuItem;: TMenuItem;NChooseClick(Sender: TObject);NCloseClick(Sender: TObject);NExitClick(Sender: TObject);NAddClick(Sender: TObject);NDeleteClick(Sender: TObject);FormCreate(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);N5Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm4;Unit1, Unit9, Unit10, Unit12, Unit17;

{$R *.dfm}TForm4.NChooseClick(Sender: TObject);.Show;;TForm4.NCloseClick(Sender: TObject);.Close;;TForm4.NExitClick(Sender: TObject);.Close;;TForm4.NAddClick(Sender: TObject);.Insert;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:= 900;;TForm4.NDeleteClick(Sender: TObject);.Delete;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:= 900;;TForm4.FormCreate(Sender: TObject);.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:= 900;;TForm4.N2Click(Sender: TObject);.Show;.ADOQuery1.Close;.ADOQuery1.SQL.Text:= 'SELECT Название,Фамилия_ИО FROM avtor,izdat WHERE (название=издательство) ORDER BY Название';.ADOQuery1.ExecSQL;.ADOQuery1.Open;.DbGrid1.Columns.Items[0].Width:= 200;.DbGrid1.Columns.Items[1].Width:= 200;.DBGrid1.Width:= 440;.Width:= 500;;TForm4.N3Click(Sender: TObject);.Active:= false;.SQL.Clear;.SQL.Add('SELECT*FROM izdat ORDER BY Название');.ExecSQL;.Active:= true;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:= 900;;TForm4.N4Click(Sender: TObject);.Show;.Edit1.Text:= '';.ComboBox1.Items[0]:= 'Название';.ComboBox1.Items[1]:= 'Адрес';.ComboBox1.Items[2]:= 'Директор';.ComboBox1.Items[3]:= 'Email';.SelectedForm:= 4;;TForm4.N5Click(Sender: TObject);.QuickRep2.Preview;;.

// СотрудникиUnit5;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, Grids, DBGrids, DB, DBTables, ExtCtrls, DBCtrls,, Mask, ADODB;= class(TForm): TDBGrid;: TMainMenu;: TMenuItem;Personal: TDBNavigator;: TDataSource;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TADOConnection;: TADOQuery;: TADOQuery;: TMenuItem;: TMenuItem;: TMenuItem;NChooseClick(Sender: TObject);NCloseClick(Sender: TObject);NExitClick(Sender: TObject);NAddClick(Sender: TObject);NDeleteClick(Sender: TObject);FormCreate(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm5;Unit1, Unit9, Unit10, Unit18;

{$R *.dfm}TForm5.NChooseClick(Sender: TObject);.Show;;TForm5.NCloseClick(Sender: TObject);.Close;;TForm5.NExitClick(Sender: TObject);.Close;;TForm5.NAddClick(Sender: TObject);.Insert;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm5.NDeleteClick(Sender: TObject);.Delete;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm5.FormCreate(Sender: TObject);.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm5.N2Click(Sender: TObject);.Active:= false;.SQL.Clear;.SQL.Add('SELECT*FROM personal ORDER BY Фамилия_ИО');.ExecSQL;.Active:= true;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm5.N3Click(Sender: TObject);.Show;.Edit1.Text:= '';.ComboBox1.Items[0]:= 'Фамилия_ИО';.ComboBox1.Items[1]:= 'Адрес';.ComboBox1.Items[2]:= 'Должность';.ComboBox1.Items[3]:= 'Место_работы';.ComboBox1.Items[4]:= 'Зарплата';.SelectedForm:= 5;;TForm5.N4Click(Sender: TObject);.QuickRep1.Preview;;.

// ПомещенияUnit6;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, DB, DBTables, Menus, ExtCtrls, DBCtrls,, Mask, ADODB;= class(TForm): TMainMenu;: TMenuItem;: TDBGrid;Square: TDBNavigator;: TDataSource;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TADOConnection;: TADOQuery;: TADOQuery;: TMenuItem;: TMenuItem;: TMenuItem;NChooseClick(Sender: TObject);NCloseClick(Sender: TObject);NExitClick(Sender: TObject);NAddClick(Sender: TObject);NDeleteClick(Sender: TObject);FormCreate(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm6;Unit1, Unit9, Unit10, Unit19;

{$R *.dfm}TForm6.NChooseClick(Sender: TObject);.Show;;TForm6.NCloseClick(Sender: TObject);.Close;;TForm6.NExitClick(Sender: TObject);.Close;;TForm6.NAddClick(Sender: TObject);.Insert;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Width:= 640;.Width:= 700;;TForm6.NDeleteClick(Sender: TObject);.Delete;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Width:= 640;.Width:= 700;;TForm6.FormCreate(Sender: TObject);.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Width:= 640;.Width:= 700;;TForm6.N2Click(Sender: TObject);.Active:= false;.SQL.Clear;.SQL.Add('SELECT*FROM pomeschenie ORDER BY Тип');.ExecSQL;.Active:= true;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Width:= 640;.Width:= 700;;TForm6.N3Click(Sender: TObject);.Show;.Edit1.Text:= '';.ComboBox1.Items[0]:= 'Тип';.ComboBox1.Items[1]:= 'Адрес';.ComboBox1.Items[2]:= 'Площадь';.SelectedForm:= 6;;TForm6.N4Click(Sender: TObject);.QuickRep1.Preview;;.

// ЗаказыUnit7;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, DB, Grids, DBGrids, DBTables, Menus, ExtCtrls, DBCtrls,, Mask, ADODB;= class(TForm): TMainMenu;: TMenuItem;: TDBGrid;Zakaz: TDBNavigator;: TDataSource;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TADOConnection;: TADOQuery;: TMenuItem;: TADOQuery;: TMenuItem;: TMenuItem;: TMenuItem;NChooseClick(Sender: TObject);NCloseClick(Sender: TObject);NExitClick(Sender: TObject);NAddClick(Sender: TObject);NDeleteClick(Sender: TObject);FormCreate(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);N5Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm7;Unit1, Unit9, Unit10, Unit14, Unit20;

{$R *.dfm}TForm7.NChooseClick(Sender: TObject);.Show;;TForm7.NCloseClick(Sender: TObject);.Close;;TForm7.NExitClick(Sender: TObject);.Close;;TForm7.NAddClick(Sender: TObject);.Insert;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm7.NDeleteClick(Sender: TObject);.Delete;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm7.FormCreate(Sender: TObject);.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm7.N2Click(Sender: TObject);.Show;.ADOQuery1.Close;.ADOQuery1.SQL.Text:= 'SELECT Номер,Фамилия_ИО,Должность,Название FROM izdat,personal,zakaz WHERE (Заказал=Фамилия_ИО)and(Поставщик=Название) ORDER BY Номер';.ADOQuery1.ExecSQL;.ADOQuery1.Open;.DbGrid1.Columns.Items[0].Width:= 200;.DbGrid1.Columns.Items[1].Width:= 200;.DbGrid1.Columns.Items[2].Width:= 200;.DbGrid1.Columns.Items[3].Width:= 200;.DBGrid1.Width:= 840;.Width:= 900;;TForm7.N3Click(Sender: TObject);.Active:= false;.SQL.Clear;.SQL.Add('SELECT*FROM zakaz ORDER BY Номер');.ExecSQL;.Active:= true;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm7.N4Click(Sender: TObject);.Show;.Edit1.Text:= '';.ComboBox1.Items[0]:= 'Номер';.ComboBox1.Items[1]:= 'Количество_книг';.ComboBox1.Items[2]:= 'Сроки';.ComboBox1.Items[3]:= 'Заказал';.ComboBox1.Items[4]:= 'Поставик';.SelectedForm:= 7;;TForm7.N5Click(Sender: TObject);.QuickRep2.Preview;;.

// ИнспекцииUnit8;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, DB, Grids, DBGrids, DBTables, Menus, ExtCtrls, DBCtrls,, Mask, ADODB;= class(TForm): TMainMenu;: TMenuItem;: TDBGrid;Inspector: TDBNavigator;: TDataSource;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TADOConnection;: TADOQuery;: TMenuItem;: TADOQuery;: TMenuItem;: TMenuItem;: TMenuItem;NChooseClick(Sender: TObject);NCloseClick(Sender: TObject);NExitClick(Sender: TObject);NAddClick(Sender: TObject);NDeleteClick(Sender: TObject);FormCreate(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);N5Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm8;Unit1, Unit9, Unit10, Unit15, Unit11, Unit21;

{$R *.dfm}TForm8.NChooseClick(Sender: TObject);.Show;;TForm8.NCloseClick(Sender: TObject);.Close;;TForm8.NExitClick(Sender: TObject);.Close;;TForm8.NAddClick(Sender: TObject);.Insert;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm8.NDeleteClick(Sender: TObject);.Delete;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm8.FormCreate(Sender: TObject);.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm8.N2Click(Sender: TObject);.Show;.ADOQuery1.Close;.ADOQuery1.SQL.Text:= 'SELECT Тип,Фамилия_ИО,Должность,Место_работы FROM personal,inspekciya WHERE (Инспектирует=Должность) ORDER BY Тип';.ADOQuery1.ExecSQL;.ADOQuery1.Open;.DbGrid1.Columns.Items[0].Width:= 200;.DbGrid1.Columns.Items[1].Width:= 200;.DbGrid1.Columns.Items[2].Width:= 200;.DbGrid1.Columns.Items[3].Width:= 200;.DBGrid1.Width:= 840;.Width:= 900;;TForm8.N3Click(Sender: TObject);.Active:= false;.SQL.Clear;.SQL.Add('SELECT*FROM inspekciya ORDER BY Шифр');.ExecSQL;.Active:= true;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm8.N4Click(Sender: TObject);.Show;.Edit1.Text:= '';.ComboBox1.Items[0]:= 'Шифр';.ComboBox1.Items[1]:= 'Тип';.ComboBox1.Items[2]:= 'Адрес';.ComboBox1.Items[3]:= 'Директор';.ComboBox1.Items[4]:= 'Инспектирует';.SelectedForm:= 8;;TForm8.N5Click(Sender: TObject);.QuickRep1.Preview;;

end.


Московский Государственный Технический Университет имени Н. Э. Баумана Калужский филиал Пояснительная записка к курсовой р

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ