Windows 10

Основные сведения о базах данных. Реферат: База данных

Основные сведения о базах данных. Реферат: База данных

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

В этой статье:

Что представляет собой база данных?

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

Компьютерная база данных - это хранилище объектов. В одной базе данных может быть больше одной таблицы. Например, система отслеживания складских запасов, в которой используются три таблицы, - это не три базы данных, а одна. В базе данных Access (если ее специально не настраивали для работы с данными или кодом, принадлежащими другому источнику) все таблицы хранятся в одном файле вместе с другими объектами, такими как формы, отчеты, макросы и модули. Для файлов баз данных, созданных в формате Access 2007 (который также используется в Access 2016, Access 2013 и Access 2010), используется расширение ACCDB, а для баз данных, созданных в более ранних версиях Access, - MDB. С помощью Access 2016, Access 2013, Access 2010 и Access 2007 можно создавать файлы в форматах более ранних версий приложения (например, Access 2000 и Access 2002–2003).

Использование Access позволяет:

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

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

    удалять информацию, например если артикул был продан или утилизирован;

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

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

Элементы базы данных Access

Ниже приведены краткие описания элементов стандартной базы данных Access.

Таблицы

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

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

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

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

Дополнительные сведения о таблицах см. в статье Общие сведения о таблицах .

Формы

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

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

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

Дополнительные сведения о формах см. в статье Формы .

Отчеты

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

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

Запросы

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

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

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

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

Дополнительные сведения о запросах см. в статье Знакомство с запросами .

Макросы

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

Дополнительные сведения о макросах см. в статье Общие сведения о программировании в Access .

Модули

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

Урок " Основные понятия БД "

Любой из нас, начиная с раннего детства, многократно сталкивался с «базами данных». Это - всевозможные спра­вочники (например, телефонный), энциклопедии и т. п. За­писная книжка - это тоже «база данных», которая есть у каждого из нас.

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

Например, база данных «Записная книжка» хранит информацию о людях, каждый из которых имеет фамилию, имя, телефон и так далее. Библиотечный каталог хранит информацию о книгах, каждая из которых имеет название, автора, год издания и так далее.

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

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

Иерархические базы данных

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

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

Например: иерархической базой данных является Каталог папок Windows , с которым можно работать, запустив Проводник. Верхний уровень занимает папка Рабочий стол. На втором уровне находятся папки Мой компьютер, Мои документы, Сетевое окружение и Корзина, которые являются потомками папки Рабочий стол, а между собой является близнецами. В свою очередь, папка Мой компьютер является предком по отношению к папкам третьего уровня - папкам дисков (Диск 3,5(А:), (С:), ( D :), (E :), (F :)) и системным папкам (Принтеры, Панель управления и др.)

Сетевые базы данных

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

Сетевой базой данных фактически является Всемирная пау mu н a глобальной компьютерной сети Интернет. Гиперссылки связывают между собой сотни миллионов документов в единую распределенную сетевую базу данных.

Табличные базы данных

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

Рассмотрим, например, базу данных: Телефонный справочник

Фамилия

Адрес

Телефон

Иванов В.В.

Серова, 5 12

4325345

Петров И.И.

Седова, 3-21

3454365

Сидоров С.С.

Мира, 33-17

3454354

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

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

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

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

Телефонный справочник

Имена полей

Фамилия

Адрес

Телефон

Запись

Иванов В.В.

Серова, 5 12

4325345

Запись

Петров И.И.

Седова, 3-21

3454365

Запись

Сидоров С.С.

Мира, 33-17

3454354

Ключевое

поле

Поле

Поле

Поле

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

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

    текстовый - тексты, содержащие до 255 символов;

    числовой - числа;

    дата/время - дата или время;

    денежный - числа в денежном формате;

    логический - значения Истина (Да) или Ложь (Нет);

    поле объекта OLE - изображение или рисунок

Поле каждого типа имеет свой набор свойств. Наиболее в ажными свойствами полей являются:

    размер поля - определяет максимальную длину тексто вого или числового поля;

    формат поля - устанавливает формат данных;

    обязательное поле - указывает на то, что данное поле обязательно надо заполнить

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

Назначение и основные функции

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

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

Системой управления базами данных является приложение Access , входящее в Microsoft Office .

Интерфейс программы Access

В Access используется стандартный для среды Windows & Office многооконный интерфейс, но в отличие от других приложений, не многодокументный. Единовременно может быть открыта только одна база данных , содержащая обязательное окно базы данных и окна для работы с объектами базы данных. В каждый момент времени одно из окон является активным и в нем курсором отмечается активный объект.

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

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

Объект ы в СУБД Access :

· Таблица. В базах данных вся информация хранится в двумерных таблицах. Это базовый объект БД, все остальные объекты создаются на основе существующих таблиц (производные объекты).

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

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

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

· Макросы. Макросы служат для автоматизации повторяющихся операций. Запись макроса производится так же, как в других приложениях, например как в приложении Word .

· Модули. Модули также служат для автоматизации работы с БД. Модули еще называют процедурами обработки событий и пишутся на языке VBA .

УПРАВЛІННЯ ПЕРСОНАЛОМ

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

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

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

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

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

По способу доступа к данным БД разделяются на БД с локальным и БД с сетевым (удаленным) доступом. Системы централизованных БД с сетевым доступом предполагают две основные архитектуры: Файл-сервер, Клиент-сервер.

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


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

При проектировании и эксплуатации БД к ней предъявляются следующие требования:

1. Адекватность отображения предметной области (полнота, целостность, непротиворечивость, актуальность данных).

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

3. Дружественность интерфейса.

4. Обеспечение секретности и конфиденциальности.

5. Обеспечение взаимной независимости программ и данных.

6. Обеспечение надежности БД; защита данных от случайного и преднамеренного разрушения; возможность быстрого и полного восстановления данных в случае сбоев в системе.

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

1. Анализ предметной области, ее описание, формулировка ограничений целостности.

2.Проектирование структуры БД: состава и структуры файлов БД, связей между ними.

3. Задание ограничений целостности при описании структуры БД и процедур обработки данных.

5. Защита данных: обеспечение порядка входа в систему; определение прав доступа пользователей к данным; выбор и создание программно-технических средств защиты данных; тестирование средств защиты данных; сбор статистики об использовании данных; обеспечение восстановления БД.

6. Анализ обращений пользователей к БД.

7. Работа над совершенствованием и динамическим развитием БД.

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

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

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

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

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

Федеральное агентство по образованию

Государственное Общеобразовательное Учреждение

Среднепрофессионального Обучения

«Тульский экономический колледж»

По дисциплине «Информатика»

На тему: «База данных. Понятие базы данных. Виды баз данных. Объекты для работы с базами данных. Типы данных в базах и таблицах Access. Основные элементы и понятия баз данных»

Подготовила студентка 2 курса

группы 216-БП

Храмова Анна

Проверил преподаватель:

Васильева И.В.

Щёкино,2007

С О Д Е Р Ж А Н И Е:

1. Введение…………………………………………...…………….……2

2. Понятие базы данных………………………………………………..3

3. Виды базы данных………………………………………….………4-5

4. Объекты для работы с базами данных…………………………...6-7

5. Типы данных в базах………………………………………………….8

6. Типы данных в таблицах Access……………………………………9

7. Основные элементы и понятия баз данных…………………..10-15

8. Тест…………………………………………………………….…16-17

9. Ответы на тест……………………………………………...…….…18

10. Вопросы для самопроверки………………………………..........19

11. Список используемой литературы……………………………….20

12. Презентация……………………………………………………21-33

13. Рецензия………………………………………………..…………..34

В В Е Д Е Н И Е:

Мы познакомились с работой Excel и знаем, что это приложение создано специально для решения задач обработки табличных данных.

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

Использование ЭВМ именно для решения этого класса задач становится всё более массовым явлением.

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

Основное понятие для подобного круга задач – база данных. Так называется файл или группа файлов стандартной структуры, служащая для хранения данных.

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

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

В настоящее время наиболее известными СУБД являются FOXPRO и ACCESS. Последняя входит в состав профессионального пакета MS Office 97.

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

Понятие базы данных

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

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

Виды БД:

1.Фактографическая – содержит краткую информацию об объектах некоторой системы в строго фиксированном формате;

2.Документальная – содержит документы самого разного типа: текстовые, графические, звуковые, мультимедийные;

3.Распределённая – база данных, разные части которой хранятся на различных компьютерах, объединённых в сеть;

4.Централизованная – база данных, хранящихся на одном компьютере;

5.Реляционная – база данных с табличной организацией данных.

Одно из основных свойств БД – независимость данных от программы, использующих эти данные.

Работа с базой данных требует решения различных задач, основные из них следующие:

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

Задачи этого списка называются стандартными.

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

База данных в разных системах имеет различную структуру.

В ПВЭМ обычно используются реляционные БД – в таких базах файл является по структуре таблицей. В ней столбцы называются полями, строки – записями.

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

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

Некоторые запросы могут представлять собой серьёзную задачу, для решения которой потребляется составлять сложную программу. Например, запрос к базе – автобусному расписанию: определить разницу в среднем интервале отправления автобусов из Ростова в Таганрог и из Ростова в Шахты.

Объекты для работы с базами данных

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

набор данных

источник данных

визуальные элементы управления

В нашем случае эта триада реализуется в виде:

Table

DataSource

DBGrid

Table подключается непосредственно к таблице в базе данных. Для этого нужно установить псевдоним базы в свойстве DataBaseName и имя таблицы в свойстве TableName, а затем активизировать связь: свойство Active = true.

Однако, поскольку Table является невизуальным компонентом, хотя связь с базой и установлена, пользователь не в состоянии увидеть какие – либо данные. Поэтому необходимо добавить визуальные компоненты, отображающие эти данные. В нашем случае это сетка DBGrid. Сетка сама по себе «не знает», какие данные ей нужно отображать, её нужно подключить к Table, что и делается через компонент – посредник DataSource.

А зачем нужен компонент – посредник? Почему бы сразу не подключаться к Table?

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

Приложения баз данных – нить, связывающая БД и пользователя:

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

Набор данных:

Table (таблица, навигационный доступ)

Query (запрос, реляционный доступ)

Визуальные компоненты:

Сетки DBGrid , DBCtrlGrid

Навигатор DBNavigator

Всяческие аналоги Lable , Edit и т.д.

Компоненты подстановки

Типы данных в базах

В Access можно определить следующие типы полей:

Текстовый – текстовая строка; максимальная длина задаётся параметром «размер», но не может быть больше 255

Поле МЕМО – текст длиной до 65535 символов

Числовой – в параметре «Размер поля» можно задать поле: байт, целое, дейсвительное и т.п.

Дата/время – поле, хранящее данные о времени.

Денежный – специальный формат для финансовых нужд, по сути являющийся числовым

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

Логический – да или нет, правда или ложь, включен или выключен

Объект OLE – в этом поле могут храниться документы, картинки, звуки и т.п. Поле является частным случаем BLOB – полей ( Binary Large Object ), встречающихся в различных базах данных

Подстановка

Типы данных в таблицах Access :

Текстовый

Поле МЕМО

Числовой

Дата\время

Денежный

Счётчик

Логический

Объект OLE

Не надо забывать про индексы.

Связывать таблицы.

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

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

Основные понятия и элементы баз данных

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

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

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

Согласно современным требованиям к базам данных, информация, содержащаяся в них, должна быть:

непротиворечивой (не должно быть данных, противоречащих друг другу);

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

целостной (все данные должны быть связаны, не должно быть ссылок на несуществующие в базе данные)

Реляционная модель баз данных была предложена Эдгаром Коддом в конце 70-х годов. В рамках этой модели база данных представляет собой набор таблиц, связанных друг с другом отношениями. При достаточной простоте (а значит, и удобстве реализации на компьютере) данная модель обладает гибкостью, позволяющей описывать сложно структурированные данные. Кроме того, для этой модели достаточно глубоко проработано теоретическое обоснование, что также даёт возможность эффективнее использовать компьютер при создании базы данных и работе с ней. В плане правил связи в реляционной модели реализуется отношение «один–ко–многим» связи между таблицами. Это значит, что одной записи в главной таблице соответствует несколько записей в подчинённой таблице (в том числе может не соответствовать ни одной записи). Другие типы связей: «один-к-одному», «много-к-одному» и «много-ко-многим» - можно свести к данному типу «один-ко-многим». Реляционные базы данных состоят из связанных таблиц.

Таблица представляет собой двумерный массив, в котором хранятся данные. Столбцы таблицы (в рамках принятых обозначений БД) называются полями, строки – записями. Количество полей таблицы фиксировано, количество записей – нет. Фактически таблица – нефиксированный массив записей с одинаковой структурой полей в каждой записи. Добавить в таблицу новую запись не составляет труда, а то время как добавление нового поля влечёт за собой рестрктуризацию всей таблицы и может вызвать определённые трудности. В качестве значений полей в записях могут храниться числа, строки, картинки и т.д. Таблицы баз данных хранятся на жёстком диске (на локальном компьютере или на сервере баз данных – в зависимости от типа БД). Одной таблице соответствуют обычно несколько файлов – один основной и несколько вспомогательных. Тонкости организации таблиц зависят от используемого формата (dBase, Paradox, InterBase, Microsoft Access и т.д.)

Ключ – поле или комбинация полей таблицы, значения в которых однозначно определяют запись. Ключ потому так и называется, что, имея значения ключевых полей, можно однозначно получить доступ к нужной записи. Таким образом, ключи чрезвычайно полезны для связи таблиц. Записывая значения ключа в отведённые поля подчинённой таблицы и тем самым, задавая ссылку, обеспечиваем связь двух записей – записи в главной таблице и записи в подчинённой таблице. В одной записи подчинённой таблицы может находиться и несколько ссылок на записи главной таблицы. Например, в школьном журнале может быть таблица – список дежурств, где в каждой записи содержатся фамилии и имена (ключ их двух полей) нескольких дежурных. Так осуществляется связь различных записей главной таблицы и реализуется достаточно сложная структура данных. В школьной практике в качестве ключевых полей используются имена и фамилии, но в БД лучше отводить специальные ключевые поля – индивидуальные номера (коды) записей. Это гарантированно уберегает от возможных проблем с однофамильцами. В школе же, где не требуется такая компьютерная чёткость, появление в одном классе двух учеников с одинаковыми именами и фамилиями – очень редкое событие, поэтому можно простить подобное техническое упущение. Кроме связывания, ключи могут использоваться для прямого доступа к записям, ускорения работы с таблицей.

Индекс – поле, так же, как и ключ, специально выделенное в таблице, данные в котором, однако, могут повторяться. Они также служат для ускорения доступа и, кроме того, для сортировки и выборок.

Нормальные формы были придуманы, скорее, для автоматизации процесса создания баз данных, нежели как руководство тем, кто создаёт их вручную (автоматическое проектирование больших баз данных может производиться с помощью специальных систем программ – средств (CASE). Реально при ручной разработке проектировщик сразу же задумывает необходимую структуру, планирует нужные таблицы, а не идёт от одной большой таблицы. Нормальные формы фактически формализуют интуитивно понятые требования к организации данных, помогая, прежде всего, избежать избыточного дублирования данных.

Первая нормальная форма:

информация в полях неделимая (к примеру, имя и фамилия должны быть разными полями, а не одним);

в таблице нет повторяющихся групп полей

Вторая нормальная форма:

выполнена первая форма;

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

Третья нормальная форма:

выполнена вторая форма

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

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

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

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

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

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

Корректная БД:

- неизбыточная;

- непротиворечивая;

- целостная

Реляционная БД:

- таблицы;

- связи между таблицами с помощью ключей

- поля (столбцы) – фиксированы;

- записи (строки) – легко добавляются и удаляются

- однозначно определяет запись

Ключи и индексы:

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

Нормальные формы:

- служат для борьбы с избыточностью данных;

- много требуют, но из самых благих побуждений

Способы доступа:

-навигационный;

- реляционный

Защита корректности БД:

- транзакции – техническая защита

- бизнес-правила – логическая защита

Т Е С Т

1.Модели баз данных:

А) коммерческие

Б) сетевые

В) объектно-ориентированные

Г) революционные

Д) реляционные

Е) интегральные

2.Виды базы данных:

А) документальные

Б) сетевые

В) графические

Г) реляционные

3.Какая из баз данных содержит документы самого разного типа?

А) распределённая

Б) централизованная

В) фактографическая

Г) документальная

4.Что может являться примером базы данных?

А) пешеход, стоящий на обочине дороги

Б) телефонный справочник

В) расписание уроков

Г) расписание движения поездов или автобусов

5. Что такое ключ?

А) ссылкаБ) кодовое словоВ) программаГ) поле или комбинация полей таблицы

6. Что будет выведено на экран в результате выполнения фрагмента программы?

M:= ‘биология’;
k:= ‘зоо’ + copy (m, 4, 5);
writeln (k);

А) зоологияБ) зооВ) биологияГ) логия 7.Набор данных содержит: А) навигатор DBNavigatorБ) TableВ) Query 8.Выберите верное утверждение: денежный тип полей… А) текстовая строкаБ) текст длиной до 65535 символовВ) специальный формат для финансовых нуждГ) автоинкретное поле 9.Основное требование к данным: А) потребность в хранении больших объёмов однотипной информацииБ) быстрое распространение информацииВ) возвратное удаление информацииГ) удобство доступа к данным и быстрое нахождение нужной информации по интересующему вопросу 10.Какой должна быть информация, находящаяся в требованиях к базам данных? А) целостнойБ) краткойВ) непротиворечивойГ) однотипной

Ответы на тест

Вопросы для самопроверки :

1. Что такое БД?

2. Что является классическим примером БД?

3. Приведите несколько примеров БД

4. Какой вид БД обычно используется в ПВЭМ?

5. Какие виды БД вы знаете?

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

7. Какие типы полей можно определить в Access?

8. Для чего нужен монопольный доступ к БД?

9. Что такое реляционная модель базы БД?

10. Сколько существует нормальных форм в БД? Перечислите их

11. Что такое транзакции?

Л И Т Е Р А Т У Р А :

1. Информатика. Учебное пособие для среднего профессионального образования (+CD)/Под общ. ред. И.А. Черноскутовой – СПб.: Питер, 2005. – 272 с.: ил. стр. 24 - 25

2. Информатика. Учебное пособие для студ. пед. вузов /А.В.Могилёв; Н.И.Пак, Е.К.Хённер; Под ред. Е.К.Хённера. – М., 1999. - 816 с стр. 185 - 187

3. Информатика. Учебник. – 3-е перераб. изд./Под ред. проф. Н.В.Макаровой. – М.: Финансы и статистика, 2000. – 768 с.: ил.

Р Е Ц Е Н З И Я

Давайте на пару минут забудем о современных технологиях и вспомним, как обрабатывались и хранились данные лет двадцать назад. В те времена наиболее популярными типами компьютеров были мэйнфреймы семейства IBM-360/370 (многие из вас, наверное, еще застали их отечественные аналоги серии ЕС, производившиеся странами СЭВ) и мини-ЭВМ типа DEC PDP-11 (у которых также был отечественный аналог - СМ-4/СМ-1420). Как правило, при работе с такими компьютерами использовались неинтеллектуальные терминалы, управляемые все тем же мэйнфреймом или мини-ЭВМ (о такой экзотике, как устройства считывания перфокарт и перфолент, как средства предоставления пользовательского интерфейса, мы, пожалуй, вспоминать не будем).

Надо сказать, обработка данных с помощью мэйнфреймов и мини-ЭВМ имела свои преимущества, в определенной степени утраченные позже, в эпоху персональных компьютеров и настольных СУБД. К ним, в частности, относились:

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

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

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

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

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

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

Еще одна проблема настольных СУБД заключается в возможности нарушения ссылочной целостности данных, так как единственным механизмом, контролирующим ее, является пользовательское приложение. Поэтому все пользовательские приложения должны содержать соответствующий код и доступ к файлам базы данных из любых других приложений должен быть запрещен. В наиболее популярных настольных СУБД (например, Microsoft Access, Corel Paradox) код, контролирующий стандартную ссылочную целостность, содержится в библиотеках, используемых всеми приложениями, работающими с этой базой данных, а сама база данных при этом может содержать описание правил ссылочной целостности.

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

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

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

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

Наиболее популярные настольные СУБД

На сегодняшний день известно более двух десятков форматов данных настольных СУБД, однако наиболее популярными, исходя из числа проданных копий, следует признать dBase, Paradox, FoxPro и Access. Из появившихся недавно СУБД следует также отметить Microsoft Data Engine - по существу серверную СУБД, представляющую собой «облегченную» версию Microsoft SQL Server, но предназначенную, тем не менее, для использования главным образом в настольных системах и небольших рабочих группах.

Сведения о производителях перечисленных выше СУБД представлены в следующей таблице.

СУБД Производитель URL
Visual dBase dBase, Inc http://www.dbase2000.com
Paradox Corel http://www.corel.com
Microsoft Access 2000 Microsoft http://www.microsoft.com
Microsoft FoxPro Microsoft http://www.microsoft.com
Microsoft Visual FoxPro Microsoft http://www.microsoft.com
Microsoft Visual FoxPro Microsoft http://www.microsoft.com
Microsoft Data Engine Microsoft http://www.microsoft.com

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

dBase и Visual dBase

Первая промышленная версия СУБД dBase - dBase II (принадлежащая тогда компании Ashton-Tate, приобретенной позже компанией Borland) появилась в начале 80-х годов. Благодаря простоте в использовании, нетребовательности к ресурсам компьютера и, что не менее важно, грамотной маркетинговой политике компании-производителя этот продукт приобрел немалую популярность, а с выходом следующих его версий - dBase III и dBase III Plus (1986 г.), оснащенных весьма комфортной по тем временам средой разработки и средствами манипуляции данными, быстро занял лидирующие позиции среди настольных СУБД и средств создания использующих их приложений.

Хранение данных в dBase основано на принципе «одна таблица - один файл» (эти файлы обычно имеют расширение *.dbf). MEMO-поля и BLOB-поля (доступные в поздних версиях dBase) хранятся в отдельных файлах (обычно с расширением *.dbt). Индексы для таблиц также хранятся в отдельных файлах. При этом в ранних версиях этой СУБД требовалась специальная операция реиндексирования для приведения индексов в соответствие с текущим состоянием таблицы.

Формат данных dBase является открытым, что позволило ряду других производителей заимствовать его для создания dBase-подобных СУБД, частично совместимых с dBase по форматам данных. Например, весьма популярная некогда СУБД FoxBase (разработанная Fox Software, Inc. и ныне принадлежащая Microsoft) использовала формат данных dBase для таблиц, однако форматы для хранения MEMO-полей и индексов были своими собственными, несовместимыми с dBase. Очень популярное в начале 90-х годов (и кое-где применяемое до сих пор) средство разработки Clipper компании Nantucket Corp (приобретенной впоследствии компанией Computer Associates) манипулировало как с данными формата dBase III (включая индексные файлы и файлы для MEMO-полей), так и с индексными файлами собственного формата.

Помимо популярного формата данных dBase является родоначальником и некогда популярного семейства языков программирования, получившего называние xBase. Все языки этого семейства, использующиеся и в FoxBase, и в Clipper, и в некоторых более поздних средствах разработки, таких как канувший в Лету CA Visual Objects фирмы Computer Associates, содержат сходный набор команд для манипуляции данными и являются по существу интерпретируемыми языками. В роли интерпретатора команд xBase выступает обычно либо среда разработки приложения на этом языке, либо среда времени выполнения, которую можно поставлять вместе с приложением. Отметим, что для скрытия исходного текста xBase-приложения подобные СУБД обычно содержат утилиты для псевдокомпиляции кода, который затем поставляется вместе со средой времени выполнения. В случае Clipper среда времени выполнения содержится в самом исполняемом файле (и сам Clipper формально считается компилятором), но тем не менее этот язык по существу также является интерпретируемым.

Обладавшие немалым сходством в синтаксисе и поддерживаемом наборе команд во времена широкого применения DOS, языки семейства xBase, тем не менее, имеют немало различий, особенно в поздних версиях «наследников», использовавших их СУБД. Как правило, все они имеют собственные объектные расширения, и поэтому в настоящее время говорить об их совместимости между собой практически не приходится.

Отметим, однако, что для работы с данными формата dBase (или иных dBase-подобных СУБД) совершенно необязательно пользоваться диалектами xBase. Доступ к этим данным возможен с помощью ODBC API (и соответствующих драйверов) и некоторых других механизмов доступа к данным (например, Borland Database Engine, некоторых библиотек других производителей типа СodeBase фирмы Sequenter), и это позволяет создавать приложения, использующие формат данных dBase, практически с помощью любого средства разработки, поддерживающего один из этих механизмов доступа к данным.

После покупки dBase компанией Borland этот продукт, получивший впоследствии название Visual dBase, приобрел набор дополнительных возможностей, характерных для средств разработки этой компании и для имевшейся у нее другой настольной СУБД - Paradox. Среди этих возможностей были специальные типы полей для графических данных, поддерживаемые индексы, хранение правил ссылочной целостности внутри самой базы данных, а также возможность манипулировать данными других форматов, в частности серверных СУБД, за счет использования BDE API и SQL Links.

В настоящее время Visual dBase принадлежит компании dBase, Inc. Его последняя версия - Visual dBase 7.5 имеет следующие возможности:

  • Средства манипуляции данными dBase и FoxPro всех версий.
  • Средства публикации данных в Internet и создания Web-клиентов.
  • Ядро доступа к данным Advantage Database Server фирмы Extended Systems и ODBC-драйвер для доступа к данным этой СУБД.
  • Средства публикации отчетов в Web.
  • Средства генерации исполняемых файлов и дистрибутивов.

В настоящее время к Visual dBase в качестве дополнения может быть приобретен компонент dConnections, позволяющий осуществить доступ к данным Oracle, Sybase, Informix, MS SQL Server, DB2, InterBase из Visual dBase 7.5 и приложений, созданных с его помощью.

Компания dBase, Inc объявила также о проекте dBASE Open Source, целью которого является разработка сообществом пользователей dBase новых компонентов и классов с целью включения их в последующую версию dBase (получившую название dBase 2000). Иными словами, имеется тенденция превращения dBase (или его частей) в некоммерческий продукт с доступными исходными текстами.

Paradox

Paradox был разработан компанией Ansa Software, и первая его версия увидела свет в 1985 году. Этот продукт был впоследствии приобретен компанией Borland. С июля 1996 года он принадлежит компании Corel и является составной частью Corel Office Professional.

В конце 80-х - начале 90-х годов Paradox, принадлежавший тогда компании Borland International, был весьма популярной СУБД, в том числе и в нашей стране, где он одно время занимал устойчивые позиции на рынке средств разработки настольных приложений с базами данных.

Принцип хранения данных в Paradox сходен с принципами хранения данных в dBase - каждая таблица хранится в своем файле (расширение *.db), MEMO- и BLOB-поля хранятся в отдельном файле (расширение *.md), как и индексы (расширение *.px).

Однако, в отличие от dBase, формат данных Paradox не является открытым, поэтому для доступа к данным этого формата требуются специальные библиотеки. Например, в приложениях, написанных на C или Pascal, использовалась некогда популярная библиотека Paradox Engine, ставшая основой Borland Database Engine. Эта библиотека используется ныне в приложениях, созданных с помощью средств разработки Borland (Delphi, C++Builder), в некоторых генераторах отчетов (например, Crystal Reports) и в самом Paradox. Существуют и ODBC-драйверы к базам данных, созданным различными версиями этой СУБД.

Отметим, однако, что отсутствие «открытости» формата данных имеет и свои достоинства. Так как в этой ситуации доступ к данным осуществляется только с помощью «знающих» этот формат библиотек, простое редактирование подобных данных по сравнению с данными открытых форматов типа dBase существенно затруднено. В этом случае возможны такие недоступные при использовании «открытых» форматов данных сервисы, как защита таблиц и отдельных полей паролем, хранение некоторых правил ссылочной целостности в самих таблицах - все эти сервисы предоставляются Paradox, начиная с первых версий этой СУБД.

По сравнению с аналогичными версиями dBase ранние версии Paradox обычно предоставляли разработчикам баз данных существенно более расширенные возможности, такие как использование деловой графики в DOS-приложениях, обновление данных в приложениях при многопользовательской работе, визуальные средства построения запросов, на основе интерфейса QBE - Query by Example (запрос по образцу), средства статистического анализа данных, а также средства визуального построения интерфейсов пользовательских приложений с автоматической генерацией кода на языке программирования PAL (Paradox Application Language).

Windows-версии СУБД Paradox, помимо перечисленных выше сервисов, позволяли также манипулировать данными других форматов, в частности dBase и данными, хранящимися в серверных СУБД. Такую возможность пользователи Paradox получили благодаря использованию библиотеки Borland Database Engine и драйверов SQL Links. Это позволило использовать Paradox в качестве универсального средства управления различными базами данных (существенно облегченная версия Paradox 7 под названием Database Desktop по-прежнему входит в состав Borland Delphi и Borland C++Builder именно с этой целью). Что же касается базового формата данных, используемого в этом продукте, то он обладает теми же недостатками, что и все форматы данных настольных СУБД, и поэтому при возможности его стараются заменить на серверную СУБД, даже сохранив сам Paradox как средство разработки приложений и манипуляции данными.

Текущая версия данной СУБД - Paradox 9, поставляется в двух вариантах - Paradox 9 Standalone Edition и Paradox 9 Developer’s Edition. Первый из них предназначен для использования в качестве настольной СУБД и входит в Corel Office Professional, второй - в качестве как настольной СУБД, так и средства разработки приложений и манипуляции данными в серверных СУБД. Обе версии содержат:

  • Средства манипуляции данными Paradox и dBase.
  • Средства создания форм, отчетов и приложений.
  • Средства визуального построения запросов.
  • Средства публикации данных и отчетов в Internet и создания Web-клиентов.
  • Corel Web-сервер.
  • ODBC-драйвер для доступа к данным формата Paradox из Windows-приложений.
  • Средства для доступа к данным формата Paradox из Java-приложений.

Помимо этого Paradox 9 Developer’s Edition содержит:

  • Run-time-версию Paradox для поставки вместе с приложениями.
  • Средства создания дистрибутивов.
  • Драйверы SQL Links для доступа к данным серверных СУБД.

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

Microsoft FoxPro и Visual FoxPro

FoxPro ведет свое происхождение от настольной СУБД FoxBase фирмы Fox Software. Разрабатывая FoxBase в конце 80-х годов, эта компания преследовала цель создать СУБД, функционально совместимую с dBase с точки зрения организации файлов и языка программирования, но существенно превышающую ее по производительности. Одним из способов повышения производительности являлась более эффективная организация индексных файлов, нежели в dBase, - по формату индексных файлов эти две СУБД несовместимы между собой.

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

Впоследствии этот продукт был приобретен компанией Microsoft. Его последние версии (начиная с версии 3.0, выпущенной в 1995 году) получили название Visual FoxPro. С каждой новой версией этот продукт оказывался все более и более интегрирован с другими продуктами Microsoft, в частности с Microsoft SQL Server, - в состав Visual FoxPro в течение нескольких последних лет входят средства переноса данных FoxPro в SQL Server и средства доступа к данным этого сервера из Visual FoxPro и созданных с его помощью приложений. Хотя формат данных FoxPro также модифицировался с каждой новой версией, приобретая такие возможности, как хранение правил ссылочной целостности и некоторых бизнес-правил в самой базе данных, миграции приложений Visual FoxPro на серверные платформы уделялось значительно большее внимание.

Последняя версия этого продукта - Visual FoxPro 6.0, доступна и отдельно, и как составная часть Microsoft Visual Studio 6.0. Отличительной особенностью этой настольной СУБД от двух рассмотренных выше является интеграция этого продукта с технологиями Microsoft, в частности поддержка COM (Component Object Model - компонентная объектная модель, являющаяся основой функционирования 32-разрядных версий Windows и организации распределенных вычислений в этой операционной системе), интеграция с Microsoft SQL Server, возможности создания распределенных приложений, основанных на концепции Windows DNA (Distributed interNet Applications).

Visual Fox Pro 6.0 предоставляет следующие возможности:

  • Средства публикации данных в Internet и создания Web-клиентов.
  • Средства создания ASP-компонентов и Web-приложений.
  • Средства создания COM-объектов и объектов для Microsoft Transaction Server, позволяющих создавать масштабируемые многозвенные приложения для обработки данных.
  • Средства доступа к данным серверных СУБД, базирующиеся на использовании OLE DB (набор COM-интерфейсов, позволяющий осуществить унифицированный доступ к данным из разнообразных источников, в том числе из нереляционных баз данных и иных источников, например Microsoft Exchange).
  • Средства доступа к данным Microsoft SQL Server и Oracle, включая возможность создания и редактирования таблиц, триггеров, хранимых процедур
  • Средства отладки хранимых процедур Microsoft SQL Server.
  • Средство визуального моделирования компонентов и объектов, являющиеся составными частями приложения - Visual Modeller.
  • Средство для управления компонентами приложений, позволяющее осуществлять их повторное использование.

Итак, тенденции развития этого продукта очевидны: из настольной СУБД Visual FoxPro постепенно превращается в средство разработки приложений в архитектуре «клиент/сервер» и распределенных приложений в архитектуре Windows DNA. Впрочем, эти тенденции в определенной степени характерны для всех наиболее популярных настольных СУБД - мы уже убедились, что и dBase, и Paradox также позволяют осуществлять доступ к наиболее популярным серверным СУБД.

Microsoft Access

Первая версия СУБД Access появилась в начале 90-х годов. Это была первая настольная реляционная СУБД для 16-разрядной версии Windows. Популярность Access значительно возросла после включения этой СУБД в состав Microsoft Office.

В отличие от Visual FoxPro, фактически превратившегося в средство разработки приложений, Access ориентирован в первую очередь на пользователей Microsoft Office, в том числе и не знакомых с программированием. Это, в частности, проявилось в том, что вся информация, относящаяся к конкретной базе данных, а именно таблицы, индексы (естественно, поддерживаемые), правила ссылочной целостности, бизнес-правила, список пользователей, а также формы и отчеты хранятся в одном файле, что в целом удобно для начинающих пользователей.

Последняя версия этой СУБД - Access 2000 входит в состав Microsoft Office 2000 Professional и Premium, а также доступна как самостоятельный продукт. В состав Access 2000 входят:

  • Средства манипуляции данными Access и данными, доступными через ODBC (последние могут быть «присоединены» к базе данных Access).
  • Средства создания форм, отчетов и приложений; при этом отчеты могут быть экспортированы в формат Microsoft Word или Microsoft Excel, а для создания приложений используется Visual Basic for Applications, общий для всех составных частей Microsoft Office.
  • Средства публикации отчетов в Internet.
  • Средства создания интерактивных Web-приложений для работы с данными (Data Access Pages).
  • Средства доступа к данным серверных СУБД через OLE DB.
  • Средства создания клиентских приложений для Microsoft SQL Server.
  • Средства администрирования Microsoft SQL Server.

Поддержка COM в Access выражается в возможности использовать элементы управления ActiveX в формах и Web-страницах, созданных с помощью Access. В отличие от Visual FoxPro создание COM-серверов с помощью Access не предполагается.

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

Помимо манипуляции данными Microsoft SQL Server, Access 2000 позволяет также в качестве хранилища данных использовать Microsoft Data Engine (MSDE), представляющий собой по существу настольный сервер баз данных, совместимый с Microsoft SQL Server. Об этом продукте, относительно новом по сравнению с остальными, рассмотренными в данном обзоре, речь пойдет в следующем разделе данной статьи.

Microsoft Data Engine

MSDE представляет собой СУБД, базирующуюся на технологиях Microsoft SQL Server, но предназначенную для использования в настольных системах или в сетевых приложениях с объемом данных до 2 Гбайт и небольшим количеством пользователей. По существу MSDE является облегченной версией Microsoft SQL Server, не содержащей средств администрирования, и к настольным СУБД может быть отнесена весьма условно.

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

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

MSDE входит в состав Microsoft Office 2000 Premium или Developer, а также доступна на Web-сайте Microsoft для зарегистрированных пользователей Visual Studio 6.0 Professional, Enterprise Edition либо любого из средств разработки, являющегося частью Visual Studio 6.0 Professional или Enterprise Edition. MSDE может свободно распространяться в составе приложений, созданных с помощью любого из средств разработки, входящего в состав Visual Studio 6.0 или Office 2000 Developer.

Заключение

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

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

Помимо этого все современные СУБД, за исключением Corel Paradox, в качестве альтернативы собственному формату данных позволяют использовать для создания настольных приложений облегченные серверы баз данных, предназначенные для использования на одном компьютере или в рамках небольшой рабочей группы. Иными словами, история развития настольных СУБД отражает современные тенденции развития информационных систем, такие как создание распределенных систем с использованием Internet или Intranet, применение средств быстрой разработки приложений и массовый перенос приложений, использующих базы данных, включая настольные приложения, в архитектуру «клиент/сервер».

Следующая статья данного цикла будет посвящена архитектуре «клиент/сервер» и серверным СУБД, таким как IB Database, Microsoft SQL Server, Oracle, Sybase и Informix.

КомпьютерПресс 4"2000