База данных стоматологического кабинета

0

 

КУРСОВОЙ ПРОЕКТ

по дисциплине “Компьютерные технологии

в медико-биологических исследованиях”

 

База данных стоматологического кабинета

Пояснительная записка

 

 

 

Задание на курсовой проект

Разработка базы данных стоматологического кабинета

 

 

 

 

 

Исходные данные: база данных пациентов стоматологического кабинета

 

Разработать:             1) Базу данных в СУБДAccess;

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

 

 

 

Аннотация

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

Проект содержит 28 страниц, 11 рисунков, 3 таблицы.

 

 

 

Содержание

 

Введение. 5

1 Теоретическая часть. 6

1.1 Microsoft Access: назначение и функциональные возможности.. 6

  1. 2 Интегрированная среда разработки Delphi: назначение и общее описание среды.. 7

1.2.1 Технология ADO... 12

2 Практическая часть. 15

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

2.2 Даталогическое проектирование. 15

2.3 Создание проекта в Delphi7, связанной с БД в Microsoft Access. 15

3 Логика работы программы.. 25

3.1Архитектура программно-аппаратного комплекса. 25

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

Заключение. 27

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

 

 
 

4

 


 

 
 

5

 

 

Введение

 

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

Целью курсового проекта по дисциплине «Компьютерные технологии в медико-биологических исследованиях» является проектирование реляционной базы данных в программе Microsoft Access и реализация основных операций с ней через приложение, созданное на языке высокого уровня при помощи Borland Delphi 7.

Предметом исследования является стоматологический кабинет клиники.

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

Задачами курсового проекта являются:

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

Требования были следующими:

  1. База данных должна отражать всю информацию о пациентах.
  2. Должна быть возможность внесения изменений в данные и пополнения новыми данными.
  3. В программе должны присутствовать функции поиска, выполнения определенных запросов.

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

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

 

 

 
 

6

 

1 Теоретическая часть

 

1.1 Microsoft Access: назначение и функциональные возможности

 

Приложение Microsoft Access (далее Access) является мощной и высокопроизводительной 32-разрядной системой управления реляционной базой данных (далее СУБД).

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

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

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

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

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

Access – мощное приложение Windows. При этом производительность СУБД органично сочетаются со всеми удобствами и преимуществами Windows.

Реляционная СУБД Access обеспечивает доступ ко всем типам данных и позволяет одновременно использовать несколько таблиц базы данных. Можно использовать таблицы, созданные в среде Paradox или dBase. Работая в среде Microsoft Office, пользователь получает в своё распоряжение полностью совместимые с Access текстовые документы (Word), электронные таблицы (Excel),презентации (Power Point).С помощью новых расширений для Internet можно напрямую взаимодействовать с данными из World Wide Web и транслировать представление данных на языке HTML, обеспечивая работу с такими приложениями как Internet Explorer и Netscape Navigator. 

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

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

 

 

 

 

 

 
 

7

 

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

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

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

 

1.2 Интегрированная среда разработки Delphi: назначение и общее описание среды

 

Delphi – это потомок среды программирования Turbo Pascal. Название среды произошло от названия города в Древней Греции, где находился знаменитый Дельфийский оракул (храм Аполлона в городе Дельфы, жрецы которого занимались предсказаниями).

Система визуального объектно-ориентированного проектирования Delphi позволяет:

  1. Создавать законченные приложения для Windows самой различной направленности.
  2. Быстро создавать профессионально выглядящий оконный интерфейс для любых приложений; интерфейс удовлетворяет всем требованиям Windows и автоматически настраивается на ту систему, которая установлена, поскольку использует функции, процедуры и библиотеки Windows.
  3. Создавать свои динамически присоединяемые библиотеки компонентов, форм, функций, которые потом можно использовать из других языков программирования.
  4. Создавать мощные системы работы с базами данных любых типов.
  5. Формировать и печатать сложные отчеты, включающие таблицы, графики и т.п.
  6. Создавать справочные системы, как для своих приложений, так и для любых других.
  7. Создавать профессиональные программы установки для приложений Windows, учитывающие всю специфику и все требования операционной системы.

Delphi – быстро развивающаяся система. Первая версия Delphi была выпущена в феврале 1995 года, в 1996 году вышла вторая версия, 1997 – третья, 1998 – четвертая, 1999 – пятая, 2001 – шестая. Все версии, начиная с Delphi 2.0,

 

 

 

 

 
 

8

 

рассчитаны на разработку 32-разрядных приложений, т.е. приложений для операционных систем Windows 95/98, NT и т.д. В 2002 году вышла седьмая версия, основным нововведением в которой были Интернет - технологии.

Общее описание среды.

Интегрированная среда разработки Delphi – это среда, в которой есть все необходимое для проектирования, запуска и тестирования создаваемых приложений. Большинство версий Delphi выпускается в нескольких вариантах: а) стандартная, б) профессиональная версия, в) разработка баз данных предметных областей. Эти варианты различаются, в основном разным уровнем доступа к системам управления базами данных. Последние два варианта являются наиболее мощными в этом отношении. Библиотеки компонентов в различных вариантах практически одинаковы.

  • В верхней части окна среды отображается полоса главного меню. Назначение каждого пункта меню можно уточнить в справочной системе Delphi. Для получения справки следует выбрать интересующий пункт меню и нажать клавишу F Выбор команды меню выполняется любым из стандартных способов: F10, Alt+горячая клавиша или щелчком мыши на нужном пункте меню.

Назначение команд меню представлены в таблице 1:

 

Раздел меню

Назначение

1) Меню File (Файл)

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

2) Меню Edit (Правка)

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

3) Меню Search (Поиск)

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

4) Меню View (Вид)

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

5) Меню Project (Проект)

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

 

 

 

 

6) Меню Run (Выполнить)

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

7) Меню Component (Компонент)

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

8) Меню Database (База данных)

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

9) Меню Tools (Сервис)

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

10) Меню Windows (Окно)

Содержит список открытых окон среды и предоставляет возможность перехода из одного окна в другое.

11) Меню Help (Помощь)

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

9

 

Продолжение таблицы 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • Ниже полосы главного меню расположены две инструментальные панели.

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

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

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

Основные палитры компонентов представлены в таблице 2:

 

Палитра компонентов

Назначение

1.          Палитра компонентов Standard (Стандартная)

Большинство компонентов на этой странице являются аналогами экранных элементов операционной системы Windows: меню, кнопки, полосы прокрутки, панели и т.п.

 

 

 

Имена компонентов можно узнать из всплывающей подсказки. Назначение компонентов можно уточнить, используя систему контекстной справки Delphi.

2.Палитра компонентов Additional (Дополнительная)

Содержит более развитые компоненты:

а) воспроизведение звука, музыки и видео;

б) отображение графической информации.

3.Палитра компонентов System (Системная)

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

4.Палитра компонентов Win32

Содержит компоненты, позволяющие созданным программам использовать интерфейс Windows.

5.Палитра компонентов Dialogs (Диалоговая)

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

6.Палитра компонентов DataAccess, DataControls (Сервис баз данных)

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

7.Палитра компонентов QReport (Отчеты)

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

 

8.Палитра компонентов Servers (Сервис)

Предоставляет компоненты-наследники для доступа ко всем серверным объектам MicrosoftOffice.

9.Палитра компонентов Samples (Примеры)

Содержит компоненты-примеры, которые можно добавлять в собственные приложения.

 

10.Палитра компонентов Internet

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

Продолжение таблицы 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   
 

10

 
 
 

11

 

 

 

 

  • Правее полосы главного меню располагается еще одна небольшая инструментальная панель, содержащая раскрывающийся список и две кнопки. Эта панель служит для сохранения и выбора различных конфигураций окна среды, которые можно создавать и запоминать.
  • Под палитрой компонентов располагается окно формы с размещенными на ней компонентами. Форма является основой почти всех приложений Delphi. Форму можно понимать как типичное окно Windows. Она обладает теми же свойствами, что и другие окна. Во время проектирования форма покрыта сеткой из точек. В узлах этой сетки размещаются те компоненты, которые помещены на форму. Во время выполнения приложения эта сетка не видна.
  • В основном поле окна слева находится окно Инспектора объектов, с помощью которого в дальнейшем можно задавать свойства компонентов и обработчики событий. Инспектор объектов состоит из двух страниц, каждую из которых можно использовать для определения поведения активного компонента. Первая страница – это Свойства, вторая – События.

Рассмотрим некоторые свойства любого компонента в таблице 3:

 

Свойство

Назначение

Caption (надпись)

Название компонента

 

Color

Цвет поверхности компонента

 

Font Color

Цвет шрифта

 

Font Height

Высота шрифта

 

Font Name

Имя шрифта

 

Font Size

Размер шрифта

 

StylefsBold

Стиль надписи на компоненте – Жирный

Style fsItalic

Стиль надписи на компоненте – курсив

Style fsUnderline

Стиль надписи на компоненте – подчеркивание

Style fsStrikeOut

Стиль надписи на компоненте – зачеркивание

 

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

Страница Событий – вторая часть Инспектора объектов. На ней указаны все события, на которые может реагировать выбранный объект.

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

 
 

12

 

кода является полноценным программным редактором. В заголовке окна редактора кода отображается имя текущего файла, с текстом которого производится работа (стандартное имя – Main.pas). В нижней части окна Редактора кода располагается строка состояния. В самой левой ее позиции отображается позиция курсора: номер строки и колонки.

  • Выше окна Инспектора объектов расположено окно Дерево объектов, которое отображает структуру компонентов приложения с точки зрения их принадлежности друг к другу.

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

 

1.2.1 Технология ADO

 

Наряду с традиционными инструментами доступа к данным Borland Database Engine и ODBC в приложениях Delphi можно применять технологию Microsoft Active XData Objects (ADO), которая основана на возможностях СОМ, а именно интерфейсов OLE DB.

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

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

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

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

При инсталляции Microsoft Active XData Objects в операционной системе устанавливаются следующие стандартные провайдеры.

  • Microsoft Jet OLE DB Provider обеспечивает соединение с данными СУБД Access при посредстве технологии ОАО.
  • Microsoft OLE DB Provider for Microsoft Indexing Service обеспечивает доступ только для чтения к файлам и Internet-ресурсам Microsoft Indexing Service.
  • Microsoft OLE DB Provider for Microsoft Active Directory Service обеспечивает доступ к ресурсам службы каталогов (Active Directory Service).

 Microsoft OLE DB Provider for Internet Publishing позволяет использовать ресурсы, предоставляемые Microsoft FrontPage, Microsoft Internet Information Server, HTTP-файлы.

 
 

13

 
  • Microsoft Data Shaping Service for OLE DB позволяет использовать иерархические наборы данных.
  • Microsoft OLE DB Simple Provider предназначен для организации доступа к источникам данных, поддерживающим только базисные возможности OLE DB.
  • Microsoft OLE DB Provider for ODBC drivers обеспечивает доступ к данным, которые уже "прописаны" при помощи драйверов ODBC. Однако реальное использование столь экзотичных вариантов соединений представляется проблематичным. Драйверы ODBC и так славятся своей медлительностью, поэтому дополнительный слой сервисов здесь ни к чему.
  • Microsoft OLE DB Provider for Oracle обеспечивает соединение с сервером Oracle.
  • Microsoft OLE DB Provider for SQL Server обеспечивает соединение с сервером Microsoft SQL Server. 

В программе используется провайдер Microsoft Jet OLE DB Provider, так как таблицы данных были созданы в СУБД Access.

  • Технология SQL

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

Delphi поддерживает статический и динамический SQL. В Delphi имеется объект TQuery, который используется для хранения и выполнения SQL-запросов. 

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

Компонент TQuery позволяет выполнять два типа SQL-запросов: 

  • Статические SQL-запросы 
  • Динамические SQL-запросы 

Статический SQL-запрос устанавливается во время проектирования и не содержит никаких параметров или переменных. Например, следующая строка является статическим SQL-запросом: 

SELECT * FROMCUSTOMERWHERECUST_NO = 1234 

Динамический SQL-запрос, или, как его еще называют, параметрический запрос, включает в себя параметры для колонок или имени таблицы. Например, следующая строка является динамическим SQL-запросом: 

SELECT * FROMCUSTOMERWHERECUST_NO= : Number 

 
 

14

 

Переменная Number, указанная после двоеточия - параметр, который мы назначаем во время выполнения приложения. Во время выполнения запроса параметр может изменяться. 

 Delphi-приложения могут использовать SQL для получения доступа к следующим БД: 

  • Таблицы Paradox или dBASE, использующие локальный SQL. Допустимый синтаксис является подмножеством стандарта ANSI- standard SQL и включает основные SELECT, INSERT, UPDATE, и DELETE запросы. Для получения дополнительной информации о локальном синтаксисе SQL обращаемся к справке Using Local SQL. 
  • Базыданных Local Inter Base Server, включая Local InterBase Server. Допускаются любые запросы Inter Base SQL. Для получения дополнительной информации о синтаксисе и ограничениях обращаемся к электронной справке SQL Statementand Function Reference. 
  • Базы данных на удаленных серверах баз данных (только в версии Delphi Client/server). В SQL серверах допускаются любые стандартные SQL запросы. Для получения дополнительной информации о синтаксисе и ограничениях обратимся к электронной справке вашего сервера.

 

 

 

 
 

15

 

2 Практическая часть

 

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

 

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

Информационное обеспечение такого приложения пользователя включает:

  • Информацию о личных данных пациента.
  • Информацию о домашнем адресе пациента.
  • Информацию о месте работы пациента.

 

2.2 Даталогическое проектирование

 

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

2.3 Создание проекта в Delphi7, связанной с БД в Microsoft Access

 

Открываем Microsoft Office Access 2003 и заполняем следующую таблицу:

Рисунок 1- Структура таблицы «Dannye»

 
 

16

 

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

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

  • Предусмотреть удобный ввод данных;
  • Отображение и просмотр данных в табличном виде.

Открываем Delphi7, создаем новый проект Project1, в нем добавляем главную форму (File ->New ->Form). Свойству Name формы мы присвоим имя Form1 и сохраним как Unit1.pas. В форму добавляем 3 кнопки из вкладки Standart.

Первую кнопку называем «Регистрация», двойным щелчком открываем окно для записи команд и записываем код:

procedure TForm1.btn1Click (Sender: TObject);

begin

Form2.ShowModal;

end;

Вторая кнопка будет «Поиск» и для нее мы пишем следующий код:

procedure TForm1.Button1Click (Sender: TObject);

begin

Form3.ShowModal;

end;

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

procedure TForm1.Button2Click(Sender: TObject);

begin

Form1.Close;

end;

 

Рисунок 2- Окно главной формы

 
 

17

 

Рассмотрим создание связи между Delphi7 и Базой данных Access. В проект добавляем модуль данных (File ->New ->DataModule). Модуль данных - это не визуальный контейнер для размещения на нем не визуальных компонентов. В основном, он предназначен для размещения в нем компонентов подключения к данным (TDataBase, ADOConnection и т.п.), компонентов - наборов данных (TTable/ADOTable, TQuery/ADOQuery, TStoredProc/ADOStoredProc) и компонентов DataSource, которые обеспечивают связь наборов данных и компонентов отображения/редактирования данных. Также модуль данных часто используют и для хранения глобальных переменных, общих функций и процедур, которые должны быть видны по всей программе. Модуль данных не имеет формы, но сохраняется как модуль в файле *.pas.

Свойству Name модуля данных мы присвоим имя fDM, а модуль сохраним как DM.pas. Добавляем в модуль компонент ADOConnection с вкладки ADO палитры компонентов. Этот компонент обеспечит связь других компонентов с базой данных при помощи механизма ADO. Связь обеспечивается свойством компонента ConnectionString. Проще единожды соединиться компонентом ADOConnection и использовать его для связи других компонентов.

Щелкаем дважды по свойству ConnectionString компонента ADOConnection. Откроется окно подключения компонента к ADO:

 

 

Рисунок 3- Окно подключения к ADO.

 

Здесь мы можем подключиться тремя способами:

  1. Использовать для связи созданный ранее link-файл.
  2. Вписать в поле "UseConnectionString" строку для связи с ADO.
  3. Сгенерировать эту строку, нажав кнопку Build.

Воспользуемся третьим способом - нажмем кнопку Build. Открывается новое окно, содержащее настройки подключения:

 

 

 

 

 

 

 

 

 

 

 

 
 

18

 

Рисунок 4- Настройки подключения

 

Вначале предлагается выбрать поставщика OLE DB, или иначе, указать нужный для подключения драйвер. Для связи с базой данных MS Access больше всего подходит " MicrosoftJet 4.0 OLE DB Provider". Jet - это название механизма работы с СУБД, встроенного в MS Access. Этот механизм поддерживает как собственные БД MS Access, имеющие расширение *.mdb, так и ODBC. Его и выделяем в списке.

Нажимаем на кнопку "Далее", либо переходим к вкладке "Подключение". Здесь нам нужно выбрать или ввести базу данных. Указываем только имя файла – DataBase.mdb (БД находится в папке с проектом). Нажимаем на кнопку "ОК".

Закрываем окно редактора связей, и нам остается открыть подключение. Однако перед этим переводим свойство LoginPrompt компонента ADOConnection в False. Если этого не сделать, то при каждой попытке соединиться с базой данных будет выходить запрос на пользовательское имя и пароль, нам это не нужно, наша база данных без пароля. Теперь свойство Connected переводим в True.

Устанавливаем в модуль данных компоненты ADOTable по количеству таблиц в БД. Компонент ADOTable (также как и TTable из вкладки BDE) предназначен для создания набора данных.

Набором данных (НД) называется группа записей, полученных такими компонентами, как TTable/ADOTable, TQuery/ADOQuery, StoredProc/ADOStoredProc из одной или нескольких таблиц базы данных. Все компоненты наборов данных являются потомками класса TDBDataSet, и имеют много общих свойств, методов и событий. Эти компоненты также называют наборами данных.

 
 

19

 

Табличные компоненты (TTable/ADOTable) являются наборами данных, которые получают из базы данных полную копию одной из таблиц, и предоставляют полученный набор данных визуальным компонентам отображения данных (DBGrid, DBEdit, DBMemo и проч.).

Компоненты запросов (TQuery/ADOQuery) для получения набора данных из базы данных используют SQL-запрос. Компоненты позволяют получить из одной или нескольких таблиц только те данные, которые удовлетворяют запросу.

Выделяем ADOTable и в их свойстве Connection выбираем нашу связь ADOConnection. Таким образом, ADOTable мы подключили к базе данных. Рядом с компонентом устанавливаем компонент DataSource из вкладки DataAccess палитры компонентов. Компонент DataSource предназначен для организации связи с наборами данных и служит посредником между такими компонентами НД, как ADOTable, ADOQuery и между компонентами отображения данных, например, DBGrid, DBEdit и т.п. В свойстве DataSet выбираем таблицу ADOTable. Затем свойство Active таблицы переведем в True, открыв их.

 

Рисунок 5- Модуль данных с установленными компонентами

 

Переходим на главную форму. Выбираем команду File ->UseUnit и подключаем к ней модуль DM. Теперь мы сможем видеть таблицы из главной формы.

На вкладке DataControls сосредоточены визуальные (видимые пользователю) компоненты отображения данных, такие как DBGrid (сетка, отображающая все данные НД в виде таблицы, и позволяющая редактировать их), DBEdit (поле редактирования данных, предназначенная для ввода или редактирования одного поля записи, то есть, ячейки таблицы), DBMemo (для редактирования MEMO-полей) и т.д. Единственным исключением является компонент DBNavigator. Этот компонент предназначен не для отображения данных, а для перемещения по записям набора данных, для вставки новой записи или удаления старой, для перевода НД в режим редактирования или для подтверждения сделанных изменений в наборе данных.

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

 
 

20

 

Теперь нужно между таблицами установить связь. Это требуется не только для того, чтобы в нижней сетке выходили данные только на пациента, выделенного в верхней сетке, но и для того, чтобы мы смогли в дальнейшем вводить данные в окне редактора. Снова выделяем модуль данных. Щелкаем дважды по таблице, чтобы открыть редактор полей. Правой кнопкой щелкаем по этому редакторуполей и выбираем команду Add all fields (добавить все поля). В окне редактора полей появились все поля таблицы:

 

Рисунок 6- Редактор полей

 

Редактор полей предназначен для настройки параметров каждого поля, для добавления новых полей или удаления имеющихся. Если в редакторе полей нет ни одного поля, то в компоненте DBGrid будут отображены все поля таблицы, имеющие параметры по умолчанию. Если же мы добавили в редактор полей хотя бы одно поле, то сетка DBGrid его и отобразит. В редакторе мы можем для каждого поля изменить различные параметры, например, ширину колонки, название колонки, видимое это поле или нет, и т.п. Кроме того, редактор полей предоставляет возможность добавлять в набор данных новые поля, например вычисляемые или просматриваемые (lookup). Поле "Ключ" у нас автоинкрементное. Пользователю его видеть не обязательно. Выделяем его, и в свойстве Visible устанавливаем False. Теперь для пользователя оно будет невидимым.

Теперь нам нужно сделать окно редактора данных. Создайте новую форму (File ->New ->Form). Ее свойство Name переименуйте в fEditor, а при сохранении формы даем модулю имя Editor. Командой File ->UseUnit подключаем к форме модуль данных DM. Теперь нам нужно установить на форму такие компоненты:

 

 

 

 

 

 

 

 

 

 
 

21

 

Рисунок 7- Окно редактора данных

 

Устанавливаем на форму одну панель GroupBox с вкладки Standard. Далее на эту панель следует установить восемь компонентов DBEdit с вкладки DataControls палитры компонентов, шесть DBCheckBox для редактирования логических данных, а также 3 поясняющих компонента Label. Сохраните текст, нажав кнопку ОК.

Теперь займемся подключением компонентов контроля. Удерживая <Shift>, выделяем все компоненты контроля на панели (все компоненты, кроме Label). В их свойстве DataSource выбираем fDM.ds1. Снимаем общее выделение и выделяем первый DBEdit. В его свойстве DataField выбираем поле "Фамилия". Это свойство подключает выбранный компонент к определенному полю таблицы. Таким же образом подключаем к соответствующим полям остальные компоненты.

В правой нижней части для удобства пользователя устанавливаем навигационный компонент DBNavigator с вкладки DataControls. Этот компонент предназначен для перемещения по записям, включения режима редактирования записи, сохранения или отмены сделанных изменений, добавления новой записи или удаления существующей. В его свойстве DataSource выбираем fDM.ds1, чтобы подключить компонент к главной таблице. Нам нужна от этого компонента только возможность перехода на начало или конец таблицы, на следующую или предыдущую запись. Поэтому раскрываем его свойство Visible Buttons (видимость кнопок компонента) и переводим в False все кнопки, кроме nbFirst, nbPrior, nbNext и nbLast. Нажатие на эти кнопки приведет к вызову соответствующих методов компонента ADOTable. Эти методы делают следующее:

First - переход на первую запись таблицы. Prior - переход на предыдущую запись. Next - переход на следующую запись. Last - переход на последнюю запись.

Мы знаем, что измененная запись в таблице сохраняется в трех случаях:

  1. Применением метода Post.
  2. При переходе на другую запись.
  3. При добавлении новой записи.

Выделяем GroupBox и дважды щелкаем по событию onExit на вкладке Events инспектора объектов. Это событие происходит всякий раз, когда пользователь перейдет к другой панели GroupBox. В сгенерированной процедуре вписываем код:

 

procedureTForm2.grp1Click(Sender: TObject);

begin

if fDM.ADOTable1.Modified then fDM.ADOTable1.Post;

end;

22

 

Свойство Modified компонента ADOTable имеет логический тип - в нем содержится True, если данные были изменены, и False в противном случае. Метод Post этого компонента, сохраняет измененную запись таблицы. При этом в поле «Ключ» попадет присвоенное автоматически значение. Таким образом, введенный код означает, что если запись была изменена, то следует ее сохранить.

Также нам надо добавить кнопку «Закрыть». Для этого мы с вкладки Standart выбираем Button, вставляем в GroupBox, щелкаем дважды пишем код:

procedure TForm2.btn1Click(Sender: TObject);

begin

Form2.Close;

end.

Далее мы переходим к запросам.

Запросы (TQuery, TADOQuery) –это такие же наборы данных, как и таблицы (TTable, TADOTable). Запросы, как и таблицы, происходят от общего предка- TDBDataSet, в связи с этим они имеют схожие свойства, методы и события. Но имеются и существенные различия. Прежде всего, если табличный набор данных TTable ( TADOTable ) получает точную копию данных из таблицы базы данных, то запрос TQuery ( TADOQuery ) получает этот набор, основываясь на запросе, сделанном на специальном языке SQL (Structured Query Language - Язык Структурированных Запросов). С помощью этого языка программист создает запрос, который передается параметру TQuery. SQL (TADOQuery .SQL ). При открытии набора данных этот запрос обрабатывается используемым механизмом BDE, ADO или др. и в набор данных передаются запрошенные данные. Используя запросы, в одном наборе данных можно получить взаимосвязанные данные из разных физических таблиц. Отпадает надобность в подстановочных полях.

Создаем новую форму, устанавливаем панель. В свойстве Align панели выбираем alTop, чтобы панель заняла весь верх, а ее высоту растягиваем примерно на полформы. На эту панель устанавливаем компонент Memo, именно в нем мы будем писать наши SQL - запросы. Дважды щелкаем по свойству Lines этого компонента, чтобы вызвать редактор текста, и удаляем весь текст. Также не помешает дважды щелкнуть по свойству Font и изменить размер шрифта на 12 для лучшего восприятия текста. В свойстве Align выбираем alLeft, чтобы компонент Memo занял всю левую часть панели.

В правой части панели устанавливаем три простые кнопки с панели инструментов. В свойстве Caption первой кнопки пишем «Поиск», на второй кнопке- «Обновить», на третьей- «Закрыть». Собственно, мы могли бы очищать Memo сразу при выполнении SQL -запроса, и обойтись без второй кнопки. Но многие запросы похожи, и проще изменить часть текста запроса, чем писать весь запрос заново.

На нижнюю, свободную половину формы устанавливаем компонент TDBGrid с вкладки DataControls для отображения данных. В свойстве Align сетки выбираем alClient, чтобы сетка заняла все оставшееся место. У нас должна получиться такая картина:

 

 

 

 

 

 
 

23

 

Рисунок 8- Внешний вид приложения

 

Еще нам потребуются три компонента: TADOConnection и TADOQuery с вкладки ADO для получения набора данных, и TDataSource с вкладки DataAccess для связи сетки DBGrid и навигатора DBNavigator с этим набором данных.

Дважды щелкаем по ADOConnection1, чтобы вызвать редактор подключений. Нажимаем на кнопку " Build ", выбираем поставщика Microsoft Jet 4.0 OLE DB Provider, и нажимаем "Далее". В поле "Выберите или введите имя базы данных" указываем нашу БД DateBase.mdb и нажимаем "ОК". И еще раз "ОК", чтобы закрыть окно редактора подключений. Сразу же свойство LoginPrompt переводим в False, чтобы при каждом запуске программы у нас не запрашивался логин и пароль, а Connected - в True. Подключение к базе данных произошло.

В свойстве Connection компонента TADOQuery выберем ADOConnection1, а в свойстве DataSet компонента DataSource1 выберем НД ADOQuery1. Теперь набор данных ADOQuery1 соединен с базой данных, а DataSource1 - с этим набором данных.

Нам осталось лишь запрограммировать обработчик события onclick для трех кнопок. Щелкаем дважды по кнопке "Поиск", чтобы сгенерировать это событие, и прописываем в нем такой код:

procedureTForm3.btn1Click(Sender: TObject);

begin

qry1.Active:=False;

qry1.SQL.Clear;

qry1.SQL.Add('SELECT *');

qry1.SQL.Add('FROM Dannye');

qry1.SQL.Add('WHERE Фамилия LIKE '''+edt3.TEXT+''' and Имя LIKE '''+edt1.TEXT+''' and Отчество LIKE '''+edt2.TEXT+'''');

qry1.Active:=True;

end;

 

 

 

 

 
 

24

 

Щелкаем дважды по кнопке "Обновить" и прописываем:

procedure TForm3.btn2Click(Sender: TObject);

begin

edt3.Clear;

edt1.Clear;

edt2.Clear;

qry1.Active:=False;

qry1.SQL.Clear;

qry1.SQL.Add('SELECT *');

qry1.SQL.Add('FROM Dannye');

qry1.Active:=True;

end;

И кодируем кнопку "Закрыть" уже известным нам способом:

procedure TForm3.btn3Click(Sender: TObject);

begin

Form3.Close;

end;

Сохраняем программу, компилируем ее нажатием кнопки F9 и запускаем на выполнение.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 
 

25

 

 

3 Логика работы программы

 

3.1Архитектура программно-аппаратного комплекса

 

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

  1. ADO

Использование ADO является альтернативой Borland Database Engine (BDE), обеспечивающей более эффективную работу с данными. Для использования этой возможности на нашем компьютере должна быть установлена система ADO 2.1 или более старшая версия. Кроме того должна быть установлена клиентская система доступа к данным, например, Microsoft SQL Server, а в ODBC должен иметься драйвер OLE DB для того типа баз данных, с которыми мы работаем.

  1. Microsoft Office Access 2003

Microsoft Office Access 2003 является системой управления базами данных в которой можно создавать и редактировать базы данных. Он позволяет просматривать сведения о зависимостях между объектами базы данных. Просмотр списка объектов, используемых указанным объектом, помогает осуществлять поддержку базы данных и предотвращать ошибки, связанные с потерей источников записей.

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

При открытии приложения открывается главное окно программы:



Рисунок 9- Главное окно программы

 

 

 

 

 
 

26

 

Меню программы содержит следующие пункты:

  • Регистрация. С помощью этого пункта меню вы можете вносить данные нового пациента и редактировать имеющиеся в базе данных таблицы. Кроме редактирования таблиц вы можете также их просто просмотреть. Для этого нужно сделать двойной щелчок по кнопке «Регистрация», после чего откроется окно заполнения таблиц. Для того, чтобы сохранить заполненную таблицу, надо нажать на кнопку «+». Так же можно удалять записи нажатием на «-». Чтобы просмотреть имеющиеся данные о пациентах, надо кликать на ► ( или на ◄):

 

Рисунок 10-Форма просмотра и редактирования данных

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

 


Рисунок 11- Форма поиска и просмотра данных

 

  • Закрыть. После выбора этого пункта меню программа будет закрыта.

 

 

 
 

27

 

Заключение

 

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

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

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

 

 

 
 

28

 

 

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

  1. Архангельский А.Я. Программирование в Delphi. Учебник по классическим версиям Delphi. – М.: ООО «Бином-Пресс», 2006. – 1152с.: ил.
  2. Архангельский А.Я. Программирование в Delphi. – М.: ООО «Бином-Пресс», 2004. – 1152 с.: ил.
  3. Гофман В.Э., Хомоненко А.Д. Delphi. Быстрый старт. – СПб: БХВ-Петербург, 2003. – 288 с.: ил.

Скачать: kursovoy-proekt.docx

Категория: Курсовые / Компьютерные технологии курсовые

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