Автоматизированный электронный каталог библиотеки ВУЗа
Система управления базами данных предоставляет вам возможность контролировать задание структуры и описание своих данных, работу с ними и организацию коллективного пользования этой информацией. СУБД также существенно увеличивает возможности и облегчает каталогизацию и ведение больших объемов хранящейся в многочисленных таблицах информации. СУБД включает в себя три основных типа функций… Читать ещё >
Автоматизированный электронный каталог библиотеки ВУЗа (реферат, курсовая, диплом, контрольная)
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ АРМАВИРСКАЯ ГОСУДАРСТВЕННАЯ ПЕДАГОГИЧЕСКАЯ АКАДЕМИЯ ФАКУЛЬТЕТ ПРИКЛАДНОЙ ИНФОРМАТИКИ, МАТЕМАТИКИ И ФИЗИКИ Кафедра информатики и ИТО Курсовая работа на тему:
Автоматизированный электронный каталог библиотеки ВУЗа Работа выполнена:
студентом 3 курса фак-та ИПИМиФ научный руководитель:
Доцент Андрусенко Е. Ю Армавир 2014
СОДЕРЖАНИЕ Введение Глава I. Выбор СУБД и среды программирования
1.1 Обоснование выбора СУБД
1.2 Delphi и его компоненты
1.3 Обоснование среды программирования Глава II. Создание электронного каталога библиотеки ВУЗа
2.1 Анализ и описание предметной области
2.2 Создание базы данных
2.3 Связь БД со средой программирования
2.4 Описание процедур программы Заключение Список литературы
Актуальность темы курсовой работы связана с тем, что в настоящее время процесс автоматизации затронули не только производственную, техническую и технологическую сферы деятельности человечества, но и информационное пространство; в частности библиотеки, музеи, информационные центры. Уже сложно представить жизнь общества без таких понятий как интернет, средства телекоммуникации и т. д. Автоматизация больше всего затронула информационную сферу, так как именно информация нуждалась и нуждается в быстром поиске, отборе и хранении, а так же в обеспечении доступа к ней (потребителей). Библиотеки как основные информационные центры наиболее сильно испытали на себе процесс автоматизации.
Автоматизация библиотеки ВУЗа позволит работникам библиотечной сферы избавится от многих рутинных процессов, что обеспечит наиболее быстрое, полное и качественное обслуживание пользователей информацией, потоки которой с каждым годом (в настоящее время с каждым часом) увеличивается.
Процесс автоматизации начинается с середины 70−80 гг. и связан с появлением первой вычислительной техники, которая была не совершенна в современном понимании и требовала специального программного обеспечения и обслуживания — так процесс автоматизации пришел в Россию, в то самое время как за рубежом даже в ряде средних библиотек в этот период создавались информационно — вычислительные сети и началось использование коллективного вычислительного ресурса. Такое положение обусловило проведение зарубежной библиотечной политики ориентированной на отведение центрального места вопросам технического оснащения библиотек и их сетей.
Целью курсовой работы является создание базы данных «Библиотека ВУЗа» и автоматизированной системы для работы с ней.
Задачами курсовой работы являются:
1. Изучить литературу по теме исследования;
2. Спроектировать приложение, позволяющее работать с БД «Электронная библиотека»;
3. Подготовка списка книг по разделам;
4. Подготовка сведений о книгах по авторам;
5. Систематизация книг;
6. Сортировка книг по названию.
Объектом исследования в данной курсовой работе является процесс автоматизации, в частности вузовской библиотеки.
Предметом исследования служит процесс автоматизации работы с книгами.
Структура курсовой работы.
Курсовая работа состоит из введения, двух глав, заключения, списка литературы и двух приложений.
В первой главе «Выбор СУБД и среды программирования» обосновывается выбор СУБД и среды программирования, их преимущества, а также описывается среда программирования Delphi и его компоненты.
Во второй главе «Cоздание электронного каталога библиотеки ВУЗа» рассматривается процесс создания базы данных, ее связь с средой программирования, а также идет описание процедур программы.
Глава I. Выбор СУБД и среды программирования
1.1 Обоснование выбора СУБД
Для взаимодействия пользователя с БД используется системы управления базами данных (СУБД), которые обеспечивают:
— набор средств для поддержки таблиц и соотношений между ними;
— развитый пользовательский интерфейс, позволяющий вводить и модифицировать информацию, производить поиск и представлять результаты;
— средства программирования высокого уровня, позволяющие создавать собственные приложения.
Подход к построению СУБД значительно видоизменялся на протяжении почти 40 лет. На смену ВЦ предприятия и АСУП на их основе пришли персональные компьютеры и настольные (персональные) системы управления базами данных, затем с развитием коммуникаций появились распределенные системы и концепции управления крупными предприятиями — корпорациями на основе бизнес-процессов.
При этом в условиях динамичного изменения бизнес-процессов в последние годы сформулировался ряд определенных требований к функциональным возможностям тех СУБД, производители которых стремятся поддерживать свои продукты на высоком, конкурентоспособном уровне.
1.Создаваемые средствами СУБД приложения должны обладать высокой степенью мобильности и легко переноситься на разные компьютерные и сетевые платформы.
2.Коммуникационный обмен данными становится асинхронным, а информационные процессы длительными, и поэтому возникает необходимость журнализации состояния баз данных и проведения возможного отката/восстановления для расширенных временных рамок (дни, недели).
3.Средства СУБД должны допускать возможность гибкого варьирования архитектуры различных ИС для соблюдения разумного компромисса при разделении функциональных возможностей системы между рабочими станциями клиентов и серверами.
4.Создание «менеджеров процессов» может быть эффективным только в таких условиях, когда средства программирования СУБД объектно-ориентированы и возможно создание стабильных приложений при динамичном изменении маршрутизации сквозь эти задачи.
5.Производителям СУБД следует обеспечить соответствие поставляемых ими продуктов открытым стандартам взаимодействия.
6.Расширение бизнес-процессов за пределы одной компании и необходимость создания глобальных информационных связей выдвигает серьезную задачу поддержки высокой степени готовности систем, работающих 24 часа в сутки все 365 дней в году.
Перечисленные требований к СУБД как к интегрирующим звеньям информационных систем новой архитектуры позволяют взглянуть на существующие ныне на рынке продукты разных производителей под соответствующим углом зрения. Адекватность предлагаемых сегодня СУБД новым требованиям определит для их будущих владельцев и клиентов преимущества создаваемых ИС, их гибкость, мобильность, возможность легкой перестройки и, в конечном счете, способность к выживанию.
Предназначение СУБД Access
СУБД Access предназначена для разработки баз данных реляционного типа для локального их использования на персональных компьютерах и для работы с этими базами.
При проектировании базы данных, в первую очередь, необходимо определить, что именно нужно хранить.
Данная СУБД была выбрана по следующим причинам:
· простота средств реализации,
· легкость освоения инструментарием разработчика (VBA),
· наглядность визуализации информации.
Также «Microsoft Access» предоставляет большое количество внутренних средств по оптимизации работы проектируемого приложения. К ним относятся:
· загрузка модулей по требованию;
· оптимизация дерева вызовов;
· использование файлов MDE;
· автоматическая поддержка компилированного состояния;
· использование библиотек Windows API;
· индивидуальная настройка системы;
· эффективное использование индексов;
· встроенный оптимизатор запросов.
Microsoft Access
Программное обеспечение для работы с базами данных используется на персональных компьютерах уже довольно давно. К сожалению, эти программы либо были элементарными диспетчерами хранения данных и не имели средств разработки приложений, либо были настолько сложны и трудны, что даже хорошо разбирающиеся в компьютерах люди избегали работать с ними до тех пор, пока не получали полных, ориентированных на пользователя приложений.
Microsoft Access — это функционально полная реляционная СУБД. В ней предусмотрены все необходимые вам средства для определения и обработки данных, а также для управления ими при работе с большими объемами информации. Что касается легкости использования, то Microsoft Access совершил здесь настоящий переворот, и многие для создания своих собственных баз данных и приложений обращаются именно к нему.
Система управления базами данных предоставляет вам возможность контролировать задание структуры и описание своих данных, работу с ними и организацию коллективного пользования этой информацией. СУБД также существенно увеличивает возможности и облегчает каталогизацию и ведение больших объемов хранящейся в многочисленных таблицах информации. СУБД включает в себя три основных типа функций: определение (задание структуры и описание) данных, обработка данных и управление данными. Все эти функциональные возможности в полной мере реализованы в Microsoft Access. В практике, как правило, необходимо решать и задачи с использованием электронных таблиц и текстовых процессоров. Например, после подсчета или анализа данных необходимо их представить в виде определенной формы или шаблоны. В итоге пользователю приходится комбинировать программные продукты для получения необходимого результата. В этом смысле все существенно упростят возможности, предоставляемые Microsoft Access.
Основные объекты Microsoft Access.
1.Таблица. Объект, который определяется и используется для хранения данных. Для каждой таблицы можно определить первичный ключ и один или несколько индексов, помогающих ускорить доступ к данным.
2. Запрос. Объект, который позволяет пользователю получить нужные данные из одной или нескольких таблиц.
3. Форма. Объект, предназначенный в основном для ввода данных, отображения их на экране или управления работой приложения. С помощью формы можно в ответ на некоторое событие запустить макрос или процедуру VBA.
4. Отчет. Объект, предназначенный для создания документа, который впоследствии может быть распечатан или включен в документ другого приложения.
5. Макрос. Объект, представляющий собой структурированное описание одного или нескольких действий, которые должен выполнить Access в ответ на определенное событие.
6. Модуль. Объект, содержащий программы, написанные на языке Visual Basic для приложений.
Очень продуманная программа с графическим интерфейсом для работы с базами данными, с широкими возможностями позволяет проектировать и создавать качественные программные продукты в короткие сроки что очень важно для пользователей. Все эти достоинства позволили мне с уверенностью выбрать Microsoft Office 2007 для проектирования своей базы данных.
1.2 Delphi и его компоненты
база данные программирование delphi
Delphi (Дельфи) — среда программирования, использующая язык Object Pascal, разработанный фирмой Borland и изначально реализованный в её пакете Borland Delphi, от которого и получил в 2003 году своё нынешнее название. По сути является наследником языка Pascal с объектно-ориентированными расширениями. Свою историю язык Object Pascal ведет с первых Turbo Pascal`ей разработанных Никлаусом Виртом.
Язык Pascal, полностью процедурный язык, был предложен Н. Виртом в конце 70-х годов как хорошо структурированный учебный язык. Расширения, привнесенные в язык компанией Borland, преследовали две основные цели:
— упрощение обработки в языке структур, представляющих наиболее распространенные типы данных строки и файлы (например, в язык был внесен новый тип данных string);
— реализация в языке основных возможностей объектно-ориентированных языков программирования.
Последнее нововведение потребовало серьезной доработки синтаксиса языка. В него были внесены новые ключевые слова, синтаксические конструкции и типы данных. Однако предложенный вариант языка нельзя признать удачным, хотя бы потому, что в нем не полностью реализованы все механизмы объектно-ориентированного программирования. Например, отсутствуют такие мощные средства, как исключения и шаблоны.
Основные составные части Delphi:
Дизайнер Форм (Form Designer)
Окно Редактора Исходного Текста (Editor Window)
Палитра Компонент (Component Palette)
Инспектор Объектов (Object Inspector)
Справочник (On-line help)
Рис. 1 Палитра компонент Палитра Компонент (см. рис.1) позволяет выбрать нужные объекты для размещения их на Дизайнере Форм. Для использования Палитры Компонент просто первый раз щелкните мышкой на один из объектов и потом второй раз — на Дизайнере Форм. Выбранный Вами объект появится на проектируемом окне и им можно манипулировать с помощью мыши.
Палитра Компонент использует постраничную группировку объектов. Внизу Палитры находится набор закладок — Standard, Additional, Dialogs и т. д. Если Вы щелкнете мышью на одну из закладок, то Вы можете перейти на следующую страницу Палитры Компонент. Принцип разбиения на страницы широко используется в среде программирования Delphi и его легко можно использовать в своей программе. (На странице Additional есть компоненты для организации страниц с закладками сверху и снизу).
Страница «Standard» содержит ряд часто используемых компонентов общего назначения.
Рис.2
Таблица 1
Компонент | Тип | Описание | |
метка | Label | Используется для размещения на формах и других контейнерах текста, который не изменяется пользователем. Компонент визуальный. | |
окно редактирования | Edit | Используется для ввода пользователем однострочных текстов. Может использоваться для отображения текста. Компонент визуальный. | |
главное меню | MainMenu | Позволяет конструировать и создавать полосу главного меню формы и выпадающие меню. Компонент невизуальный. | |
редактируемый список | ComboBox | Объединяет функции ListBox и Edit. Пользователь может либо ввести текст, либо выбрать его из списка. Компонент визуальный. | |
группа радиокнопок | RadioGroup | Является комбинацией группового окна GroupBox с набором радио кнопок RadioButton; служит специально для создания групп радиокнопок. Можно размещать в компоненте несколько радиокнопок, но никакие другие оргаыы управления не разрешены. Компонент визуальный. | |
Компоненты класса TLabel (метка) предназначены для размещения на форме различного рода текстовых надписей. Для этого служит центральное свойство компонента — caption. С помощью свойства Font можно разнообразить вид надписи (оба эти свойства достались метке от предка TGrapnicControl и поэтому не отображаются в таблице ниже). С компонентом может быть связан оконный управляющий элемент, который выбирается при нажатии Alt+Буква, где Буква — выделенная подчеркиванием буква в тексте метки. Такие символы в терминологии Windows называются акселераторами.
В компонентах Edit вводимый и выводимый текст содержится в свойстве Text. Это свойство можно устанавливать в процессе проектирования или задавать программно. Выравнивание текста, как это имело место в метках и панелях, невозможно. Перенос строк тоже невозможен. Текст, не помещающийся по длине в окно, просто сдвигается и пользователь может перемещаться по нему с помощью курсора. Свойство AutoSize в окнах редактирования имеет смысл, отличный от смысла аналогичного свойства меток: автоматически подстраивается под размер текста только высота, но не ширина окна.
Компонент класса TMainMenu определяет главное меню формы. На форму можно поместить сколько угодно объектов этого класса, но отображаться в полосе меню в верхней части формы будет только тот из них, который указан в свойстве Menu формы.
Комбинированный список TComboBox представляет собой комбинацию списка TListBox и редактора TEdit, и поэтому большинство его свойств и методов заимствованы у этих компонентов. Существуют пять модификаций компонента, определяемые его свойством style: csSimple, csDropDown, csDropDownList, csOwnerDrawFixed И csOwnerDrawvariabie. В первом случае список всегда раскрыт, в остальных о раскрывается после нажатия кнопки справа от редактора В модификации csDropDownList редактор работает в режиме отображения выбора и его нельзя использовать для ввода новой строки (в других модификациях это возможно). Модификации csOwnerorawFixed csOwnerDrawVariabie используются для программной прорисовки элементов списка. Используемые для этого свойства и методы полностью совпадают со свойствами и методами TListBox аналогичного назначения. с фактически «своими» у компонента являются лишь свойства и события, связанные с раскрытием списка: property DropDownCount: Integer; property DroppedDown: Boolean; property OnDropDown: TNotifyEvent; Свойство DropDownCount определяет количество элементов списка, появление которых еще не приводит к необходимости прокрутки списка. По умолчанию это свойство имеет значение 8: если в списке указано 9 и более элементов (т. е. больше, чем содержит DropDownCount), при его раскрытии к окну будет добавлена полоса прокрутки. Свойство DroppedDown определяет, раскрыт ли в данный момент список. Это свойство доступно также для записи, что позволяет программно управлять состоянием списка. Событие OnDropDown происходит при изменении состояния списка. Наполнение списка ведется методами Add, Append, insert и т. п. его свойства items класса TStrings.
Компонент класса TRadioGroup представляет собой специальный контейнер, предназначенный для размещения зависимых переключателей класса TRadioButton. Каждый размещаемый в нем пререключатель помещается в специальный список Items и доступен по индексу, что упрощает обслуживание группы. После размещения компонента на форме он пуст. Чтобы создать в нем хотя бы один переключатель, следует раскрыть редактор списка items и ввести хотя бы одну строку: строки items используются как поясняющие надписи справа от переключателей, а их количество определяет количество переключателей в группе. Замечу также, что после создания компонента его свойство itemindex по умолчанию имеет значение -1, это означает, что ни один переключатель в группе не выбран. Если в момент появления компонента на экране в каком-то переключателе выбор уже должен быть установлен, необходимо на этапе конструирования с помощью окна Инспектора объектов или программно (например, в обработчике onActivate формы) установить в свойство itemindex номер соответствующего переключателя (нумерация начинается с 0).
Страница «Additional» является дополнением страницы «Standard» и содержит ряд часто используемых компонентов общего назначения.
Рис.3
Таблица 2
Компонент | Тип | Описание | |
изображение | Image | Используется для отображения графики: пиктограмм, битовых матриц и метафайлов. Компонент визуальный. | |
Компонент Image служит для размещения на форме одного из трех поддерживаемых Delphi типов изображений: растровой картинки, пиктограммы или метафайла. Любой из этих типов изображения содержится в центральном свойстве компонента — picture. В свойстве canvas содержится канва, с помощью которой при необходимости программа может отредактировать растровое изображение. Никаких специальных методов у Image нет.
Страница «Data Controls» содержит компоненты, используемые для управления данными.
Рис.4
Таблица 3
Компонент | Тип | Описание | |
сетка, таблица | Dbgrid | Используется для просмотра и редактирования базы данных в режиме таблицы. | |
навигационный интерфейс | DBNavigator | Служит для навигации в наборе данных и для работы с записями набора данных. | |
Компонент DBGrid отображает набор данных в формате электронной таблицы. Одним из важнейших свойств DBGrid является свойство columns. Оно позволяет вам изменять номера и порядок столбцов, которые появляются в таблице. Вы можете добавить, удалить или упорядочить столбцы с помощью редактора столбцов (Columns Editor). Для вызова редактора столбцов щелкните правой кнопкой мыши на таблице и выберите пункт Columns Editor в контекстном меню. Используя редактор столбцов, вы можете добавлять и удалять столбцы, или изменять порядок их расположения.
Компонент DBNavigator предоставляет пользователю возможность просматривать набор данных. Навигатор содержит кнопки для перехода на первую, последнюю, предыдущую и следующую записи, вставки, удаления и редактирования записи, отмены и сохранения изменений, а также обновления данных. Этот компонент практически полностью автоматизирован, поэтому все, что вам остается сделать в большинстве случаев — это поместить его на форму, связать с DataSource и забыть о нем. Свойство ConfirmDelete, будучи установлено в True, вызывает отображение диалоговой панели при каждом нажатии на кнопку Delete. Установкой значения True для свойства Hint включаются всплывающие подсказки для кнопок. Свойство VisibleButtons представляет собой множество и позволяет вам управлять отображением кнопок на панели навигатора.
Компоненты страницы «Data Access» облегчают доступ программ к базам данных.
Рис. 5
Таблица 4
источник данных | DataSource | Служит для связи с остальными стандартными компонентами. | |
Компонент DataSource обеспечивает механизм для связи компонентов доступа к данным (Table, Query или StoredProc) с визуальными компонентами, которые отображают данные (DBGrid, DBEdit, DBListBox и т. д.). Основное назначение DataSource состоит в том, чтобы облегчить внесение изменений в приложения. Все визуальные компоненты данных на форме связаны с DataSource, который, в свою очередь, связан с набором данных. Поскольку компоненты данных не обращаются напрямую к набору данных, вы можете с легкостью менять наборы данных без необходимости каждый раз устанавливать связи со всеми компонентами формы.
Компоненты страницы «ADO» в функциональном отношении во многом подобны компонентам страницы BDE, но поддерживают доступ к данным с помощью техологии ADO (ADOTable, ADOQuery, ADostoredproc и т. д.). Все компоненты страницы впервые введены в версии 5.
Рис.6
Таблица 5
Компонент | Тип | Описание | |
соединение | AdoConnection | Предназначен для подключения к базе данных (Access, Paradox, ODBC и др.) | |
Таблица БД | AdoTable | Обеспечивает доступ к таблице. | |
универсальный набор данных | AdoDataSet | Хранит данные, полученные из базы данных в результате выполнения сервером SQL-команды., позволяет прочитать только нужные столбцы или может быть заполнен данными из разных таблиц. | |
Компонент AdoConnection используется для создания соединения с базой данных другой системы. Компонент AdoConnection выполняет роль концентратора соединения с хранилищем данных. Для установления связи нужно с помощью свойства ConnectionString сформировать связные параметры и затем установить значение True в свойство Connected или вызвать метод Open. Для разрыва связи выполняется метод Close компонента или в его свойство Connected устанавливается значение False. До и после открытия и закрытия соединения разработчик может использовать соответствующие стандартные методы-обработчики событий:
property BeforeConnect: TNotifyEvent;
property BeforeDisconnect: TNotifyEvent;
property AfterConnect: TNotifyEvent;
property AfterDisconnect: TNotifyEvent;
Компонент ADOTable используется для доступа к хранилищам данных ADO и представления информации из них в табличном виде. Компонент предоставляет прямой доступ к каждой записи и ее полям, наследуя свойства и методы класса TCustomADODataSet. Компонент связывается с базой данных через свойства Connection или ConnectionString.
Имя таблицы указывается в свойстве TableName. Свойство TableDirect указывает, каким образом набор данных связывается с хранилищем данных. Так как не все провайдеры поддерживают прямое соединение с набором данных, то в некоторых случаях для связи с хранилищем данных приходится использовать SQL-операторы. При установке свойству значения True компонент использует фоновые SQL-запросы для доступа к данным. Используя свойство Readonly, можно установить ограничение «только для чтения» на данную таблицу, запретив, таким образом, возможность изменять данные. В свойстве MasterSource указывается компонент TDataSource, используемый для создания отношения ссылочной целостности Master-Detail. Метод GetlndexNames возвращает список индексов, доступных компоненту в качестве списка.
Базовые возможности доступа к БД обеспечивает компонент доступа к данным DataSet, представляющий наборы данных в виде совокупности строк и столбцов (записей и полей). Этот класс предоставляет основные средства навигации и редактирования наборов данных. Компонент DataSet предназначен для представления набора данных из хранилища данных ADO. Он прост в использовании, имея только несколько собственных свойств и методов. Это единственный компонент ADO, инкапсулирующий набор данных, для которого опубликованы свойства, позволяющие управлять командой ADO. В результате компонент представляет собой гибкий инструмент, который позволяет (в зависимости от типа команды и ее текста) получать данные из таблиц, запросов SQL, хранимых процедур, файлов.
1.3 Обоснование среды программирования
В настоящее время программирование бурно развивается, как с точки зрения расширения круга решаемых им задач, так и с точки зрения существенного усложнения используемых в программировании технологий Причем особо необходимо отметить немалые размеры разрабатываемы программных продуктов. Все это требует максимального упрощения и ускорения процесса разработки приложений и использования ранее реализованных программных фрагментов.
Такие требования к современному программированию привели к созданию многочисленных RAD-систем (от англ. RAD — Rapid Application Development — быстрая разработка приложений), представляющих собой интегрированные среды разработчика, включающие в себя:
" средства быстрого и удобного построения программ, в том числе визуального;
" встроенные компиляторы и отладчики;
" системы коллективной разработки проектов и т. д.
Одной из таких RAD-систем является Delphi. Итак, Delphi — это объектно-ориентированная среда для визуального проектирования Windows приложений с развитыми механизмами повторного использования программного кода. Основным конкурентом Delphi является среда разработк Microsoft Visual C++, имеющая свои преимущества и недостатки, однако являющаяся более популярной, в основном, в силу того, что разработана именно фирмой Microsoft Существенной чертой Delphi является компонентная модель разработки программных продуктов. Суть модели заключается в поддержке системой постоянно расширяемого набора объектных компонентов, из которых и строится программа. Компоненты в Delphi просты для использования и развития, как результат сокрытия значительной части той структуры программы, которая близка к взаимодействию с операционной системой. Таким образом, для создания в Delphi несложных программных продуктов совершенно не обязательно понимать внутреннюю структуру Windows-приложения, получаемого после разработки в Delphi. Достаточно просто уметь работать с некоторыми компонентами, поставляемыми вместе со средой разработчика. При этом начать работу со средой можно практически без предварительного ознакомления, а написание первого приложения не потребует углубления в особенности системы. Этому отчасти способствует удобный интерфейс среды разработчика, не перегруженный излишними вопросами к разработчику.
Однако такой подход совершенно неприемлем для серьезного программирования, и, рано или поздно, придется освоить и основы программирования под ОС Windows, и серьезно изучить саму среду разработки Delphi, а также возможности, которые она предоставляет. Кроме того, конечно же, для создания качественных программных продуктов необходимо глубокое понимание компонентной модели.
Наиболее существенный отрыв Delphi от ближайших аналогов состоит в действительно быстрой разработке приложений, обладающих сложным пользовательским интерфейсом, особенно имеющим сильные взаимосвязи между элементами управления, расположенными в окнах программы. Также Delphi предлагает довольно мощный набор компонентов для работы с базами данных. Причем иерархия компонентов для работы с БД организована таким образом, что практически неважно, какой именно базой данных пользуется приложение — это может быть и локальная БД и промышленный сервер, типа Oracle или MS SQL Server. Существенным преимуществом Delphi в этой области является возможность управления базами данных на логическом уровне, соответствующем понятиям самих баз данных, без использования низкоуровневых запросов к драйверам. Такие возможности Delphi обусловили ее широкую применяемость при разработке АСУП — автоматизированных систем управления предприя-тиями. Однако это не единственная область применения, так как возможности Delphi не ограничиваются вышеперечисленными. Delphi является языком программирования широкого назначения и позволяет разработать программный продукт любой сложности для любой области. Даже если какие-либо возможности и не поддерживаются напрямую, то этот недостаток может быть исправлен добавлением соответствующих компонентов в систему. Такой подход касается, например, технологии DirectX, не поддерживаемой Delphi в ее исходной комплектации, но существуют компоненты для использования DirectX, которые легко интегрируются в среду разработки.
В любом случае, подпрограммы, реализованные в других Windows языках программирования, могут быть использованы в Delphi через механизм динамически компонуемых библиотек (от англ. Dynamic Link Library — DLL — Динамически компонуемая библиотека). Заметим, что многие системные библиотеки Windows изначально подключены к Delphi, а вызов функций из них ничем не отличается от использования обычных библиотек Pascal.
С появлением среды разработки Kylix под операционную систему Linux, полностью соответствующую Delphi за исключением некоторых аспектов, связанных с различиями в технологиях, используемых в этих операционных системах, часть приложений, написанных в Delphi, стала переносимой под Linux, что открывает еще более широкие возможности этой среды разработки.
Глава II. создание электронного каталога библиотеки ВУЗа
2.1 Анализ и описание предметной области
В библиотеке хранится огромное количество книг, услугами библиотеки пользуются тысячи читателей. Для обеспечения оперативности ведения информации о книгах, их количестве необходима автоматизированная система, основанная на современной базе данных. Использование базы данных и автоматизированной системы для работы с базой данных существенно сократит время читателей на поиски нужной книги и время работы работников библиотеки по систематизации информации о книгах и многие другие задачи.
В библиотеке необходимо хранить разнообразную информацию о книгах, чтобы оперативно можно было определить информацию о наличии в библиотеке книг некоторого автора, книг по определенной тематике. Необходимо учесть, что книги в библиотеке могут присутствовать в нескольких экземплярах, что книги одного автора могут иметь одинаковое название, поэтому книгам нужно присваивать некоторые уникальные шифры.
Могут существовать следующие ограничения при работе библиотеки:
1. Книга может не иметь ни одного автора, например, сборник тезисов научной конференции;
2. Каждая книга может относиться к множеству областей знаний и к каждой области знаний относится множество книги т. д.
Таких ограничений может быть и больше, они могут быть другими или их вообще может не быть, в зависимости от библиотеки, для которой разрабатывается база данных.
Работать с базой данных «Библиотека АГПА» будут следующие пользователи:
— библиотекари;
— читатели.
Библиотекари должны иметь возможность систематизировать книжный фонд, т. е. распределять книги по разным каталогам, добавлять новые книги и списывать старые.
Читатель должен иметь возможность просматривать каталоги книг по разделам, по авторам и получать информацию о наличии книги.
2.2 Создание базы данных
Входные данные задач.
Входными данными задач являются: информация о книге, ее авторах и издательствах, экземплярах книги и т. д.
Информация о книге:
Название фамилии авторов издательство город издания год издания количество страниц в книге количество экземпляров в библиотеке номер области знаний, к которой относится данная книга Теперь переходим к созданию базы данных. Для этого необходимо запустить Microsoft Access и выбрать меню Файл > Создать. В мастере создания базы данных выберем пункт База данных и нажмем ОК. Нам предложат выбрать имя базы, мы назовем «Библиотека», и место расположения. После этого Access создаст базу данных и сохранит по выбранному пути (рис.7).
Рис. 7
Далее появляется окно (рис.8), в котором происходит работа с базой.
Рис. 8 Окно управления базой данных С левой стороны окна находится колонка выбора объектов РБД, с которыми мы будем работать. Первым стоит пункт Таблицы, который будет нас интересовать. В окне справа находятся три пункта:
— Создание таблицы в режиме конструктора;
— Создание таблицы с помощью мастера;
— Создание таблицы путем ввода данных.
С помощью этих команд можно создать таблицы внутри созданной базы данных Access, которая может хранить в одном файле несколько таблиц.
Далее создадим базу данных «Библиотека». Для этого щелкаем кнопкой мыши по пункту меню Создание таблицы в режиме конструктора (рис.8), чтобы создать новую таблицу «Все» со списком всех имеющихся книг в нашей библиотеке. Перед нами открывается окно, как показано на рисунке 9.
Рис.9
В верхней части окна находится сетка, в которой вводим поля таблицы и их тип. Когда мы пишем в сетку имя нового поля и указываем тип, внизу окна появляются свойства нового поля. В Зависимости от типа поля изменяется и количество свойств. Для полей «Количество страниц», «Количество экземпляров в библиотеке» и «№ раздела факультета» установим тип данных Числовой. Для полей «Издательство», «Город издания», «Автор», «Название», «Год выпуска» установим тип данных Текстовый. Полю «Код книги» зададим тип данных Счетчик. Это и будет ключевое поле. Для этого щелкнем правой кнопкой мыши и выберем пункт Ключевое поле. Задание ключевого поля является обязательным действием, если этого не сделать, то таблицу нельзя будет редактировать.
Теперь таблицу можно сохранять и закрывать. На вопрос: «Сохранить таблицу» ответим положительно и сохраним под именем «Все». Наша первая таблица готова.
Далее надо заполнить нашу таблицу информацией о книгах. Постепенно заполняем колонки таблицы.
Рис. 10
Остальные семнадцать таблиц создаются и заполняются аналогичным образом.
2.3 Связь БД со средой программирования
Запускаем среду программирования Borland Delphi 7.
Рис.11
Сперва на Форму1 помещаем компонент RadioGroup c вкладки Standard. В свойстве Caption введем «Выберите предмет». Затем в свойстве Items нажмем на многоточие и у нас откроется окно String List Editor. Вручную введем названия предметов, перечень которых будет располагаться на нашем компоненте и отображаться на форме1 (рис.12). Далее нажмем ОК.
Рис.12
Также на Форме1 будут располагаться 2 картинки. Чтобы это осуществить, расположим на форме компонент Image с вкладки Additional дважды. Для компонента Image1 в свойстве Picture выберем нужную нам картинку (рис.13). Она и отобразиться на нашей форме. Аналогичные действия проделываем и для компонента Image2.
Рис. 13
Разместим на Форму1 компонент MainMenu c вкладки Standard. После установки компонента на форму необходимо создать его опции. Для этого следует дважды щелкнуть по компоненту левой кнопкой мыши, либо нажать на нем правую кнопку* и выбрать продолжение Menu Designer в появившемся вспомогательном меню, либо, наконец, щелкнуть по кнопке в правой половине строки items Инспектора объектов. Перейдем в окно Инспектора объектов и введем «Файл» в строке caption, после чего нажмем Enter — опция готова, и можно переходить к следующей. Каждая опция главного меню может раскрываться в список подопций или содержать конечную команду. Для создания подопций щелкнем мышью по строке ниже опции и введите первую подопцию «Выход». Продолжаем ввод, пока не будет создан весь список подопций, после чего щелкните по пустому прямоугольнику справа от первой опции и введите вторую опцию (рис.14).
Рис.14
На первой форме мы расположили все нужные нам компоненты. Теперь перейдем к созданию второй формы.
Поместим на Форму2 компонент AdoConneсtion с вкладки ADO палитры компонентов. Настроим соединение с сервером, которое должно быть указано в свойстве ConnectionString. Для этого надо дважды щелкнуть кнопкой мыши по строке connectionstring. Перед нами откроется окно, показанное на рис. 15.
Рис.15
Перед нами стоит выбор:
— использовать специальный файл (Use Data Link File);
— использовать строку подключения (Use Connection String).
Мы выберем второй вариант и создадим строку подключения. Для этого щелкнем мышью по кнопке Build. Перед нами откроется еще одно окно, показанное на рис. 16.
Рис.16
В нашем случае для доступа к базам данных MS Access используется драйвер Microsoft Jet 4.0 OLE DB Provider. После этого нажмем кнопку Далее. После этого мы попадаем на вкладку Подключение (рис.17).
Рис.17
В строке Выберите или введите имя базы данных мы вводим имя нашей базы «Библиотека». После этого надо нажать кнопку Проверить подключение, чтобы протестировать соединение. Если все указано правильно, то появится сообщение «Тестирование соединения прошло удачно». Теперь можно нажать ОК, чтобы закрыть окно создания строки подключения. Затем еще раз нажать ОК, чтобы закрыть окно редактора строки подключения.
Продолжим настройку приложения. Теперь в свойствах компонента AdoConneсtion отключим свойство LoginPrompt, выставив его в false. Это нужно для того, чтобы при каждом обращении к базе не происходил вызов окна ввода пароля. Далее выставим свойство connected в true, чтобы произошло соединение с базой.
Чтобы получить доступ к таблице «Все», надо поместить на форму компонент ADOTable с вкладки ADO. В свойстве Name укажем ADOTable1. Затем надо щелкнуть по выпадающему списку Connection и выбрать там ADOConnection1. В свойстве TableName нужно выбрать имя нашей таблицы «Все». Свойство Active выставим в true и можно подключаться.
Установим компонент DBGrid с вкладки Data Controls. Теперь свяжем компонент сетки с компонентом отображения таблицы. Для этого в свойстве DataSource компонента Dbgrid нужно указать созданный нами компонент DataSource1.
Так же на данной форме помещаем все остальные компоненты (ADODataSet и DataSource) для связи других таблиц с приложением. Т. е., чтобы нам открыть на других формах нужные таблицы, мы обратимся к форме 2 и укажем путь так: Form2. ADODataSet и Form2.DataSource.
На Форме3 нам необходимо отобразить данные, таблицу «Информатика». Самый простой способ отобразить таблицу — установить компонент Dbgrid с вкладки Data Controls. Этот компонент — сетка, которая может отображать данные в виде таблицы. В этом же компоненте можно добавлять, удалять и редактировать строки нашей таблицы (рис.18).
Рис.18
Теперь свяжем компонент сетки с компонентом отображения таблицы. Для этого в свойстве DataSource компонента Dbgrid нужно указать созданный нами компонент DataSource2.
Также на Форму3 установим DBNavigator с вкладки Data Controls. Навигатор содержит кнопки для перехода на первую, последнюю, предыдущую и следующую записи, вставки, удаления и редактирования записи, отмены и сохранения изменений, а также обновления данных. Этот компонент практически полностью автоматизирован, поэтому все, что нам остается сделать — это поместить его на форму, связать с DataSource и забыть о нем.
Все последующие формы (с 3 по 19), создаются аналогичным образом.
На Форму20 расположим следующие компоненты: Dbgrid, DBNavigator, MainMenu, Label, Edit, ComboBox.
В свойстве DataSource компонента Dbgrid нужно указать созданный нами компонент Form2. DataSource19. DBNavigator тоже связываем с DataSource. Для этого в свойстве DataSource указываем компонент Form2. DataSource19.
У компонента Label в свойстве Caption напишем «поиск по:».
У компонента ComboBox в свойстве Items нажмем на многоточие, и у нас откроется окно String List Editor. Вручную введем перечень категорий, по которым будет выполняться поиск (рис.19). Далее нажмем ОК Рис. 19
У компонента Edit очистим свойство Text, чтобы после запуска программы строка ввода была пустой.
Создадим опции у компонента MainMenu. Для этого в свойстве Items нажмем на многоточие, откроется окно, в котором мы введем все интересующие нас опции. Форма20 готова (рис.20).
Рис. 20
На этом можно закончить настройку базы данных фильмотека с Delphi.
2.4 Описание процедур программы
В данном разделе опишем все процедуры, которые мы использовали при составлении данной программы.
procedure TForm1. Image2Click (Sender: TObject);
begin
case RadioGroup1. ItemIndex of
0: Form2. Show;
1: Form3. Show;
2: Form4. Show;
3: Form5. Show;
4: Form6. Show;
5: Form7. Show;
6: Form8. Show;
7: Form9. Show;
8: Form10. Show;
9: Form11. Show;
10: Form12. Show;
11: Form13. Show;
12: Form14. Show;
13: Form15. Show;
14: Form16. Show;
15: Form17. Show;
16: Form18. Show;
17: Form20. Show;
end;
Данная процедура обеспечивает при нажатии на «Далее» переход на одну из выбранных нами форм.
procedure TForm1. N2Click (Sender: TObject);
begin
close;
end;
Это процедура закрытия. При нажатии на «Выход», форма закрывается и мы выходим из программы.
procedure TForm1. N5Click (Sender: TObject);
begin
AboutBox.ShowModal;
end;
Процедура вставки в меню «Об авторе» компонента AboutBox.
procedure TForm20. Edit1Change (Sender: TObject);
begin
Case ComboBox1. ItemIndex of
0: Begin
Form2.ADOTable1.Filtered:=false;
if Edit1. Text<>'' then
begin
Form2.ADOTable1.Filter:='Название LIKE ''%'+Edit1.Text+'%''';
Form2.ADOTable1.Filtered:=true;
end;
end;
1: Begin
Form2.ADOTable1.Filtered:=false;
if Edit1. Text<>'' then
begin
Form2.ADOTable1.Filter:='Автор LIKE ''%'+Edit1.Text+'%''';
Form2.ADOTable1.Filtered:=true;
end;
end;
Процедура поиска наиболее объемная процедура во всём приложение. Для начала мы должны закрыть объект который позволяет работать с возвращенным набором данных визуальным компонентам, предназначенным для отображения данных. Используется обычный метод Close. Далее мы создаем условие с множественным выбором, так как у нас происходит поиск по двум столбцам таблицы. Мы использовали компонент ComboBox, и организовали поиск по его полям, они наименование наших столбцов. Затем, чтобы выбрать определенный столбец, по которому должен производиться поиск, мы используем запрос который указывали в свойстве компонента ADOTable TableName = «Все», и указываем название столбца, по которому должен производиться поиск. Используем метод Like. Аналогично, выполняем действия для остальных столбцов нашей таблицы.
procedure TForm20. N2Click (Sender: TObject);
begin
Close;
end;
Это процедура закрытия.
procedure TForm20. N6Click (Sender: TObject);
begin
Form2.ADOTable1.IndexFieldNames:='Название' ;
end;
Данная процедура сортирует столбец DBGrid «Название» по алфавиту. Сортировка происходит через компонент ADODataSet1с помощью метода IndexFieldNames.
procedure TForm20. N4Click (Sender: TObject);
begin
Form2.ADOTable1.Insert;
DBGrid1.SetFocus;
end;
Данная процедура при нажатии на Редактирование>Добавить в меню вставляет строку в таблицу.
procedure TForm20. N5Click (Sender: TObject);
begin
Form2.ADOTable1.Delete;
DBGrid1.SetFocus;
end;
Данная процедура при нажатии на Редактирование>Удалить в меню удаляет выбранную строку из таблицы.
procedure TForm20. N7Click (Sender: TObject);
begin
if Form2. ADOTable1.Modified then
Form2.ADOTable1.Post;
end;
Данная процедура при нажатии на Редактирование>Сохранить в меню сохраняет изменения в таблице.
Заключение
Главным результатом проведенной работы является создание функционирующей СУБД, которая выполняет требуемый круг задач, с которыми сталкиваются работники библиотеки.
Реализация данного проекта была проведена без привлечения мощных средств работы с базами данных, которые очень громоздки, поскольку носят универсальный характер и к тому же требуют необходимую базу знаний по теории баз данных.
Использование средств Delphi 7.0 по созданию приложений работающих в операционной системе Windows и в частности приложений баз данных, позволило создать программный продукт максимально ориентированный на конечного пользователя, который не искушен в вопросах теории баз данных.
Вся необходимая работа по осуществлению методов доступа к информации хранимой в базе данных, её модификации, поддержании базы данных в целостном виде скрыта внутри и пользователю нет необходимости знать о ней, чтобы успешно решать весь круг возникающих задач связанных с использованием информации хранимой базе данных. Более того, программный интерфейс максимально облегчает работу по обращению с базой данных (вплоть до выбора из предложенного числа вариантов).
В данной курсовой работе была достигнута главная его цельсоздание базы данных «Библиотека ВУЗа» и автоматизированной системы для работы с ней. Эта цель может быть достигнута за счет сокращения времени поиска книг читателями и библиотекарями, за счет снижения времени поиска информации об устаревших книгах, о непопулярных книгах.
Разработанное нами приложение позволяет студентам ВУЗа упростить поиск нужной им литературы по предметам, позволяет сократить время на поиск. Все, поставленные нами задачи, решаются в рамках данной СУБД с максимальной простотой, удобством и скоростью.
Все функции выполняемые СУБД были тщательным образом проверены и протестированы в процессе разработки и их работа гарантируется.
1. Архангельский А. Я. 100 компонентов общего назначения библиотеки Delphi5. СПб.: Питер, 2007.
2. Брешенков А. В., Губарь А. М. Проектирование баз данных в среде Access: Учебное пособие для вузов. М.: Изд-во МГТУ имени Н. Э. Баумана, 2006.
3. Вальвачев А. Н., Сурков К. А. и др. Программирование на языке Delphi. Учебное пособие. Ростов-н/Д.: Феникс, 2008.
4. Виллариал Б. Программирование Access в примерах. Ростов-н/Д.: КУДИЦ-Образ, 2007.
5. Гофан В., Хоменко А. Работа с базами данных в Delphi. М.: Наука, 2008.
6. Гринченко, Н.Н. и др. Проектирование баз данных. СУБД Microsoft Access. М.: Бином, 2008.
7. Даpахвелидзе П., Маpков Е. Delphi в подлиннике. М.: Высшее образование, 2007.
8. Диго С. М. Проектирование и использования баз данных. М.: Финансы и статистика, 2007.
9. Матчо Д. ,.Фолкнер Д. Р. Delphi — пер. с англ. М.:Бином, 2007.
10. Обухов Н. П. Разработка баз данных в Microsoft Access. М.: Знание, 2008.
11. Понамарев В. Базы данных в Delphi 7. Самоучитель. М.: Проспект, 2008.
12. Сорокин А. В. Delphi. Разработка баз данных. М.: Бином, 2007.
13. Тельман. А. Б. Основы систем баз данных. М.: Финансы и статистика, 2006.
14. Фленов М. Е. Библия Delphi. СПб.: БХВ — Петербург, 2009.
15. Хансен Г., Хансен Д. Базы данных: разработка и управление — пер. с англ. М.:ЗАО Издательство БИНОМ, 2008.
16. Шумаков П. В. Delphi и разработка приложений баз данных. М.: Проспект, 2007.
17. www.taurion.ru
18. www.delphibasics.ru