Базы данных на Delphi

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 06.02.2014
Размер файла 642,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

Учреждение образования

«Гомельский государственный университет имени Франциска Скорины»

Математический факультет

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

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

Базы данных на DELPHI

Исполнитель:

Студент группы М-21 Ганькин Ян Валерьевич

Научный руководитель:

Ассистент Богданова Татьяна Григорьевна

Гомель

РЕФЕРАТ

Курсовая работа: 54 страниц, 2 таблицы, 12 рисунков, 1 приложение, 5 источников.

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

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

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

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. ОСНОВНЫЕ ПРИНЦИПЫ СОЗДАНИЯ БАЗ ДАННЫХ

1.1 Требования, которым должна удовлетворять организация базы данных

1.2 Основы построения банков данных

1.3 Организация баз данных и их модели

1.4 Проблемы проектирования БД

1.5 Принцип работ БД в Delphi

1.6 Инструментальные средства баз данных Borland

1.7 Архитектуры баз данных

1.8 Таблицы баз данных

2. НАВИГАЦИОННЫЙ СПОСОБ ДОСТУПА К БАЗАМ ДАННЫХ

2.1 Операции с таблицей БД

2.2 Сортировка набора данных

2.3 Перемещение по набору данных

2.4 Фильтрация записей

2.5 Поиск записей

2.6 Модификация набора данных

3 ОПИСАНИЕ ПРИЛОЖЕНИЯ

3.1 Файл проекта

3.2 Форма заставки

3.3 Основная форма

3.4 Форма вставки новых записей

3.5 Форма добавления разделов

3.6 Форма просмотра базы данных

3.7 Дополнительный модуль

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЯ

ВВЕДЕНИЕ

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

Существует много веских причин перевода существующей информации на компьютерную основу. Сейчас стоимость хранения информации в файлах ЭВМ дешевле, чем на бумаге. Базы данных позволяют хранить, структурировать информацию и извлекать оптимальным для пользователя образом. Использование клиент/серверных технологий позволяют сберечь значительные средства, а главное и время для получения необходимой информации, а также упрощают доступ и ведение, поскольку они основываются на комплексной обработке данных и централизации их хранения. Кроме того ЭВМ позволяет хранить любые форматы данных, текст, чертежи, данные в рукописной форме, фотографии, записи голоса и т.д. Для использования столь огромных объемов хранимой информации, помимо развития системных устройств, средств передачи данных, памяти, необходимы средства обеспечения диалога человек - ЭВМ, которые позволяют пользователю вводить запросы, читать файлы, модифицировать хранимые данные, добавлять новые данные или принимать решения на основании хранимых данных. Для обеспечения этих функций созданы специализированные средства - системы управления базами данных (СУБД).

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

Современные СУБД обеспечивают:

- набор средств для поддержки таблиц и отношений между связанными таблицами;

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

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

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

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

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

Delphi-приложения эффективны, если разработчик соблюдает определенные правила (и часто - если не соблюдает). Эти приложения надежны и при эксплуатации обладают предсказуемым поведением.

Пакет Delphi - продолжение линии компиляторов языка Pascal корпорации Borland. Pascal как язык очень прост, а строгий контроль типов данных способствует раннему обнаружению ошибок и позволяет быстро создавать надежные и эффективные программы. Корпорация Borland постоянно обогащала язык. Когда-то в версию 4.0 были включены средства раздельной трансляции, позже, начиная с версии 5.5, появились объекты, а в состав шестой версии пакета вошла полноценная библиотека классов Turbo Vision, реализующая оконную систему в текстовом режиме работы видеоадаптера. Это был один из первых продуктов, содержавших интегрированную среду разработки программ.

В классе инструментальных средств для начинающих программистов продуктам компании Borland пришлось конкурировать со средой Visual Basic корпорации Microsoft, где вопросы интеграции и удобства работы были решены лучше. Когда в начале 70-х годов Н. Вирт опубликовал сообщение о Pascal, это был компактный, с небольшим количеством основных понятий и зарезервированных слов язык программирования, нацеленный на обучение студентов. Язык, на котором предстоит работать пользователю Delphi, отличается от исходного не только наличием множества новых понятий и конструкций, но и идейно: в нем вместо минимизации числа понятий и использования самых простых конструкций (что, безусловно, хорошо для обучения, но не всегда оправдано в практической работе), предпочтение отдается удобству работы профессионального пользователя. Как язык Turbo Pascal естественно сравнивать с его ближайшими конкурентами - многочисленными вариациями на тему языка Basic (в первую очередь с Visual Basic корпорации Microsoft) и с C++. Плюсы применения языка Pascal очевидны: с одной стороны, в отличие от Visual Basic, основанного на интерпретации промежуточного кода, для него имеется компилятор, генерирующий машинный код, что позволяет получать значительно более быстрые программы. С другой - в отличие от C++ синтаксис языка Pascal способствует построению очень быстрых компиляторов.

Опции, включая режимы компиляции, задаются для всего проекта в целом. В этом отношении традиционные make-файлы, используемые в компиляторах языка C, значительно более гибки. Visual Component Library (VCL) Богатство палитры объектов для построения пользовательского интерфейса - один из ключевых факторов при выборе инструмента визуального программирования. При этом для пользователя имеет значение как число элементов, включенных непосредственно в среду, так и доступность элементов соответствующего формата на рынке.

Для разработки программы сортировки электронных книг с последующей записью их в базу данных, была выбрана интегрированная среда разработки Delphi для WINDOWS - приложений.

1. ОСНОВНЫЕ ПРИНЦИПЫ СОЗДАНИЯ БАЗ ДАННЫХ

1.1 Требования, которым должна удовлетворять организация базы данных

Изучением этого вопроса долгое время занимались различные группы людей в учреждениях, использующих ЭВМ, в правительственных комиссиях, на вычислительных центрах коллективного пользования. Комитет CODASYL опубликовал отчеты на эту тему (CODASYL--организация, разработавшая язык КОБОЛ). Организации пользователей IBM SHARE и GUIDE в своем отчете сформулировали требования к системе управления базами данных. Организация ACiM (Association for Computing Machinery) также занималась изучением этого вопроса.

Ниже перечислены основные требования к организации базы данных.

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

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

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

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

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

6. Целостность. Если база данных содержит данные, используемые многими пользователями, очень важно, чтобы элементы данных и связи между ними не разрушались. Необходимо, чтобы вычислительная система гарантировала целостность хранимых в ней данных.

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

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

1.2 Основы построения банков данных

Современными информационными системами являются банки данных, включающие:

· Вычислительную систему

· Одну или несколько баз данных

· Систему управления базами данных (СУБД)

· Набор прикладных программ

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

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

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

Для решения проблемы регулирования и управления базами данных были развиты две концепции:

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

В каждой СУБД прежде всего есть трансляторы или интерпретаторы с языка описания данных (ЯОД) и с языка манипулирования данными (ЯМД), единые для всей базы данных (БД).

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

ЯМД представлен системой команд манипулирования данными. В нем могут быть, например, следующие команды:

· Произвести выборку из базы данных конкретного данного, значение которого удовлетворяет заданным условиям;

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

Системы управления базой данных подразделяют на две группы в зависимости от способа реализации ЯМД:

· СУБД с включающим языком;

· СУБД с базовым языком.

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

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

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

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

1.3 Организация баз данных и их модели

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

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

1. Данные должны быть независимы от программ для того, чтобы данные можно было добавлять или перестраивать без изменения программ;

2. Должна быть обеспечена возможность запрашивать и отыскивать нужную информацию в БД без трудоемкого написания программ на обычном языке программирования. Таким образом, проектирование БД должно основываться на вполне определенной системе положений - четко сформулированной концепции.

БД содержит данные, используемые некоторой прикладной системой (например, системами "Сирена" и "Экспресс" продажи авиа- и железнодорожных билетов). В зависимости от вида организации данных различают следующие важнейшие модели БД:

· Иерархическую

· Сетевую

· Реляционную

· Объектно-ориентированную

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

В сетевой БД данные организуются в виде графа. Недостатком сетевой модели является жесткость структуры и сложность ее организации.

Реляционная БД получила свое название от английского термина relation (отношение), предложена в 70-х годах сотрудником фирмы IВМ Эдгаром Коддом. Реляционная БД представляет собой совокупность таблиц, связанных отношениями. Достоинствами реляционной модели данных являются простота, гибкость структуры. Кроме того, ее удобно реализовать на компьютере. Большинство современных БД для персональных компьютеров являются реляционными.

Объектно-ориентированные БД объединяют сетевую и реляционную модели и используются для создания крупных БД с данными сложной структуры.

1.4 Проблемы проектирования БД

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

· Что представляют собой требования пользователей и в какой форме они могут быть выражены?

· Как эти требования могут быть преобразованы в эффективную структуру базы данных?

· Как часто и каким образом структура базы данных должна перестраиваться в соответствии с новыми и/или изменяющимися требованиями?

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

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

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

1.5 Принцип работ БД в Delphi

Мощность Delphi при работе с базами данных основана на низкоуровневом ядре - процессоре баз данных Borland Database Engine (BDE). Его интерфейс с прикладными программами называется Integrated Database Application Programming Interface (IDAPI). В принципе, сейчас не различают эти два названия (BDE и IDAPI) и считают их синонимами. BDE позволяет осуществлять доступ к данным как с использованием традиционного record-ориентированного (навигационного) подхода, так и с использованием set-ориентированного подхода, используемого в SQL-серверах баз данных. Кроме BDE, Delphi позволяет осуществлять доступ к базам данных, используя технологию (и, соответственно, драйверы) Open DataBase Connectivity (ODBC) фирмы Microsoft. ODBC драйвера работают через специальный "ODBC socket", который позволяет встраивать их в BDE.

Все инструментальные средства баз данных Borland - Paradox, dBase, Database Desktop - используют BDE. Все особенности, имеющиеся в Paradox или dBase, “наследуются” BDE, и поэтому этими же особенностями обладает и Delphi. Библиотека объектов содержит набор визуальных компонент, значительно упрощающих разработку приложений для СУБД с архитектурой клиент-сервер. Объекты инкапсулируют в себя нижний уровень - Borland Database Engine.

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

Таблицы сохраняются в базе данных. Некоторые СУБД сохраняют базу данных в виде нескольких отдельных файлов, представляющих собой таблицы (в основном, все локальные СУБД), в то время как другие состоят из одного файла, который содержит в себе все таблицы и индексы (InterBase). Например, таблицы dBase и Paradox всегда сохраняются в отдельных файлах на диске. Директорий, содержащий dBase .DBF файлы или Paradox .DB файлы, рассматривается как база данных. Другими словами, любой директорий, содержащий файлы в формате Paradox или dBase, рассматривается Delphi как единая база данных. Для переключения на другую базу данных нужно просто переключиться на другой директорий. InterBase сохраняет все таблицы в одном файле, имеющем расширение .GDB, поэтому этот файл и есть база данных InterBase.

Объекты БД в Delphi основаны на SQL и включают в себя полную мощь Borland Database Engine. В состав Delphi также включен Borland SQL Link, поэтому доступ к СУБД Oracle, Sybase, Informix и InterBase происходит с высокой эффективностью. Кроме того, Delphi включает в себя локальный сервер Interbase для того, чтобы можно было разработать расширяемые на любые внешние SQL-сервера приложения в онлайновом режиме. Разработчик в среде Delphi, проектирующий информационную систему для локальной машины (к примеру, небольшую систему учета медицинских карточек для одного компьютера), может использовать для хранения информации файлы формата .dbf (как в dBase или Clipper) или .db (Paradox). Если же он будет использовать локальный InterBase (это локальный SQL-сервер, входящий в поставку), то его приложение безо всяких изменений будет работать и в составе большой системы с архитектурой клиент-сервер.

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

1.6 Инструментальные средства баз данных Borland

Database Desktop - это утилита, во многом похожая на Paradox, которая поставляется вместе с Delphi для интерактивной работы с таблицами различных форматов локальных баз данных - Paradox и dBase, а также SQL-серверных баз данных InterBase, Oracle, Informix, Sybase (с использованием SQL Links). Она позволяет создавать как структуру реляционных таблиц, так и всевозможные ограничения целостности таблиц, индексы, первичные ключи и внешние ключи. WISQL (Windows Interactive SQL) - интерактивное средство посылки SQL-запросов к InterBase (в том числе и локальному InterBase), входящее в поставку Delphi, позволяет создавать таблицы - через посылку SQL-запросов. Database Desktop не обладает всеми возможностями по управлению SQL-серверными базами данных. Поэтому с помощью Database Desktop удобно создавать или локальные базы данных, или только простейшие SQL-серверные базы данных, состоящие из небольшого числа таблиц, не очень сильно связанных друг с другом. Если же необходимо создать базу данных, состоящую из большого числа таблиц, имеющих сложные взаимосвязи, можно воспользоваться языком SQL. Можно записать всю последовательность SQL-предложений в один так называемый скрипт и послать его на выполнение. Конкретные реализации языка SQL незначительно отличаются в различных SQL-серверах, однако базовые предложения остаются одинаковыми для всех реализаций. Практика показывает, что если нет необходимости создавать таблицы во время выполнения программы, то лучше воспользоваться WISQL.

InterBase - это система управления реляционными базами данных, поставляемая корпорацией BORLAND для построения приложений с архитектурой клиент-сервер произвольного масштаба: от сетевой среды небольшой рабочей группы с сервером под управлением Novell NetWare или Windows NT на базе IBM PC до информационных систем крупного предприятия на базе серверов IBM, Hewlett-Packard, SUN и т.п. В пакет Delphi входит однопользовательская версия InterBase для Windows - Local InterBase. Используя Local InterBase можно создавать и отлаживать приложения, работающие с данными по схеме клиент-сервер, без подключения к настоящему серверу. В дальнейшем потребуется только перенастроить используемый псевдоним базы данных и программа будет работать с реальной базой без перекомпиляции. Кроме того, Local InterBase можно использовать в приложениях для работы с данными вместо таблиц Paradox.

Важной составной частью приложения является вывод данных на печать - получение отчета. В пакет Delphi входит средство для генерации и печати отчетов - ReportSmith. Вы можете объединить отчет с приложениями Delphi. Также, библиотека визуальных компонент Delphi включает специальный компонент TReport. В данном уроке показано, как использовать компоненту TRepor и рассмотрены основные принципы проектирования отчетов в ReportSmith.

Borland ReportSmith является инструментом для получения отчетов и интегрирован в среду Delphi. Отчет может быть добавлен к приложениям Delphi. Отчеты могут быть созданы для SQL БД или локальных БД и не требуют знания сложных команд БД. Интерфейс ReportSmith использует стандартные инструменты Windows типа tool bar, formatting ribbon, и "drag and drop". Если пользователь уже знаком с интерфейсом стандартных Windows-программ, типа Word for Windows, ему будет "знаком" и интерфейс ReportSmith. ReportSmith предлагает 4 типа отчетов: Табличный, Кросс-таблица(CrossTab), Форма(Form) и Наклейка(Label).

ReportSmith использует концепцию "живых данных", т.е. работа происходит с настоящими данными все время, а не только тогда, когда запускается просмотр (preview). Кроме этого, ReportSmith легко работает с чрезвычайно большими БД при помощи адаптивной технологии управления памятью. В ReportSmith можно управлять тем, где сохраняется результат выборки данных из БД: в локальный памяти клиентской PC, на жестком диске клиентской PC, или на сервере.

1.7 Архитектуры баз данных

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

· Локальными

· Удаленными

Приложение Delphi осуществляет доступ к БД через ВDЕ (Borland Database Engine -- Процессор баз данных фирмы Borland). BDE представляет собой набор драйверов, обеспечивающих доступ к данным. Система BDE должна устанавливаться на всех компьютерах, на которых работают с БД приложения Delphi.

Локальные БД расположены на том же компьютере, что и приложения, работающие с ними (рис.1.1). Работа с БД происходит, как правило, в однопользовательском режиме. При необходимости можно запустить на компьютере другое приложение, одновременно осуществляющее доступ к этим же данным.

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

Рис.1.1. Локальная БД

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

Рис. 1.2. Архитектура файл-сервер

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

Когда пользователь сети работает с БД, на его компьютере появляется локальная копия общей БД. Эта копия периодически обновляется данными, содержащимися в БД, расположенной на сервере.

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

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

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

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

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

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

Рис. 1.3. Архитектура клиент-сервер

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

· Низкая нагрузка на сеть, в которой циркулирует только нужная информация

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

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

Для реализации архитектуры клиент-сервер обычно применяются многопользовательские СУБД, например, Oracle или Microsoft SQL Server. Подобные СУБД также называют промышленными, так как они позволяют организовать информационную систему, состоящую из большого числа пользователей. Доступ к этим СУБД осуществляется с помощью драйверов SQL-Links.

1.8 Таблицы баз данных

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

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

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

Рис. 1.4. Таблица БД

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

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

Ключевые поля в СУБД обычно автоматически индексируются. В таблицах Paradox ключ также является главным (первичным) индексом, который не именуется. Для таблиц dBase ключ не создается и его роль выполняет один из индексов.

Таким образом, использование ключей и индексов позволяет:

· Однозначно идентифицировать записи

· Избегать дублирования значений в ключевых полях

· Выполнять сортировку таблиц

· Ускорять операции поиска в таблицах

· Устанавливать связи между отдельными таблицами БД

Delphi не имеет своего формата таблиц, однако поддерживает два вида локальных таблиц -- а dBase и Paradox. Каждый из этих видов таблиц имеет свои особенности.

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

· Простота использования

· Совместимость со многими приложениями

В табл. 1.1 приведен список типов полей таблиц dBase IV. Для каждого типа указан символ, используемый для обозначения этого типа в программе Database Desktop (создания и редактирования таблиц, SQL-запросов и запросов QBE), а также описание значений, которые может содержать поле рассматриваемого типа.

Таблицы dBase достаточно просты. Для их хранения на дисках требуется немного физических файлов. Имена этих файлов имеют следующие расширения:

· DBF - таблица с данными

· DBT - данные двоичных объектов, занимающие большой объем памяти -данные (Binary Large Object, -- BLOD). К ним относятся двоичные, Memo- или OLE-поля

· MDX -- поддерживаемые индексы

· NDX -- индексы, не поддерживаемые форматом dBase непосредственно. При использовании этих индексов программист должен обрабатывать их самостоятельно.

Таблица 1.1

Типы полей таблиц dBase IV

Тип

Обозначение

Описание значения

Character

C

Строка символов. Длина не более 255 символов

Float

F

Число с плавающей точкой. Диапазон -10308 --10308 Точность 15

Number

N

Date

D

Дата

Logical

L

Логическое значение. Допустимы значения T и Y (Истина), F и N (Ложь). Разрешается использование прописных букв

Memo

M

Строка символов. Длина не ограничена. Символы хранятся в файле с расширением DBT

OLE

O

Данные в формате, который поддерживается технологией OLE. Данные хранятся в файле с расширением ОВТ

Binary

B

Последовательность байтов. Длина не ограничена. Байты содержат произвольное двоичное значение. Хранятся в файле с расширением ОВТ

Имя поля в таблице dBase должно состоять из букв и цифр и начинаться с буквы, причем его длина не должна превышать 10 символов. В имени нельзя использовать специальные символы, в том числе и пробел.

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

Таблицы Paradox являются достаточно развитыми и удобными при создании БД. Основные достоинства таблиц Paradox:

· Имеется много различных типов полей для представления данных

· Поддерживается целостность данных

· Возможность организации проверки вводимых данных

· Поддерживается защита таблиц с помощью паролей

Поскольку предоставляется широкий выбор типов полей, можно точнее представлять данные, хранимые в БД. Например, для представления числовой информации можно использовать один из пяти числовых типов. В табл. 1.2 представлен список типов полей таблиц Paradox 7. Для каждого типа приводится символ, используемый для обозначения этого типа в программе Database Desktop, а также описание значений, которые может содержать поле рассматриваемого типа.

Таблица 1.2

Типы полей таблиц Paradox 7

Тип

Обозначение

Описание значения

Alpha

A

Строка символов. Длина не более 255 символов

Number

N

Число с плавающей точкой. Диапазон -10307 --10308 Точность 15 цифр мантиссы

Money

$

Денежная сумма. Отличается от типа Number тем, что в значении отображается денежный знак. Обозначение денежного знака зависит от установок Windows

Short

S

Целое число. Диапазон -32 768 -- 32 767

LongInteger

I

Целое число. Диапазон

-2 147 483 648 -- 2 147 483 647

Date

D

Дата. Диапазон

01.01.9999 до н.э.- 31.12.9999

Logical

L

Логическое значение. Допустимы значения T (Истина), F (Ложь). Разрешается использование прописных букв

Memo

M

Строка символов. Длина не ограничена. Первые 240 символов хранятся в файле таблицы, остальные в файле с расширением МВ

OLE

O

Данные в формате, который поддерживается технологией OLE. Данные хранятся в файле с расширением MB

Binary

B

Последовательность байтов. Длина не ограничена. Первые 240 байт хранятся в файле таблицы, остальные в файле с расширением МВ

FormsttedMemo

F

Строка символов. Отличается от типа Мето тем, что строка может содержать форматированный текст

Graphic

G

Графическое изображение. Форматы ВМР, РСХ, ТIF, GIF и EPS. Для хранения изображения используется файл с расширением МВ

Autoincrement

+

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

Bytes

Y

Последовательность байтов. Длина не более 255 байт

Имя поля в таблице Paradox должно состоять из букв (в том числе из букв кириллицы) и цифр и начинаться с буквы. Максимальная длина имени составляет 25 символов. В имени можно использовать такие символы, как "пробел", "#", "$" и некоторые другие. Не рекомендуется применять в имени символы ".","!" и "|", так как они зарезервированы в Delphi для других целей.

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

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

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

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

· DB - таблица с данными

· MB - BLOB-данные

· PX - главный индекс (ключ)

· XG? и YG? - вторичные индексы

· VAL - параметры для проверки данных и целостности ссылок

· TV и FAM - форматы вывода таблицы в программе Database Desktop

2. НАВИГАЦИОННЫЙ СПОСОБ ДОСТУПА К БАЗАМ ДАННЫХ

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

В этом разделе рассматриваются основные операции, применяемые в локальных БД, которые также можно использовать в небольших сетях для организации работы с удаленными БД. Для операций с таблицами используются наборы данных Table и Query. С помощью структурированного языка запросов (SQL) и набора данных Query можно реализовать реляционный доступ к БД (см. раздел «Реляционный способ доступа к базе данных»).

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

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

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

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

· Перемещение по набору данных

· Редактирование записей

· Вставка и удаление записей

· Фильтрация записей

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

2.1 Операции с таблицей БД

Кроме действий с отдельными записями, с помощью компонента Table можно выполнять также действия с таблицей БД, например, создавать, удалять или переименовывать таблицы, устанавливать режимы доступа к ним.

Создание, удаление и переименование. Обычно таблицы создаются на этапе разработки приложения с помощью соответствующих программ (например, Database Desktop). Удаление таблицы также выполняется при разработке приложения, например, с помощью проводника Windows. Используя инструментальные средства, можно создавать и удалять таблицы, а также изменять их структуру. Программист может создать или удалить таблицу динамически в процессе выполнения приложения, например, при создании резервной или архивной копии всей таблицы пли ее части.

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

· DatabaseName -- расположение БД (псевдоним)

· TableName -- название таблицы

· TableType -- тип таблицы

· FieldDefs -- описание полей

· IndexDefs -- описание индексов

TableName задает имя файла таблицы, который будет находиться в каталоге, указанном для размещения БД (свойство DatabaseName).

Формат таблицы TableName типа TTableName может быть следующим:

· ttDefault -- формат таблицы (по умолчанию) определяется на основании следующих расширений имен файлов таблиц:

o DB -- Paradox

o DBF -- dBase

o ТХТ -- ASCII

· ttParadox -- Paradox

· ttDBase -- dBASE

· ttFoxPro -- FoxPro

· ttASCII -- ASCII (файл, содержащий текст, который разбит на колонки)

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

Процедура Add (const Name: String; DateType: TFieldType; Size: Word; Required: Boolean) добавляет к массиву полей описание нового поля. Параметр Name указывает название нового поля, а DateType -- тип поля, который можно выбирать из следующего списка: ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat В перечисленных значениях префикс ft указывает. что значение относится к типу поля (Field Type), а последующая часть значения определяет сам тип.


Подобные документы

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

    курсовая работа [1,3 M], добавлен 05.02.2017

  • Определение базы данных и банков данных. Компоненты банка данных. Основные требования к технологии интегрированного хранения и обработки данных. Система управления и модели организации доступа к базам данных. Разработка приложений и администрирование.

    презентация [17,1 K], добавлен 19.08.2013

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

    курсовая работа [6,2 M], добавлен 27.03.2012

  • Разработка программных продуктов на языке программирования Borland Delphi. Применяемые таблицы и связи между ними. Пользовательский интерфейс работы с базой данных. Алгоритм работы программы "Футбольные команды и игроки". Защита от ввода неверных данных.

    курсовая работа [788,1 K], добавлен 22.06.2011

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

    отчет по практике [732,5 K], добавлен 07.07.2012

  • Разработка простейшей базы данных с использованием приемов работы с Microsoft Access в среде программирования Delphi. Назначение базы данных, условия эксплуатации, выполнения и запуска программы "База данных районного отдела налоговой инспекции".

    курсовая работа [1,3 M], добавлен 14.12.2012

  • Анализ данных предметной области. Информационно-логическая модель базы данных. Физическое проектирование и мероприятия по защите и обеспечению целостности базы данных. Приложение интерфейса для SQL-сервера базы данных на языке программирования Delphi.

    курсовая работа [2,2 M], добавлен 30.05.2013

  • Программа поиска в базе данных в среде Borland Delphi 7.0 Enterprise. Условия и блок-схемы задач. Ввод массива. Текст программ в Delphi, в Паскаль. Текст программы поиска в базе данных. Кодирование материала. Изготовление реляционной базы данных.

    практическая работа [27,6 K], добавлен 11.10.2008

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

    реферат [6,6 K], добавлен 17.11.2002

  • Понятие баз данных и принципы проектирования информационных систем. Разработка программы для отслеживания финансовой стороны работы компании в среде Delphi 7. Создание таблиц и схемы данных. Разработка клиентского приложения и процедуры добавления данных.

    курсовая работа [1,4 M], добавлен 25.04.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.