Организация интерфейса для работы с базами данных

Автор работы: Пользователь скрыл имя, 22 Ноября 2011 в 11:12, дипломная работа

Описание

Пояснительная записка на 47 страниц, 9 рисунков, 5 приложений.
БАЗА ДАННЫХ, INTERBASE, ГРАФИЧЕСКИЙ ИНТЕРФЕЙС, BORLAND C++ BUILDER.
В ходе проделанной работы были рассмотрены реляционные базы данных InterBase. Была изучена история их возникновения и кратко рассмотрены основы создания баз данных в программе IBAdmin.
Также была рассмотрена история возникновения объектно-ориентированного языка С++. На основе платформы Borland C++ Builder 6.0 был разработан графический интерфейс, который позволяет сцепляться с базами данных Inter Base, просматривать их содержимое, выполнять запросы, представлять данные в виде дерева (только для баз данных, содержащих таблицу с административным делением территориальных типов).
Данную работу можно использовать в качестве учебно-методического пособия для изучения реляционных баз данных IBAdmin и написания интерфейса для доступа к ним. Написанную программу можно использовать в качестве наглядного примера.

Содержание

ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ 5
ВВЕДЕНИЕ 6
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 8
Историческая справка по базам данных 8
Реляционная база данных 11
Базы данных в IBAdmin 12
1.3.1. InterBase и область его применения 13
1.3.2. СУБД InterBase 14
1.3.3. Несколько слов о языке SQL 15
1.3.4. Типы данных, поддерживаемые Interbase 16
1.3.5. Домены 17
1.3.6. Генераторы, триггеры 17
1.3.7. Исключения 18
1.3.8. Управление доступом к данным в InterBase 19
Историческая справка по С++ 20
Основы визуального программирования интерфейса 22
2. ПРАКТИЧЕСКАЯ ЧАСТЬ 27
ЗАКЛЮЧЕНИЕ 39
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 41
ПРИЛОЖЕНИЕ А 42

Работа состоит из  1 файл

ВКР.doc

— 1.26 Мб (Скачать документ)

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

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

    1.   Базы данных в IBAdmin

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

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

       2. Средства разработки для этих  СУБД оптимизированы в отношении коллективной разработки сложных систем в рамках единой стратегической линии.

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

       4. Использование единого языка  доступа к данным (SQL) позволяет упростить переход от одной СУБД к другой.

       5. Обеспечивается масштабируемость  разрабатываемых систем.

       6. Поддерживается возможность работы, как в локальной, так и в глобальной сетях.

       Рассматриваемая здесь СУБД InterBase в полной мере удовлетворяет всем перечисленным требованиям. 

      1. InterBase и область его  применения.

       InterBase представляет собой полнофункциональный  SQL-сервер.

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

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

       • поиск в базе данных по заданным условиям;

       • сравнение, сортировку и предоставление данных в табличном виде;

       • изменение хранимых данных;

       • добавление новых данных в базу;

       • удаление данных из базы данных;

       • создание новых базы данных и структур данных;

       • выполнение программного кода на сервере;

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

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

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

       Отличительными  качествами InterBase являются:

       •высокая производительность и надежность сервера при минимальных требованиях к техническим средствам;

       •поддержка стандарта SQL-92, обеспечивающая переносимость приложений;

       •относительно низкая стоимость продукта;

       •простота установки и поддержки сервера;

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

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

      1. Базы  данных Interbase

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

      1. Несколько слов о языке SQL

       Так как Interbase — это сервер SQL, то понятно, что создавать, удалять и модифицировать как саму БД, так и ее объекты следует при помощи запросов SQL.

       Interbase поддерживает три диалекта SQL (1, 2 и 3): диалект 1 совместим с вариантом языка SQL, поддерживаемым Interbase 5.6 и более ранними версиями. Диалект 3 совместим со стандартом SQL-92 и обеспечивает ряд новых возможностей. Диалект 2 — отладочный: при его использовании выдаются предупреждающие сообщения, если встречаются возможности, характерные только для диалекта 3.  

      1. Типы  данных, поддерживаемые Interbase

       Interbase поддерживает десять типов данных. Ниже приведены их краткие характеристики и описание.

       Blob. Сокращение от Binary Large Object (большой двоичный объект). Этот тип предназначен для хранения больших объемов текстовой информации, графических данных, видеоклипов, оцифрованного звука и тому подобных данных. Какие именно данные хранятся в объекте Blob, можно узнать, проверив его подтип. Подтип объекта типа Blob может иметь одно из шести значений: 0 (неструктурированные данные или данные неопределенного типа), 1 (текст), 2 (двоичное языковое представление), 3 (список управления доступом), 4 (зарезервировано), 5 (закодированное описание метаданных таблицы), 6 (описание транзакций, в которых используется обращение к нескольким БД, и которые закончились неудачей). Подтипы от 2 до 6 — экзотические, обычно используются только подтипы 0 и 1. Можно определить и свои собственные подтипы.

       В этом случае подтип должен иметь отрицательное  значение (в пределах от -32 678 до -1). Все положительные значения подтипа зарезервированы для Interbase.

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

       CHAR(n) или CHARACTER(n). Строка фиксированной длины в n символов. Длина строки может быть от 1 до 32 767 байтов.

       DATE. Может содержать значение даты в диапазоне от 1 января 100 года нашей эры до 29 февраля 32 768 года. Размер — 32 бита.

       DECIMAL (точность, размер). Число с десятичной точкой. Общее количество цифр числа задается значением аргумента точность (десятичная точка в этом значении не учитывается), а количество цифр после десятичной точки указывается аргументом размер. Например, объявление DECIMAL(5,2) задает значение в формате ddd.dd. В данных сохраняется как минимум количество знаков, указанных аргументом точность. Если значение имеет меньшее количество знаков, сохраняется столько знаков, сколько указано. Аргумент точность может принимать значение от 1 до 18, в то время как аргумент размер может принимать значение от 0 до 18. Понятно, что значение аргумента размер должно быть меньше значения аргумента точность. В зависимости от конкретных значений объекты этого типа могут занимать в памяти 16, 32 или 64 бита.

       DOUBLE PRECISION. Число с плавающей точкой двойной точности, состоящее из 15 цифр. Диапазон возможных значений (по модулю): от 2.225х10-308 до 1.797х10308. Размер — 64 бита.

       FLOAT. Число с плавающей точкой , состоящее из 7 цифр. Диапазон возможных значений (по модулю): от 1.175х10-38 до 3.402х1038. Размер — 32 бита.

       INTEGER. Целое со знаком, занимающее в памяти 32 бита (длинное целое). Диапазон представляемых значений: от -2 147 483 648 до 2 147 483 647.

       NUMERIC (точность, размер). Соответствует типу DECIMAL, за исключением того, что в базе данных будет храниться столько цифр, сколько указано аргументом точность.

       SMALLINT. Целое со знаком, занимающее в памяти 16 бит. Диапазон представляемых значений: от -32 768 до 32 767.

       TIME. Значения этого типа представляют время от 00:00:00.0000 до 23:59:59.9999. Размер значений этого типа — 32 бита.

       TIMESTAMP. Достаточно распространенный тип данных в БД разных типов, представляющий одновременно и дату, и время. Размер — 64 бита. Диапазоны значений времени и даты соответствуют типам DATE и TIME, описанным ранее.

       VARCHAR(n), или CHAR VARYING(n), или CHARACTER VARYING(n). Строка переменной длины. В памяти будет сохранено ровно столько символов, сколько содержит текущее значение. Аргумент n может принимать значения от 1 до 32 765. 

      1. Домены (Domains)

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

      1. Генераторы  (Generators), триггеры (Triggers).

       Генератор (Generator) — это механизм, формирующий уникальное число, после чего это число вставляется (например, при помощи триггера) в указанное поле при операциях вставки или обновления записей

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

       В базе данных Interbase можно создать любое количество генераторов.

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

       Триггеры  позволяют:

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

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

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

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

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

      1. Исключения

       Для обработки ошибок в триггерах  используются исключения.

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

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

      1. Управление  доступом к данным в InterBase

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

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

       В ряде случаев уже выбранные данные нуждаются в дополнительной обработке. Часть такой обработки можно выполнить в рамках SQL запросов.

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

Информация о работе Организация интерфейса для работы с базами данных