Оглавление
Введение……………………………………………………………….…2
Базы данных………………………………………………………….….3
Виды моделей данных………………………………………………….6
Понятие информационного объекта………………………………….7
Нормализация отношений……………………………………………..8
Типы связей……………………………………………………………...10
Функциональные возможности СУБД……………………………….11
Информационная модель СУБД………………………………………24
Краткая характеристика программного обеспечения,
используемого при создании СУБД…………………………………..32
Принципы организации данных, лежащие в основе современных
СУБД……………………………………………………………………...34
Современные технологии, используемые в работе с данными…...35
Список литературы……………………………………………………..37
Введение
Современная жизнь немыслима без эффективного управления. Важной категорией являются системы обработки информации, от которых во многом зависит эффективность работы любого предприятия ли учреждения. Такая система должна: обеспечивать получение общих и/или детализированных отчетов по итогам работы; позволять легко определять тенденции изменения важнейших показателей; обеспечивать получение информации, критической по времени, без существенных задержек; выполнять точный и полный анализ данных.
Современные СУБД в основном являются приложениями Windows, так как данная среда позволяет более полно использовать возможности персональной
ЭВМ, нежели среда DOS. Снижение стоимости высокопроизводительных ПК обусловил не только широкий переход к среде Windows, где разработчик программного обеспечения может в меньше степени заботиться о распределении ресурсов, но также сделал программное обеспечение ПК в целом и СУБД в частности менее критичными к аппаратным ресурсам ЭВМ.
Среди наиболее ярких представителей систем управления базами данных можно отметить: Lotus Approach, Microsoft Access, Borland dBase, Borland
Paradox, Microsoft Visual FoxPro, Microsoft Visual Basic, а также баз данных Microsoft SQL Server и Oracle, используемые в приложениях, построенных по технологии «клиент-сервер». Фактически, у любой современной СУБД существует аналог, выпускаемый другой компанией, имеющий аналогичную область применения и возможности, любое приложение способно работать со многими форматами представления данных, осуществлять экспорт и импорт данных благодаря наличию большого числа конвертеров.
Общепринятыми, также, являются технологи, позволяющие использовать возможности других приложений, например, текстовых процессоров, пакетов построения графиков и т.п., и встроенные версии языков высокого уровня
(чаще – диалекты SQL и/или VBA) и средства визуального программирования интерфейсов разрабатываемых приложений. Поэтому уже не имеет существенного значения на каком языке и на основе какого пакета написано конкретное приложение, и какой формат данных в нем используется. Более того, стандартом «де-факто» стала «быстрая разработка приложений» или RAD
(от английского Rapid Application Development), основанная на широко декларируемом в литературе «открытом подходе», то есть необходимость и возможность использования различных прикладных программ и технологий для разработки более гибких и мощных систем обработки данных. Поэтому в одном ряду с «классическими» СУБД все чаще упоминаются языки программирования
Visual Basic 4.0 и Visual C++, которые позволяют быстро создавать необходимые компоненты приложений, критичные по скорости работы, которые трудно, а иногда невозможно разработать средствами «классических» СУБД.
Современный подход к управлению базами данных подразумевает также широкое использование технологии «клиент-сервер».
Таким образом, на сегодняшний день разработчик не связан рамками какого-либо конкретного пакета, а в зависимости от поставленной задачи может использовать самые разные приложения. Поэтому, более важным представляется общее направление развития СУБД и других средств разработки приложений в настоящее время.
БАЗЫ ДАННЫХ
Общие положения
Цель любой информационной системы — обработка данных об объектах реального мира. В широком смысле слова база данных — это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области. Под предметной областью принято понимать часть реального мира, подлежащего изучению для организации управления и в конечном счете автоматизации, например, предприятие, вуз и т д.
Создавая базу данных, пользователь стремится упорядочить информацию по
различным признакам и быстро извлекать выборку с произвольным сочетанием
признаков. Сделать это возможно, только если данные структурированы.
Структурирование — это введение соглашений о способах представления данных.
Неструктурированными называют данные, записанные, например, в текстовом файле.
Пользователями базы данных могут быть различные прикладные программы, программные комплексы, а также специалисты предметной области, выступающие в роли потребителей или источников данных, называемые конечными пользователями.
В современной технологии баз данных предполагается, что создание базы данных, ее поддержка и обеспечение доступа пользователей к ней осуществляются централизованно с помощью специального программного инструментария — системы управления базами данных.
База данных (БД) — это поименованная совокупность структурированных данных, относящихся к определенной предметной области.
Система управления базами данных (СУБД) — это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
Централизованный характер управления данными в базе данных предполагает необходимость существования некоторого лица (группы лиц), на которое возлагаются функции администрирования данными, хранимыми в базе.
Классификация баз данных
По технологии обработки данных базы данных подразделяются на централизованные и распределенные.
Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная система является компонентом сети ЭВМ, возможен распределенный доступ к такой базе. Такой способ использования баз данных часто применяют в локальных сетях ПК.
Распределенная база данных состоит из нескольких, возможно
пересекающихся или даже дублирующих друг друга частей, хранимых в различных
ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью
системы управления распределенной базой данных (СУРБД).
По способу доступа к данным базы данных разделяются на базы данных с локальным доступом и базы данных с удаленным (сетевым) доступом.
Системы централизованных баз данных с сетевым доступом предполагают
различные архитектуры подобных систем;
• файл-сервер;
• клиент-сервер.
Файл-сервер. Архитектура систем БД с сетевым доступом предполагает
выделение одной из машин сети в качестве центральной (сервер файлов). На
такой машине хранится совместно используемая централизованная БД. Все
другие машины сети выполняют функции рабочих станций, с помощью которых
поддерживается доступ пользовательской системы к централизованной базе
данных. Файлы базы данных в соответствии с пользовательскими запросами
передаются на рабочие станции, где в основном и производится обработка. При
большой интенсивности доступа к одним и тем же данным производительность
информационной системы падает. Пользователи могут создавать также на
рабочих станциях локальные БД, которые используются ими монопольно.
Клиент-сервер. В этой концепции подразумевается, что помимо хранения
централизованной базы данных центральная машина (сервер базы данных) должна
обеспечивать выполнение основного объема обработки данных. Запрос на
данные, выдаваемый клиентом (рабочей станцией), порождает поиск и
извлечение данных на сервере. Извлеченные данные (но не файлы)
транспортируются по сети от сервера к клиенту. Спецификой архитектуры
клиент-сервер является использование языка запросов SOL.
Структурные элементы базы данных
Понятие базы данных тесно связано с такими понятиями структурных элементов, как поле, запись, файл (таблица).
Поле — элементарная единица логической организации данных, которая
соответствует неделимой единице информации — реквизиту. Для описания поля
используются следующие характеристики: имя, например. Фамилия, Имя, Отчество, Дата рождения; тип, например, символьный, числовой, календарный; длина, например, 15 байт, причем будет определяться максимально
возможным количеством символов; точность для числовых данных, например два десятичных знака для
отображения дробной части числа.
Запись — совокупность логически связанных полей. Экземпляр записи —
отдельная реализация записи, содержащая конкретные значения ее полей.
Файл (таблица) — совокупность экземпляров записей одной структуры.
В структуре записи файла указываются поля, значения которых являются
ключами первичными (ПК), которые идентифицируют экземпляр записи, и
вторичными (ВК), которые выполняют роль поисковых или группировочных
признаков (по значению вторичного ключа можно найти несколько записей).
ВИДЫ МОДЕЛЕЙ ДАННЫХ
Общие положения
Ядром любой базы данных является модель данных. Модель данных представляет
собой множество структур данных, ограничений целостности и операций
манипулирования данными. С помощью модели данных могут быть представлены
объекты предметной области и взаимосвязи между ними.
Модель данных — совокупность структур данных и операций их обработки.
СУБД основывается на использовании иерархической, сетевой или реляционной
модели, на комбинации этих моделей или на некотором их подмножестве [I].
Рассмотрим три основных типа моделей данных: иерархическую, сетевую и
реляционную.
Иерархическая модель данных
Иерархическая структура представляет совокупность элементов, связанных между собой по определенным правилам. Объекты, связанные иерархическими отношениями, образуют ориентированный граф (перевернутое дерево).
К основным понятиям иерархической структуры относятся: уровень, элемент
(узел), связь. Узел — это совокупность атрибутов данных, описывающих
некоторый объект. На схеме иерархического дерева узлы представляются
вершинами графа. Каждый узел на более низком уровне связан только с одним
узлом, находящимся на более высоком уровне. Иерархическое дерево имеет
только одну вершину (корень дерева), не подчиненную никакой другой вершине
и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные)
узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в
базе данных определяется числом корневых записей.
К каждой записи базы данных существует только один (иерархический) путь от корневой записи.
Сетевая модель данных
В сетевой структуре при тех же основных понятиях (уровень, узел, связь) каждый элемент может быть связан с любым другим элементом.
Реляционная модель данных
Понятие реляционный (англ. relation — отношение) связано с разработками известного американского специалиста в области систем баз данных Е. Кодда.
Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных
таблиц. Каждая реляционная таблица представляет собой двумерный массив и
обладает следующими свойствами:
. каждый элемент таблицы — один элемент данных;
. все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;
. каждый столбец имеет уникальное имя;
. одинаковые строки в таблице отсутствуют;
. порядок следования строк и столбцов может быть произвольным.
Отношения представлены в виде таблиц, строки которых соответствуют кортежам
или записям, а столбцы — атрибутам отношений, доменам, полям.
Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом (ключевым полем). Если записи однозначно определяются значениями нескольких полей, то такая таблица базы данных имеет составной ключ.
Чтобы связать две реляционные таблицы, необходимо ключ первой таблицы ввести в состав ключа второй таблицы (возможно совпадение ключей); в противном случае нужно ввести в структуру первой таблицы внешний ключ — ключ второй таблицы.
ПОНЯТИЕ ИНФОРМАЦИОННОГО ОБЪЕКТА
Информационный объект — это описание некоторой сущности (реального объекта,
явления, процесса, события) в виде совокупности логически связанных
реквизитов (информационных элементов). Такими сущностями для информационных
объектов могут служить: цех, склад, материал, вуз, студент, сдача экзаменов
и т.д.
Информационный объект определенного реквизитного состава и структуры
образует класс (тип), которому присваивается уникальное имя (символьное
обозначение), например Студент, Сессия, Стипендия.
Информационный объект имеет множество реализации — экземпляров, каждый из
которых представлен совокупностью конкретных значений реквизитов и
идентифицируется значением ключа (простого — один реквизит или составного —
несколько реквизитов). Остальные реквизиты информационного объекта являются
описательными. При этом одни и те же реквизиты в одних информационных
объектах могут быть ключевыми, а в других -описательными. Информационный
объект может иметь несколько ключей.
НОРМАЛИЗАЦИЯ ОТНОШЕНИЙ
Понятие нормализации отношений
Одни и те же данные могут группироваться в таблицы (отношения) различными способами, т.е. возможна организация различных наборов отношений взаимосвязанных информационных объектов. Группировка атрибутов в отношениях должна быть рациональной, т.е. минимизирующей дублирование данных и упрощающей процедуры их обработки и обновления.
Определенный набор отношений обладает лучшими свойствами при включении,
модификации, удалении данных, чем все остальные возможные наборы отношений,
если он отвечает требованиям нормализации отношений.
Нормализация отношений — формальный аппарат ограничений на формирование
отношений (таблиц), который позволяет устранить дублирование, обеспечивает
непротиворечивость хранимых в базе данных, уменьшает трудозатраты на
ведение (ввод, корректировку) базы данных.
Выделены три нормальные формы отношений и предложен механизм, позволяющий любое отношение преобразовать к третьей (самой совершенной) нормальной форме.
Первая нормальная форма
Отношение называется нормализованным или приведенным к первой нормальной форме, если все его атрибуты простые (далее неделимы). Преобразование отношения к первой нормальной форме может привести к увеличению количества реквизитов (полей) отношения и изменению ключа.
Например, отношение Студент = (Номер, Фамилия, Имя, Отчество, Дата,
Группа) наводится в первой нормальной форме.
Вторая нормальная форма
Чтобы рассмотреть вопрос приведения отношений ко второй нормальной форме,
необходимо дать пояснения к таким понятиям, как функциональная зависимость
и полная функциональная зависимость.
Описательные реквизиты информационного объекта логически связаны с общим
для них ключом, эта связь носит характер функциональной зависимости
реквизитов.
Функциональная зависимость реквизитов — зависимость, при которой экземпляре
информационного объекта определенному значению ключевого реквизита
соответствует только одно значение описательного реквизита.
Такое определение функциональной зависимости позволяет при анализе всех
взаимосвязей реквизитов предметной области выделить самостоятельные
информационные объекты.
В случае составного ключа вводится понятие функционально полной
зависимости.
Функционально полная зависимость не ключевых атрибутов заключается в том,
что каждый не ключевой атрибут функционально зависит от ключа, но не
находится в функциональной зависимости ни от какой части составного ключа.
Отношение будет находиться во второй нормальной форме, если оно находится в
первой нормальной форме, и каждый не ключевой атрибут функционально полно
зависит от составного ключа.
Третья нормальная форма
Понятие третьей нормальной формы основывается на понятии нетранзитивной
зависимости.
Транзитивная зависимость наблюдается в том случае, если один из двух
описательных реквизитов зависит от ключа, а другой описательный реквизит
зависит от первого описательного реквизита.
Отношение будет находиться в третьей нормальной форме, если оно находится во второй нормальной форме, и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
Для устранения транзитивной зависимости описательных реквизитов необходимо провести "расщепление" исходного информационного объекта. В результате расщепления часть реквизитов удаляется из исходного информационного объекта и включается в состав других (возможно, вновь созданных) информационных объектов.
ТИПЫ СВЯЗЕЙ
Все информационные объекты предметной области связаны между собой.
Различаются связи нескольких типов, для которых введены следующие
обозначения:
. один к одному (1:1);
. один ко многим (1 : М);
. многие ко многим (М : М).
Связь один к одному (1:1) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра информационного объекта В и наоборот.
При связи один ко многим (1:М) одному экземпляру информационного объекта
А соответствует 0, 1 или более экземпляров объекта В, но каждый экземпляр
объекта В связан не более чем с 1 экземпляром объекта А. Графически данное
соответствие имеет вид.
Связь многие ко многим (М:М) предполагает, что в каждый момент времени
одному экземпляру информационного объекта А соответствует 0, 1 или более
экземпляров объекта В и наоборот.
Архитектура СУБД
Базы данных и программные средства их создания и ведения (СУБД) имеют
многоуровневую архитектуру.
Различают концептуальный, внутренний и внешний уровни представления данных баз данных, которым соответствуют модели аналогичного назначения,
Концептуальный уровень соответствует логическому аспекту представления данных предметной области в интегрированном виде. Концептуальная модель состоит из множества экземпляров различных типов данных, структурированных в соответствии с требованиями СУБД к логической структуре базы данных.
Внутренний уровень отображает требуемую организацию данных в среде
хранения и соответствует физическому аспекту представления данных.
Внутренняя модель состоит из отдельных экземпляров записей, физически
хранимых во внешних носителях.
Внешний уровень поддерживает частные представления данных, требуемые
конкретным пользователям. Внешняя модель является подмножеством
концептуальной модели. Возможно пересечение внешних моделей по данным.
Частная логическая структура данных для отдельного приложения (задачи) или
пользователя соответствует внешней модели или подсхеме БД. С помощью
внешних моделей поддерживается санкционированный доступ к данным БД
приложений (ограничен состав и структура данных концептуальной модели БД
доступных в приложении, а также заданы допустимые режимы обработки этих
данных: ввод, редактирование, удаление, поиск).
Появление новых или изменение информационных потребностей существующих
приложений требуют определения для них корректных внешних моделей, при этом
на уровне концептуальной и внутренней модели данных изменений не
происходит. Изменения в концептуальной модели, вызванные появлением новых
видов данных или изменением и структур, могут затрагивать не все
приложения, т.е. обеспечивается определенная независимость программ от
данных. Изменения в концептуальной модели должны отражаться и внутренней
модели, и при неизменной концептуальной модели возможна самостоятельна
модификация внутренней модели БД с целью улучшения ее характеристик (время
доступа данным, расхода памяти внешних устройств и др.). Таким образом, БД
реализует принцип относительной независимости логической и физической
организации данных.
Понятие информационно-логической модели
Проектирование базы данных состоит в построении комплекса взаимосвязанных моделей данных.
Важнейшим этапом проектирования базы данных является разработка
инфологической (информационно-логической) модели предметной области, не
ориентированной на СУБД. В инфологической модели средствами структур данных
в интегрированном виде отражают состав и структуру данных, а также
информационные потребности приложение (задач и запросов).
Информационно-логическая (мифологическая) модель предметной области
отражает предметную область в виде совокупности информационных объектов и
их структурных связей.
Инфологическая модель предметной области строится первой. Предварительная
инфологическая модель строится еще на пред проектной стадии и затем
уточняется на более поздних стадиях проектирования баз данных. Затем на ее
основе строятся концептуальная (логическая), внутренняя (физическая) и
внешняя модели.
ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ СУБД
Обзор СУБД
Системой управления базами данных называют программную систему, предназначенную для создания на ЭВМ общей базы данных, используемой для решения множества задач. Подобные системы служат для поддержания базы данных в актуальном состоянии и обеспечивают эффективный доступ пользователей к содержащимся в ней данным в рамках предоставленных пользователям полномочий.
СУБД предназначена для централизованного управления базой данных в интересах всех работающих в этой системе.
По степени универсальности различают два класса СУБД:
. системы общего назначения;
. специализированные системы.
СУБД общего назначения не ориентированы на какую-либо предметную область
или на информационные потребности какой-либо группы пользователей. Каждая
система такого рода реализуется как программный продукт, способный
функционировать на некоторой модели ЭВМ в определенной операционной системе
и поставляется многим пользователям как коммерческое изделие. Такие СУБД
обладают средствами настройки на работу с конкретной базой данных.
Использование СУБД общего назначения в качестве инструментального средства
для создания автоматизированных информационных систем, основанных на
технологии баз данных, позволяет существенно сокращать сроки разработки,
экономить трудовые ресурсы. Этим СУБД присущи развитые функциональные
возможности и даже определенная функциональная избыточность.
Специализированные СУБД создаются в редких случаях при невозможности или нецелесообразности использования СУБД общего назначения.
СУБД общего назначения — это сложные программные комплексы, предназначенные для выполнения всей совокупности функций, связанных с созданием и эксплуатацией базы данных информационной системы.
Рынок программного обеспечения ПК располагает большим числом разнообразных по своим функциональным возможностям коммерческих систем управления базами данных общего назначения, а также средствами их окружения практически для всех массовых моделей машин и для различных операционных систем.
Используемые в настоящее время СУБД обладают средствами обеспечения
целостности данных и надежной безопасности, что дает возможность
разработчикам гарантировать большую безопасность данных при меньших
затратах сил на низкоуровневое программирование. Продукты, функционирующие
в среде WINDOWS, выгодно отличаются удобством пользовательского интерфейса
и встроенными средствами повышения производительности.
Рассмотрим основные характеристики некоторых СУБД — лидеров на рынке
программ, предназначенных как для разработчиков информационных систем, так
и для конечных пользователей,
В рассматриваемую группу программных продуктов вошли:
dBASE IV 2.0, компании Borland International;
Microsoft Access 2.0;
Microsoft FoxPro 2.6 for DOS;
Microsoft FoxPro 2.6 for Windows, корпорации Microsoft Corp;
Paradox for DOS 4.5;
Paradox for Windows, версия 4.5 компании Borland.
Производительность СУБД
Производительность СУБД оценивается:
. временем выполнения запросов;
. скоростью поиска информации в неиндексированных полях;
. временем выполнения операций импортирования базы данных из других форматов;
. скоростью создания индексов и выполнения таких массовых операций, как обновление, вставка, удаление данных;
. максимальным числом параллельных обращений к данным в многопользовательском • режиме;
. временем генерации отчета.
На производительность СУБД оказывают влияние два фактора:
. СУБД, которые следят за соблюдением целостности данных, несут дополнительную нагрузку, которую не испытывают другие программы;
. производительность собственных прикладных программ сильно зависит от правильного проектирования и построения базы данных.
Самые быстрые программные изделия отнюдь не обладают самыми развитыми функциональными возможностями на уровне процессора СУБД.
Самой быстрой СУБД является FoxPro 2.6, однако она не обладает
средствами соблюдения целостности данных в отличие от более медленной СУБД
Access 2.0.
Обеспечение целостности данных на уровне базы данных
Эта характеристика подразумевает наличие средств, позволяющих
удостовериться, что информация в базе данных всегда остается корректной и
полной. Должны быть установлены правила целостности, и они должны храниться
вместе с базой данных и соблюдаться на глобальном уровне. Целостность
данных должна обеспечиваться независимо от того, каким образом данные
заносятся в память (в интерактивном режиме, посредством импорта или с
помощью специальной программы).
К средствам обеспечения целостности данных на уровне СУБД относятся:
• встроенные средства для назначения первичного ключа, в том числе
средства для работы с типом полей с автоматическим приращением, когда СУБД
самостоятельно присваивает новое уникальное значение;
• средства поддержания ссылочной целостности, которые обеспечивают запись
информации о связях таблиц и автоматически пресекают любую операцию,
приводящую к нарушению ссылочной целостности.
Некоторые СУБД имеют хорошо разработанный процессор СУБД для реализации
таких возможностей, как уникальность первичных ключей, ограничение
(пресечение) операций и даже каскадное обновление и удаление информации. В
таких системах проверка корректности, назначаемая полю или таблице, будет
проводиться всегда после изменения данных, а не только во время ввода
информации с помощью экранной формы. Это свойство можно настраивать для
каждого поля и для записи в целом, что позволяет контролировать не только
значения отдельных полей, но и взаимосвязи между несколькими полями данной
записи.
Access и Paradox for Windows гораздо ближе других СУБД соответствуют реляционной модели по надежности сохранения целостности данных на уровне базы данных; правила хранятся вместе с базой данных и автоматически соблюдаются.
СУБД dBASE IV и FoxPro 2.6 (DOS и WINDOWS) совсем не обладают средствами этого рода, и ввод в программу процедур, обеспечивающих выполнение правил целостности, возлагается на программиста.
Обеспечение безопасности
Некоторые СУБД предусматривают средства обеспечения безопасности данных.
Такие средства обеспечивают выполнение следующих операций:
• шифрование прикладных программ;
• шифрование данных;
• защиту паролем;
• ограничение уровня доступа (к базе данных, к таблице, к словарю, для
пользователя).
Самый высокий уровень безопасности данных реализован в СУБД dBASE IV.
Администратор может назначать системе различные права доступа на уровне
файла, поля, а также организовать автоматическое шифрование данных.
Хорошими характеристиками обеспечения безопасности отличается Access 2.0.
Он предусматривает назначение паролей для индивидуальных пользователей или
групп пользователей и присвоение различных прав доступа отдельно таблицам,
запросам, отчетам, макрокомандам или новым объектам на уровне пользователя
или группы.
Работа в многопользовательских средах
Практически все рассматриваемые СУБД предназначены для работы в
многопользовательских средах, но обладают для этого различными
возможностями.
Обработка данных в многопользовательских средах .предполагает выполнение
программным продуктом следующих функций: :
• блокировку базы данных, файла, записи, поля;
• идентификацию станции, установившей блокировку;
• обновление информации после модификации;
• контроль за временем и повторение обращения;
• обработку транзакций (транзакция — последовательность операций
пользователя над базой данных, которая сохраняет ее логическую
целостность);
• работу с сетевыми системами (LAN Manager, NetWare, Unix).
Лучшими возможностями для работы в многопользовательских средах обладают
СУБД Paradox for DOS 4.5, Access 2.0 и dBASE IV.
Импорт-экспорт
Эта характеристика отражает:
• возможность обработки СУБД информации, подготовленной другими
программными средствами;
• возможность использования другими программами данных, сформированных
средствами рассматриваемой СУБД.
Особый интерес представляют следующие форматы файлов: ASCII-файлы, .DBF,
,WK*, .XLS.
Все рассматриваемые здесь СУБД обладают хорошими возможностями импорта-
экспорта данных.
Доступ к данным посредством языка SQL
Язык запросов SQL (Structured Query Language) реализован в целом ряде
популярных СУБД для различных типов ЭВМ либо как базовый, либо как
альтернативный. В силу своего широкого использования является международным
стандартом языка запросов. Язык SQL предоставляет развитые возможности как
конечным пользователям, так и специалистам в области обработки данных [5].
Совместимость с SQL-системами играет большую роль, когда предполагается проведение работы с корпоративными данными. СУБД, хорошо подготовленные к работе в качестве средств первичной обработки информации для SQL-систем, могут открыть двери в системы с архитектурой клиент-сервер.
СУБД имеют доступ к данным SQL в следующих случаях:
. базы данных совместимы с ODBC (Open Database Connectivity — открытое соединение баз данных);
. реализована естественная поддержка SQL-баз данных;
. возможна реализация SQL-запросов локальных данных.
Многие СУБД могут "прозрачно" подключаться к входным SQL-подсисТемам с помощью ODBC или драйверов, являющихся их частью, поэтому существует возможность создания прикладных программ для них. Некоторые программные продукты также с SQL при обработке интерактивных запросов на получение данных, находящихся сервере или на рабочем месте.
Access 2.0 и Paradox for Windows работают с источниками SQL-данных,
совместимых с системой ODBC.
FoxPro (for dos и for Windows) поставляются с дополнительными библиотеками,
которые обеспечивают доступ к SQL-базам данных, способным работать
совместно с системой ODBC, но эта возможность менее интегрирована, чем
средства первичного ввода информации в Access и Paradox for Windows.
Можно напрямую управлять базами данных Access с помощью языка SQL и
передавать сквозные SQL-запросы совместимым со спецификацией ODBC SQL-базам
данных, таким, как MS SQL Server и Oracle, так что Access способна служить
средством разработки масштабируемых систем клиент-сервер.
Возможности запросов и инструментальные средства разработки прикладных программ
СУБД, ориентированные на разработчиков, обладают развитыми средствами для
создания приложений. К элементам инструментария разработки приложений можно
отнести:
• мощные языки программирования;
• средства реализации меню, экранных форм ввода-вывода данных и генерации
отчетов;
• средства генерации приложений (прикладных программ);
• генерацию исполнимых файлов.
Функциональные возможности моделей данных доступны пользователю СУБД благодаря ее языковым средствам.
Реализация языковых средств интерфейсов может быть осуществлена
различными способами. Для высококвалифицированных пользователей
(разработчиков сложных прикладных систем) языковые средства чаще всего
представляются в их явной синтаксической форме, В других случаях функции
языков могут быть доступны косвенным образом, когда они реализуются в форме
различного рода меню, диалоговых сценариев или заполняемых пользователем
таблиц. По таким входным данным интерфейсные средства формируют адекватные
синтаксические конструкции языка интерфейса и передают их на исполнение или
включают в генерируемый программный код приложения. Интерфейсы с неявным
использованием языка широко используются в СУБД для персональных ЭВМ.
Примером такого языка является язык QBE (Query-By-Example).
Языковые средства используются для выполнения двух основных функций:
. описания представления базы данных ;
. выполнения операций манипулирования данными.
Первая из этих функций обеспечивается языком описания (определения) данных (ЯОД). Описание базы данных средствами ЯОД называется схемой базы данных. Оно включает описание структуры базы данных и налагаемых на нее ограничений целостности в рамках тех правил, которые регламентированы моделью данных используемой СУБД. ЯОД некоторых СУБД обеспечивают также возможности задания ограничений доступа к данным или полномочий пользователей.
ЯОД не всегда синтаксически оформляется в виде самостоятельного языка. Он может быть составной частью единого языка данных, сочетающего возможности определения данных и манипулирования данными.
Язык манипулирования данными (ЯМД) позволяет запрашивать предусмотренные
в системе операции над данными из базы данных.
Имеются многочисленные примеры языков СУБД, объединяющих возможности
описания данных и манипулирования данными в единых синтаксических рамках.
Популярным языком такого рода является реляционный язык SQL.
СУБД dBASE IV и FoxPro поддерживают язык программирования xBASE, который до
сих пор является важным стандартом для баз данных.
FoxPro 2.6 придает xBASE-программам оконные, событийно-управляемые
качества. При составлении прикладной программы FoxPro использует диспетчер
проекта, управляющий различными файлами исходного текста и данных. Эта
составляющая отслеживает индивидуальные элементы: программы, наборы
экранных форм, отчеты и файлы баз данных и позволяет компилировать
прикладную программу в исполнимый файл.
Язык программирования Access Basic содержит функции обеспечения связи по
протоколу OLE 2.0, позволяющие управлять объектами из других прикладных
программ, совместимых с OLE 2.0. Кроме того, этот язык позволяет создавать
объекты баз данных (запросы, таблицы), изменять структуру базы данных и
создавать индексы непосредственно из прикладной программы.
Все рассматриваемые программные средства обладают автоматизированными
средствами создания экранных форм, запросов, отчетов, меню, наклеек,
стандартных писем. Для создания указанных визуальных и структурных объектов
ряд СУБД использует специальные инструментальные средства, называемые
"мастерами" или " волшебниками".
КОМАНДЫ ДЛЯ ВЫПОЛНЕНИЯ ТИПОВЫХ ОПЕРАЦИЙ
Типовая структура интерфейса
При работе с СУБД на экран выводятся рабочее поле и панель управления.
Панель управления при этом включает меню, вспомогательную область
управления и строку подсказки. Расположение этих областей на экране может
быть произвольным и зависит от особенностей конкретной программы. Некоторые
СУБД позволяют выводить на экран окно директив (командное окно) или строку
команд. Познакомиться с видом экрана таких программных средств можно на
примере окна СУБД Access 2.0.
Строка меню содержит основные режимы программы. Выбрав один из них,
пользователь получает доступ к ниспадающему подменю, содержащему перечень
входящих в него команд. В результате выбора некоторых команд ниспадающего
меню появляются дополнительные подменю.
Вспомогательная область управления включает:
• строку состояния;
• панели инструментов;
• вертикальную и горизонтальную линейки прокрутки.
В строке состояния (статусной строке) пользователь найдет сведения о
текущем режиме работы программы, имени файла текущей базы данных и т. п.
Панель инструментов (пиктографическое меню) содержит определенное
количество кнопок (пиктограмм), предназначенных для быстрой активизации
выполнения определенных команд меню и функций программы. Чтобы представить
на экране области таблицы базы данных, формы или отчета, которые на нем в
настоящий момент не отображены, используют вертикальную и горизонтальную
линейки прокрутки.
Строка подсказки предназначена для выдачи сообщений пользователю относительно его возможных действий в данный момент.
Важная особенность СУБД — использование буфера промежуточного хранения при выполнении ряда операций. Буфер используется при выполнении команд копирования и перемещения для временного хранения копируемых или перемещаемых данных, после чего они направляются по новому адресу. При удалении данных они также помещаются в буфер. Содержимое буфера сохраняется до тех пор, пока в него не будет записана новая порция данных.
Программы СУБД имеют достаточное количество команд, у каждой из которых
возможны различные параметры (опции). Такая система команд совместно с
дополнительными опциями образует меню со своими особенностями для каждого
типа СУБД- Выбор определенной команды из меню производится одним из
следующих двух способов;
. наведением курсора на выбранную в меню команду при помощи клавиш управления курсором и нажатием клавиши ввода;
. вводом с клавиатуры первой буквы выбранной команды.
Получить дополнительную информацию о командах, составляющих меню СУБД и их использовании можно, войдя в режим помощи.
Несмотря на особенности СУБД совокупность команд, предоставляемых в распоряжение пользователю некоторой усредненной системой управления базами данных, может быть разбита на следующие типовые группы:
. команды для работы с файлами;
. команды редактирования;
. команды форматирования;
. команды для работы с окнами;
. команды для работы в основных режимах СУБД (таблица, форма, запрос, отчет);
. получение справочной информации.
Команды для работы с файлами
При работе с файлами программа дает возможность пользователю:
• создавать новые объекты базы данных;
• сохранять и переименовывать ранее созданные объекты;
• открывать уже существующие базы данных;
• закрывать ранее открытые объекты;
• выводить на принтер объекты базы данных.
Процесс печати начинается с выбора драйвера принтера. Для каждого типа
принтера необходим свой драйвер. Следующий шаг состоит в задании параметров
страницы, формировании колонтитулов, а также в выборе вида и размера
шрифта. Далее следует установить число копий, качество печати и количество
или номера печатаемых страниц документа.
Команда предварительного просмотра позволяет получить представление об
общем виде выводимой на принтер информации еще до печати. Размещение
информации на странице может быть оптимально приспособлено к ее выбранным
параметрам посредством масштабирования и центрирования.
В некоторых СУБД в рассматриваемую группу команд введены команды,
обеспечивающие возможность экспорта-импорта и присоединения таблиц,
созданных другими программными средствами.
Команды редактирования
Ввод данных и изменение содержимого любых полей таблиц БД, компонентов
экранных форм и отчетов осуществляются с помощью группы команд
редактирования, главными из которых являются перемещение, копирование и
удаление.
Наряду с вышеуказанными операциями большая группа программ СУБД обладает
возможностями вставки диаграммы, рисунка и т. п., включая объекты,
созданные в других программных средах, установление связей между объектами.
Среди команд редактирования особое место занимают команды нахождения и замены определенного пользователем контекста в рамках всего документа или выделенной его части, а также отмена последней введенной команды (откатка).
Команды форматирования
Важное значение имеет визуальное представление данных при выводе.
Большинство СУБД предоставляют в распоряжение пользователя большое число
команд, связанных с оформлением выводимой информации. При помощи этих
команд пользователь может варьировав направление выравнивания данных, виды
шрифта, толщину и расположение линий, высоту букв, цвет фона и т. п. При
выполнении любой команды форматирования следует выделить
область, на которую распространяется действие команды. Если этого не
сделать, то новые параметры форматирования будут определены только для
активного компонента.
Выбор формата и направления выравнивания производится автоматически в
зависимости от характера вводимых данных. Данные, интерпретируемые
программой как текст, выравниваются по левому краю, а числа — по правому.
Автоматический выбор формата и способа выравнивания производится только в
том случае, если для заполняемых ячеек пользователем предварительно не
заданы другие параметры.
Команды для работы с окнами
Большинство СУБД дает возможность открывать одновременно множество окон, организуя тем самым "многооконный режим" работы; При этом некоторые окна будут видны на экране, другие находиться под ними. Открыв несколько окон, вы можете сразу работать с несколькими таблицами, быстро перемещаясь от одной к другой. Существуют специальные команды , позволяющие открывать новое окно, переходить в другое окно, изменять взаимное расположение и размеры окон на экране. Кроме того, у пользователя имеется возможность разделить окно на две части для одновременного просмотра различных частей большой таблицы или фиксировать некоторую часть таблицы, которая не будет исчезать с экрана при перемещении курсора в дальние части таблицы.
Система получения справочной информации
Системы управления базами данных имеют в своем составе электронные
справочники, предоставляющие пользователю инструкции о возможностях
выполнения основных операций, информацию по конкретным командам меню и
другие справочные данные. Особенностью получения справочной информации с
помощью электронного справочника является то, что она выдает информацию в
зависимости от ситуации, в которой оказался пользователь. Так, если в меню
пользователем была выбрана определенная команда, то после обращения к
справочной системе (обычно инициируется клавишей ) на экране будет
представлена страница справочника, содержащая информацию о выделенной
команде. В некоторых СУБД возможно нахождение потребной информации в
справочнике путем задания темы поиска.
Общее представление об этапах технологии
Каждая конкретная СУБД имеет свои особенности, которые необходимо
учитывать.
Однако имея представление о функциональных возможностях любой СУБД,
можно представить обобщенную технологию работы пользователя в этой среде.
В качестве основных этапов обобщенной технологии работы с СУБД, можно
выделить следующие:
. создание структуры таблиц базы данных;
. ввод и редактирование данных в таблицах;
. обработка данных, содержащихся в таблицах;
. вывод информации из базы данных.
Создание структуры таблиц базы данных
При формировании новой таблицы базы данных работа с СУБД начинается с
создания структуры таблицы. Этот процесс включает определение перечня
полей, из которых состоит каждая запись таблицы, а также типов и размеров
полей.
Практически все используемые СУБД хранят данные следующих типов: тексте
(символьный), числовой, календарный, логический, примечание. Некоторые СУБД
формируют поля специального типа, содержащие уникальные номера записей и
используемые определения ключа.
СУБД предназначенные для работы в Windows, могут формировать поля типа
объекта OLE, которые используются для хранения рисунков, графиков, таблиц.
Если обрабатываемая база данных включает несколько взаимосвязанных таблиц,
то необходимо определение ключевого поля в каждой таблице, а также полей, с
помощь которых будет организована связь между таблицами.
Создание структуры таблицы не связано с заполнением таблиц данными, поэтом) две операции можно разнести во времени.
Ввод и редактирование данных
Заполнение таблиц данными возможно как непосредственным вводом данных, так
и в результате выполнения программ и запросов.
Практически все СУБД позволяют вводить и корректировать данные в таблицах
двумя способами:
• с помощью предоставляемой по умолчанию стандартной формы в виде
таблицы;
• с помощью экранных форм, специально созданных для этого пользователем,
СУБД работающие с Windows, позволяют вводить в созданные экранные формы рисунки, узоры, кнопки. Возможно построение форм, наиболее удобных для работы пользователя, включающих записи различных связанных таблиц базы данных.
Обработка данных, содержащихся в таблицах
Обрабатывать информацию, содержащуюся в таблицах базы данных, можно путем
использования запросов или в процессе выполнения специально разработанной
программы.
Конечный пользователь получает при работе с СУБД такое удобное средство
обработки информации, как запросы. Запрос представляет собой инструкцию на
отбор записей.
Большинство СУБД разрешают использовать запросы следующих типов:
• запрос-выборка, предназначенный для отбора данных, хранящихся в
таблицах, и не изменяющий эти данные;
• запрос-изменение, предназначенный для изменения или перемещения данных;
к этому типу запросов относятся: запрос на добавление записей, запрос на
удаление записей, запрос на создание таблицы, запрос на обновление;
• запрос с параметром, позволяющий определить одно или несколько условий
отбора во время выполнения запроса,
Самым распространенным типом запроса является запрос на выборку.
Результатом выполнения запроса является таблица с временным набором данных
(динамический набор). Записи динамического набора могут включать поля из
одной или нескольких таблиц базы данных. На основе запроса можно построить
отчет или форму.
Вывод информации из базы данных
Практически любая СУБД позволяет вывести на экран и принтер информацию, содержащуюся в базе данных, из режимов таблицы или формы. Такой порядок вывода данных может использоваться только как черновой вариант, так как позволяет выводить данные только точно в таком же виде, в каком они содержатся в таблице или форме.
Каждый пользователь, работающий с СУБД, имеет возможность использования
специальных средств построения отчетов для вывода данных. Используя
специальные средства создания отчетов, пользователь получает следующие
дополнительные возможности вывода данных:
• включать в отчет выборочную информацию из таблиц базы данных;
• добавлять информацию, не содержащуюся в базе данных;
• при необходимости выводить итоговые данные на основе информации базы
данных;
• располагать выводимую в отчете информацию в любом, удобном для
пользователя виде (вертикальное или горизонтальное расположение полей);
• включать в отчет информацию из разных связанных таблиц базы данных.
Информационная модель СУБД
Предварительное планирование, подготовка данных, последовательность создания информационной модели.
При проектировании системы обработки данных больше всего нас интересует организация данных. Помочь понять организацию данных призвана информационная модель.
Процесс создания информационной модели начинается с определения
концептуальных требований ряда пользователей. Концептуальные требования
могут определяться и для некоторых задач (приложений), которые в ближайшее
время реализовывать не планируется. Это может несколько повысить
трудоемкость работы, однако поможет наиболее полно учесть все нюансы
функциональности, требуемой для разрабатываемой системы, и снизит
вероятность переделки в дальнейшем. Требования отдельных пользователей
должны быть представлены в едином «обобщенном представлении». Последнее
называют концептуальной моделью.
Объект – это абстракция множества предметов реального мира, обладающих
одинаковыми характеристиками и законами поведения. Объект представляет
собой типичный неопределенный экземпляр такого множества.
Объекты объединяются в классы по общим характеристикам. Например, в
предложении «Белый Дом является зданием», «Белый Дом» представляет объект,
а «здание» – класс. Классы обозначаются абстрактными существительными.
Класс – это множество предметов реального мира, связанных общностью
структуры и поведением.
Концептуальная модель представляет объекты и их взаимосвязи без
указывания способов их физического хранения. Таким образом, концептуальная
модель является, по существу, моделью предметной области. При
проектировании концептуальной модели все усилия разработчика должны быть
направлены в основном на структуризацию данных и выявление взаимосвязей
между ними без рассмотрения особенностей реализации и вопросов
эффективности обработки. Проектирование концептуальной модели основано на
анализе решаемых на этом предприятии задач по обработке данных.
Концептуальная модель включает описания объектов и их взаимосвязей,
представляющих интерес в рассматриваемой предметной области и выявляемых в
результате анализа данных. Имеются в виду данные, используемые как в уже
разработанных прикладных программах, так и в тех, которые только будут
реализованы.
Проектирование концептуальной модели базы данных:
Анализ данных: сбор основных данных (например, объекты, связи между
объектами).
Определим первоначальные данные:
Заявки - поступающие от магазинов на определённый период.
Договора - заключаются с поставщиками на определённый вид товара.
Поставщики - организации или физические лица, с которыми заключаются
договора на поставку товара.
Заказчики - в основном магазины, а также предприятия и организации,
подающие заказ на приобретение того или иного товара.
Счета - ведутся на этапе заключения договором с поставщиками, а также с
заказчиками.
Накладные - создаются на основании получения заказа о заказчика, для
отгрузки.
Справки - получение/выдача различных справок как заказчику так и
поставщику.
Товар - присутствует на основании заявки и договора с поставщиком.
Определение взаимосвязей.
Взаимосвязь выражает отображение или связь между двумя множествами
данных. Различают взаимосвязи типа «один к одному», «один ко многим» и
«многие ко многим».
Например, если заказчик производит заказ на покупку товара впервые,
осуществляется первичная регистрация его данных и сведений о сделанном
заказе. Если же заказчик производит заказ повторно, осуществляется
регистрация только данного заказа. Вне зависимости от того, сколько раз
данный заказчик производил заказы, он имеет уникальный идентификационный
номер (уникальный ключ заказа). Информация о каждом заказчике включает
наименование заказчика, адрес, телефон, факс, фамилию, имя, отчество,
признак юридического лица и примечание. Таким образом, свойствами объекта
Заказчик являются «уникальный ключ заказчика», «наименование заказчика».
Следующий представляющий для нас интерес объект — Товар. Этот объект имеет свойства «уникальный ключ товара», «наименование товара».
Второй рассматриваемый объект — Поставщик. Его свойствами являются
«уникальный ключ поставщика», «наименование поставщика».
Третий рассматриваемый объект — Заказчик. Его свойствами являются
«уникальный ключ заказчика», «наименование заказчика».
Взаимосвязь «один к одному» (между двумя типами объектов)
Допустим, в определенный момент времени один заказчик может сделать только один заказ. В этом случае между объектами Заказчик и Товар устанавливается взаимосвязь «один к одному».
Взаимосвязь «один ко многим» (между двумя типами объектов)
В определенный момент времени один заказчик может стать обладателем
нескольких товаров, при этом несколько заказчиков не могут являться
обладателями одного товара (на условии если заказчик не претендует на часть
товара). Взаимосвязь «один ко многим» можно обозначить с помощью одинарной
стрелки в направлении к «одному» и двойной стрелки в направлении ко
«многим» .В этом случае одной записи данных первого объекта (его часто
называют родительским или основным) будет соответствовать несколько записей
второго объекта (дочернего или подчиненного). Взаимосвязь «один ко многим»
очень распространена при разработке реляционных баз данных. В качестве
родительского объекта часто выступает справочник, а в дочернем хранятся
уникальные ключи для доступа к записям справочника. В нашем примере в
качестве такого справочника можно представить объект Заказчик, в котором
хранятся сведения о всех заказчиках. При обращении к записи для
определенного заказчика нам доступен список всех покупок, которые он
сделал, и сведения о которых хранятся в объекте Товар.
Взаимосвязь «один к одному» (между двумя свойствами)
Мы предполагаем, что ключ (номер) магазина является его уникальным идентификатором, то есть он не изменяется и при последующих поступлениях заказов от данного магазина. Если наряду с номером магазина в базе данных хранится и другой его уникальный идентификатор (например, адрес), то между такими двумя уникальными идентификаторами существует взаимосвязь «один к одному».
Взаимосвязь «один ко многим» (между двумя свойствами)
Имя поставщика и его номер существуют совместно. Поставщиков с
одинаковыми именами может быть много, но все они имеют различные номера.
Каждому поставщику присваивается уникальный номер. Это означает, что
данному номеру поставщика соответствует только одно имя. Взаимосвязь «один
ко многим» обозначается одинарной стрелкой в направлении к «одному» и
двойной стрелкой в направлении ко «многим».
Первоначальная схема данных
|Функциональная |Исследование токов |Данные выявленные в |
|модель |Данных |ходе разработки |
|Отдел обработки | |Заявки |
|заявок | | |
| | |Договора |
|Договоров | |Поставщики |
| | |Заказчики |
|Ведение счетов | |Счета |
|Погрузка | |Накладные |
| | |Товар |
| | |Инвентаризация |
| | |Справки |
рис.1
Определение объектов
Выделим следующие объекты:
1. ТОВАР - (Т);
2. ЗАКАЗЧИК - (З);
3. ПОСТАВЩИК - (П);
4. СЧЕТА - (С);
5. ДОГОВОР - (Д);
6. НАКЛАДНЫЕ - (Н).
Первоначальное графическое представление концептуальной модели
| |Т | |
|З | |П |
| |С | |
|Н | |Д |
рис.2
Задание первичных и альтернативных ключей, определение свойств объектов
Для каждого объекта определим свойства, которые будем хранить в БД. При этом необходимо учитывать тот факт, что при переходе от логической к физической модели данных может произойти усечение числа объектов. На самом деле, как правило, значительное число данных, необходимых пользователю, может быть достаточно легко подсчитано в момент вывода информации. В то же время, в связи с изменением алгоритмов расчета или исходных величин, некоторые расчетные показатели приходится записывать в БД, чтобы гарантированно обеспечить фиксацию их значений. Выбор показателей, которые обязательно следует хранить в БД, достаточно сложен. Нечасто можно найти однозначное решение этой проблемы, и в любом случае оно потребует тщательного изучения работы предприятия и анализа концептуальной модели.
Приведение модели к требуемому 1 уровню нормальной формы
Приведение модели к требуемому уровню нормальной формы является основой
построения реляционной БД. В процессе нормализации элементы данных
группируются в таблицы, представляющие объекты и их взаимосвязи. Теория
нормализации основана на том, что определенный набор таблиц обладает
лучшими свойствами при включении, модификации и удалении данных, чем все
остальные наборы таблиц, с помощью которых могут быть представлены те же
данные. Введение нормализации отношений при разработке информационной
модели обеспечивает минимальный объем физической, то есть записанной на
каком-либо носителе БД и ее максимальное быстродействие, что впрямую
отражается на качестве функционирования информационной системы.
Нормализация информационной модели выполняется в несколько этапов.
Данные, представленные в виде двумерной таблицы, являются первой
нормальной формой реляционной модели данных. Первый этап нормализации
заключается в образовании двумерной таблицы, содержащей все необходимые
свойства информационной модели, и в выделении ключевых свойств. Очевидно,
что полученная весьма внушительная таблица будет содержать очень
разнородную информацию. В этом случае будут наблюдаться аномалии включения,
обновления и удаления данных, так как при выполнении этих действий нам
придется уделить внимание данным (вводить или заботиться о том, чтобы они
не были стерты), которые не имеют к текущим действиям никакого отношения.
Например, может наблюдаться такая парадоксальная ситуация.
Отношение задано во второй нормальной форме, если оно является отношением в первой нормальной форме и каждое свойство, не являющийся первичным свойством в этом отношении, полностью зависит от любого возможного ключа этого отношения.
Если все возможные ключи отношения содержат по одному свойству, то это
отношение задано во второй нормальной форме, так как в этом случае все
свойства, не являющиеся первичными, полностью зависят от возможных ключей.
Если ключи состоят более чем из одного свойства, отношение, заданное в
первой нормальной форме, может не быть отношением во второй нормальной
форме. Приведение отношений ко второй нормальной форме заключается в
обеспечении полной функциональной зависимости всех свойств от ключа за счет
разбиения таблицы на несколько, в которых все имеющиеся свойства будут
иметь полную функциональную зависимость от ключа этой таблицы. В процессе
приведения модели ко второй нормальной форме в основном исключаются
аномалии дублирования данных.
Отношение задано в третьей нормальной форме, если оно задано во второй нормальной форме и каждое свойство этого отношения, не являющийся первичным, не транзитивно зависит от каждого возможного ключа этого отношения.
Транзитивная зависимость выявляет дублирование данных в одном отношении. Если А, В и С - три свойства одного отношения и С зависит от В, а В от А, то говорят, что С транзитивно зависит от А. Преобразование в третью нормальную форму происходит за счет разделения исходного отношения на два.
Концептуальная модель переносится затем в модель данных, совместимую с выбранной СУБД. Возможно, что отраженные в концептуальной модели взаимосвязи между объектами окажутся впоследствии нереализуемыми средствами выбранной СУБД. Это потребует изменения концептуальной модели. Версия концептуальной модели, которая может быть обеспечена конкретной СУБД, называется логической моделью.
Логическая модель отражает логические связи между элементами данных вне зависимости от их содержания и среды хранения. Логическая модель данных может быть реляционной, иерархической или сетевой. Пользователям выделяются подмножества этой логической модели, называемые внешними моделями, отражающие их представления о предметной области. Внешняя модель соответствует представлениям, которые пользователи получают на основе логической модели, в то время как концептуальные требования отражают представления, которые пользователи первоначально желали иметь и которые легли в основу разработки концептуальной модели. Логическая модель отображается в физическую память, такую, как диск, лента или какой-либо другой носитель информации.
Иерархическая модель данных строится по принципу иерархии типов объектов, то есть один тип объекта является главным, а остальные, находящиеся на низших уровнях иерархии, — подчиненными. Между главным и подчиненными объектами устанавливается взаимосвязь «один ко многим». В то же время для каждого экземпляра главного объекта может быть несколько экземпляров подчиненных типов объектов. Взаимосвязи между объектами напоминают взаимосвязи в генеалогическом дереве за единственным исключением: для каждого порожденного (подчиненного) типа объекта может быть только один исходный (главный) тип объекта.
Итак, полученную концептуальную модель, будем считать логико- иерархической моделью данных. По моему мнению, больше преобразований не получится. Конечную модель можно считать оконченной.
Физическая модель, определяющая размещение данных, методы доступа и технику индексирования, называется внутренней моделью системы.
Внешние модели никак не связаны с типом физической памяти, в которой
будут храниться данные, и с методами доступа к этим данным. Это положение
отражает первый уровень независимости данных. С другой стороны, если
концептуальная модель способна учитывать расширение требований к системе в
будущем, то вносимые в нее изменения не должны оказывать влияния на
существующие внешние модели. Это — второй уровень независимости данных.
Построение логической модели обусловлено требованиями используемой СУБД.
Поэтому при замене СУБД она также может измениться.
С точки зрения прикладного программирования независимость данных определяется не техникой программирования, а его дисциплиной, т.е. для того чтобы при любом изменении системы избежать перекомпиляции приложения, рекомендуется не определять константы (постоянные значения данных) в программе. Лучшее решение состоит в передаче программе значений в качестве параметров.
Все актуальные требования предметной области и адекватные им «скрытые» требования на стадии проектирования должны найти свое отражение в концептуальной модели. Конечно, нельзя предусмотреть все возможные варианты использования и изменения базы данных. Но в большинстве предметных областей такие основные данные, как объекты и их взаимосвязи, относительно стабильны. Меняются только информационные требования, то есть способы использования данных для получения информации.
Степень независимости данных определяется тщательностью проектирования базы данных. Всесторонний анализ объектов предметной области и их взаимосвязей минимизирует влияние изменения требований к данным в одной программе на другие программы. В этом и состоит всеобъемлющая независимость данных.
Основное различие между указанными выше тремя типами моделей данных
(концептуальной, логической и физической) состоит в способах представления
взаимосвязей между объектами. При проектировании БД требуется различать
взаимосвязи между объектами, между свойствами одного объекта и между
свойствами различных объектов.
В процессе проектирования объекты преобразуются в отношения, свойства в
поля таблиц, методы – в процедуры, формы и т.д. (что и было произведено).
Правильно проведенный объектно-ориентированный анализ позволяет значительно
облегчить работу.
Одним из основных факторов, влияющих на производительность программ,
которые взаимодействуют с базой данных, является способ хранения и доступа
к данным. Обычно в дополнение к специализированным методам доступа в рамках
внешней модели СУБД использует несколько методов доступа внутренней модели.
Мы рассмотрим (по условию варианта) индексно-последовательный метод доступа
(ИМД).
Существует множество индексных методов доступа, в основе которых лежит принцип создания отдельного файла или структуры из статей значений действительного ключа. Статья действительного ключа называется статьёй индекса, а весь файл действительных ключей - индексом. Индексный файл значительно меньше собственно базы данных, и, поскольку в оперативной памяти могут находиться многие из его статей, скорость поиска в нём гораздо выше.
В индексно-последовательном методе доступа индексный файл всегда упорядочен по так называемому первичному ключу. Первичный ключ - главный атрибут физической записи. По его значению идентифицируется физическая запись. До тех пор, пока это возможно, записи хранятся в той же логической последовательности, что и индекс (отсюда и название "индексно- последовательный метод доступа").
Краткая характеристика программного обеспечения, используемого при создании СУБД.
Рассмотрим более подробно программные продукты компании Microsoft, а именно Visual FoxPro 3.0, Visual Basic 4.0, Visual С++, Access 7.0, SQL
Server 6.5. Наиболее интересной чертой этих пакетов являются их большие возможности интеграции, совместной работы и использования данных, так как данные пакеты являются продуктами одного производителя, а также используют сходные технологии обмена данными.
Visual FoxPro отличается высокой скоростью, имеет встроенный объектно-ориентированный язык программирования с использованием xBase и
SQL, диалекты которых встроены во многие СУБД. Имеет высокий уровень объектной модели. При использовании в вычислительных сетях обеспечивает как монопольный, так и раздельный доступ пользователей к данным.
Применяется для приложений масштаба предприятия для работы на различных платформах: Windows 3.x, Windows 95, Macintosh... Минимальные ресурсы ПК: для Visual FoxPro версии 3.0 – процессор 468DX, Windows 3.1, 95, NT, объем оперативной памяти 8 (12) Мб, занимаемый объем на ЖМД 15-80 Мб, а для Visual FoxPro версии 5.0 (выпущена в 1997 году) – Windows 95 или NT,
486 с тактовой частотой 50 МГц, 10 Мб ОЗУ, от 15 до 240 Мб на ЖМД.
Access входит в состав самого популярного пакета Microsoft Office.
Основные преимущества: знаком многим конечным пользователям и обладает высокой устойчивостью данных, прост в освоении, может использоваться непрофессиональным программистом, позволяет готовить отчеты из баз данных различных форматов. Предназначен для создания отчетов произвольной формы на основании различных данных и разработки некоммерческих приложений.
Минимальные ресурсы ПК: процессор 468DX, Windows 3.1, 95, NT, объем оперативной памяти 12 (16) Мб, занимаемый объем на ЖМД 10-40 Мб.
Visual Basic – это универсальный объектно-ориентированный язык программирования, диалекты которого встроены в Access, Visual FoxPro.
Преимущества: универсальность, возможность создания компонентов OLE, невысокие требования к аппаратным ресурсам ЭВМ. Применяется для создания приложений средней мощности, не связанных с большой интенсивностью обработки данных, разработки компонентов OLE, интеграция компонентов
Microsoft Office. Минимальные ресурсы ПК: процессор 368DX, Windows 3.1,
95, NT, объем оперативной памяти 6 (16) Мб, занимаемый объем на ЖМД 8-36
Мб.
Visual C++ – наиболее мощный объектно-ориентированный язык программирования, обладает неограниченной функциональностью. Предназначен для создания компонентов приложений для выполнения операций, критичных по скорости.
SQL Server – сервер баз данных, реализует подход «клиент-сервер» и взаимодействует с указанными пакетами. Главные достоинства: высокая степень защиты данных, мощные средства для обработки данных, высокая производительность. Область применения: хранение больших объемов данных, хранение высокоценных данных или данных, требующих соблюдения режима секретности. Минимальные ресурсы ПК: процессор 468DX-33МГц, Windows NT, объем оперативной памяти 16 (32) Мб, занимаемый объем на ЖМД 80 Мб.
Указанные программные продукты имеют возможности визуального проектирования интерфейса пользователя, то есть разработчик из готовых фрагментов создает элементы интерфейса, программирует только их изменения в ответ на какие-либо события.
Принципы организации данных, лежащие в основе современных СУБД.
Современные СУБД являются объектно-ориентированными и реляционными.
Основной единицей является объект, имеющий свойства, и связи между объектами. СУБД используют несколько моделей данных: иерархическую и сетевую (с 60-х годов) и реляционную (с 70-х). Основное различие данных моделей в представлении взаимосвязей между объектами.
Иерархическая модель данных строится по принципу иерархии объектов, то есть один тип объекта является главным, все нижележащие – подчиненными. Устанавливается связь «один ко многим», то есть для некоторого главного типа существует несколько подчиненных типов объектов.
Иначе, главный тип именуется исходным типом, а подчиненные – порожденными. У подчиненных типов могут быть в свою очередь подчиненные типы. Наивысший в иерархии узел (совокупность атрибутов) называют корневым.
Сетевая модель данных строится по принципу «главный и подчиненный тип одновременно», то есть любой тип данных одновременно может одновременно порождать несколько подчиненных типов (быть владельцем набора) и быть подчиненным для нескольких главных (быть членом набора).
Реляционная модель данных объекты и связи между ними представляются в виде таблиц, при этом связи тоже рассматриваются как объекты. Все строки, составляющие таблицу в реляционной базе данных должны иметь первичный ключ. Все современные средства СУБД поддерживают реляционную модель данных.
Объект (Сущность) – элемент какой-либо системы, информация о котором сохраняется. Объект может быть как реальным (например, человек), так и абстрактным (например, событие – поступление человека в стационар).
Атрибут – информационное отображение свойств объекта. Каждый объект характеризуется набором атрибутов.
Таблица – упорядоченная структура, состоящая из конечного набора однотипных записей.
Первичный ключ – атрибут (или группа атрибутов), позволяющий однозначным образом определить каждую строку в таблице.
Напротив, альтернативный ключ – атрибут (или группа атрибутов), не совпадающая с позволяющий первичным ключом и однозначным образом определяющий каждую строку в таблице.
Современные технологии, используемые в работе с данными.
Технология «Клиент-сервер» – технология, разделяющая приложение-
СУБД на две части: клиентскую (интерактивный графический интерфейс, расположенный на компьютере пользователя) и сервер, собственно осуществляющий управление данными, разделение информации, администрирование и безопасность, находящийся на выделенном компьютере.
Взаимодействие «клиент-сервер» осуществляется следующим образом: клиентская часть приложения формирует запрос к серверу баз данных, на котором выполняются все команды, а результат исполнения запроса отправляется клиенту для просмотра и использования. Данная технология применяется, когда размеры баз данных велики, когда велики размеры вычислительной сети, и производительность при обработке данных, хранящихся не на компьютере пользователя (в крупном учреждении обычно имеет место именно такая ситуация). Если технология «клиент-сервер» на применяется, то для обработки даже нескольких записей весь файл копируется на компьютер пользователя, а только затем обрабатывается. При этом резко возрастает загрузка сети, и снижается производительность труда многих сотрудников.
Microsoft Access, Microsoft Visual FoxPro, Microsoft Visual Basic обеспечивают средства для создания клиентских частей в приложениях
«клиент-сервер», которые сочетают в себе средства просмотра, графический интерфейс и средства построения запросов, а Microsoft SQL Server является на сегодняшний день одним из самых мощных серверов баз данных.
OLE 2.0 (Object Linking and Embedding – связывание и внедрение объектов) – стандарт, описывающий правила интеграции прикладных программ.
Применяется для использования возможностей других приложений. OLE 2.0 используется для определения и совместного использования объектов несколькими приложениями, которые поддерживают данную технологию.
Например, использование в среде Access таблиц Excel и его мощных средств построения диаграмм или использование данных, подготовленных Access, в отчетах составленных в редакторе текстов Word (связывание или включение объекта).
OLE Automation (Автоматизация OLE) – компонент OLE, позволяющий программным путем устанавливать свойства и задавать команды для объектов другого приложения. Позволяет без необходимости выхода или перехода в другое окно использовать возможности нужного приложения. Приложение, позволяющее другим прикладным программам использовать свои объекты называется OLE сервером. Приложение, которое может управлять объектами
OLE серверов называется OLE контроллер или OLE клиент. Из рассмотренных программных средств в качестве OLE серверов могут выступать Microsoft
Access, а также Microsoft Excel, Word и Graph... Microsoft Visual FoxPro
3.0 и 5.0 может выступать только в виде OLE клиента.
RAD (Rapid Application Development – Быстрая разработка приложений)
– подход к разработке приложений, предусматривающий широкое использование готовых компонентов и/или приложений и пакетов (в том числе от разных производителей).
ODBC (Open Database Connectivity – открытый доступ к базам данных) – технология, позволяющая использовать базы данных, созданные другим приложением при помощи SQL.
SQL (Structured Query Language – язык структурированных запросов) – универсальный язык, предназначенный для создания и выполнения запросов, обработки данных как в собственной базе данных приложения, так и с базами данных, созданных другими приложениями, поддерживающими SQL. Также SQL применяется для управления реляционными базами данных.
VBA (Visual Basic for Applications – Visual Basic для Приложений) – разновидность (диалект) объектно-ориентированного языка программирования
Visual Basic, встраиваемая в программные пакеты.
Список литературы
1. Б. Богумирский
2. Эффективная работа на IBM PC в среде Windows 95
3. СПб, «Питер», 1997, 1000с.
4. Д. Вейскас
5. Эффективная работа с Microsoft Access 7.0 i. «Microsoft Press», 1997, 864с.
6. Дж. Вудкок, М. Янг
7. Эффективная работа с Microsoft Office 95 i. «Microsoft Press», 1000с.
8. А. Горев, С. Макашарипов, Р. Ахаян
Эффективная работа с СУБД
9. СПб, «Питер», 1997, 704с.
10. А. В. Потапкин i. Основы Visual Basic для пакета Microsoft Office ii. М, «Эком», 1995, 256с."
11. Электронная встроенная гипертекстовая справочная система Microsoft
Access, файл MSACC20.HLP, 4.7 Мбайта.
12. Журнал “PC Magazine Russian Edition” №7 1994, статья У. Плейна,
“Microsoft Access”.
13. Журнал “PC Magazine Russian Edition” №5 1994.
14. Журнал “КомпьюТерра” №37-38 1994.