
Характеристика связей
При построении инфологических моделей можно использовать язык ER-диаграмм (от англ. Entity-Relationship, т.е. сущность-связь). В них сущности изображаются помеченными прямоугольниками, ассоциации – помеченными ромбами или шестиугольниками, атрибуты – помеченными овалами, а связи между ними – ненаправленными ребрами, над которыми может проставляться степень связи (1 или буква, заменяющая слово "много") и необходимое пояснение.
Между двумя сущностям, например, А и В возможны четыре вида связей.
Первый тип – связь ОДИН-К-ОДНОМУ (1:1): в каждый момент времени каждому представителю (экземпляру) сущности А соответствует 1 или 0 представителей сущности В:
Студент может не "заработать" стипендию, получить обычную или одну из повышенных стипендий.
Второй тип – связь ОДИН-КО-МНОГИМ (1:М): одному представителю сущности А соответствуют 0, 1 или несколько представителей сущности В.
Квартира может пустовать, в ней может жить один или несколько жильцов.
Так как между двумя сущностями возможны связи в обоих направлениях, то существует еще два типа связи МНОГИЕ-К-ОДНОМУ (М:1) и МНОГИЕ-КО-МНОГИМ (М:N).
Пример. Если связь между сущностями МУЖЧИНЫ и ЖЕНЩИНЫ называется БРАК, то существует четыре возможныхпредставления такой связи:
Характер связей между сущностями не ограничивается перечисленными. Существуют и более сложные связи:
множество связей между одними и теми же сущностями
(пациент, имея одного лечащего врача, может иметь также несколько врачей-консультантов; врач может быть лечащим врачом нескольких пациентов и может одновременно консультировать несколько других пациентов);
тренарные связи
(врач может назначить несколько пациентов на несколько анализов, анализ может быть назначен несколькими врачами нескольким пациентам и пациент может быть назначен на несколько анализов несколькими врачами);
связи более высоких порядков, семантика (смысл) которых иногда очень сложна.
В соответствии с рассмотренными понятиями содержание и процесс создания инфологической модели для отдельной предметной области можно представить следующей последовательностью действий:
Формирование инфологического графа данных (ER-диаграммы):
Выявление сущностей и их взаимосвязей, данные о которых отражаются в документах и обрабатываются в процессе решения задач;
Разработка схемы инфологического графа;
Формирование описаний объектов и связей, их атрибутов и доменов.
Анализ и формирование закономерностей и ограничений целостности функционального типа на множестве атрибутов инфологического графа.
Формирование инфологического графа данных
Выявление сущностей представляет собой сложный трудно формализуемый процесс, осуществляемый в результате многоаспектного анализа и классификации типов данных, необходимых для решения задачи и\или используемых в документах. Каждая сущность определяется некоторым необходимым для решения задачи набором свойств. Сущность вводится в рассмотрение если она обладает хотя бы одним свойством. Она на графе обозначается прямоугольником с указанием ее имени. Имя сущности указывается в виде имени существительного в именительном падеже в единственном числе. При построении инфологической модели желательно дать словесную интерпретацию каждой сущности, атрибутов и доменов особенно если возможно неоднозначное толкование понятия.
Описание каждого типа объекта или связи состоит в указании значений следующих характеристик:
полное наименование типа объекта или связи;
удобное для пользователя сокращение наименований (аббревиатура) типа объекта или связи;
определение смысла моделируемого (отображаемого) типового объекта;
Описание атрибутов для введения в схему ИЛГ типов объектов и связей включает:
полное наименование атрибута (возможно с указанием роли в описании объекта);
удобное для пользователя сокращение наименований атрибута;
определённость значения атрибута в базе данных: 1 – всегда определено, 0 – может быть неизвестным;
характер значения атрибута по отношению к задаче: входной (вх) – значение атрибута задаётся, выходной (вых) – значение атрибута определяется в результате решения задачи, входной-выходной (вх-вых) – атрибут имеет неопределённый характер в зависимости от запросов пользователя;
шифр домена – идентификатор описания области значений атрибута.
Описание доменов атрибутов включает:
шифр (идентификатор) домена;
полное наименование домена;
определение домена, содержащее определение правил формирования значений, тип значений (числовой целый, числовой вещественный, символьный и др.), диапазон допустимых числовых значений, максимальное количество значений (мощность документа), полный список значений (если они известны) и т.д.;
наименование единицы измерения величины значения (км, град., тонн и т.д.);
шаблон, описывающий структуру каждого значения атрибута (либо в соответствии с некоторым языком программирования, либо с указанием необходимых пояснений);
примеры значений.
При описании предметной области надо отразить связи между объектами. Различают связи типа «один к одному», «многие к одному» и «многие ко многим». Кроме степени связи в инфологической модели для характеристики связи между разными сущностями надо указать так называемый «класс принадлежности», который показывает, может ли отсутствовать связь объекта данного класса с каким-либо объектом другого класса. Класс принадлежности сущности должен быть либо обязательным, либо необязательным.
Пример. Предположим, что предметной областью является институт, а объект «ЛИЧНОСТЬ» отображает абитуриентов обязательно должен владеть каким-либо иностранным языком, но никто ни владеет более чем одним языком. В этом случае ИЛГ будет иметь вид:
ЛИЧНОСТЬ
Иностранный язык
Процесс разработки ИЛГ данных в общем случае носит итерационных характер.
Формирование закономерностей и ограничений целостности
функционального типа
Целостностью БД называется ее способность сохранять достоверные соответствующие действительности данные в процессе их обновления, при возможных воздействиях различных искажающих факторов.
Понятие и основные функции СУБД.
1. Назначение, средства и основные функции СУБД
СУБД представляет собой программное обеспеченье, которое управляет доступом к базе данных.
Основными средствами типовой СУБД являются:
средства задания (описания) структуры базы данных;
средства конструирования экранных форм, предназначенных для ввода данных, просмотра и их обработки в диалоговом режиме;
средства задания запросов для выборки данных при заданных условиях, а также выполнения операций по их обработке;
средства создания отчетов из базы данных для вывода на печать результатов обработки в удобном для пользователя виде;
языковые средства – макросы, встроенный алгоритмический язык (Dbase, Visual Basic или другой), язык запросов (QBE, SQL) и т.п., которые используются для реализации нестандартных алгоритмов обработки данных, а также процедур обработки событий в задачах пользователя;
средства создания приложений пользователя (генераторы приложений, средства создания меню и панелей управления приложениями), позволяющие объединить различные операции работы с базой данных в единый технологический процесс.
Используя эти средства СУБД выполняет следующие функции:
Определение данных.
СУБД должна допускать определение данных (внешние схемы, концептуальную схему, внутреннюю схему, а также все связанные отображения) в исходной форме и преобразовывать эти определения в форму соответствующих объектов. СУБД должна «понимать» синтаксис языка определений данных.
Обработка данных.
СУБД должна иметь обрабатывать запросы пользователя на выборку, изменение или удаление существующих данных в базе данных или на добавление новых данных в базе данных. Данные операции должны выполняться с помощью планируемых и не планируемых запросов.
Планируемый запрос – необходимость которого предусмотрена заранее. Администратор базы данных должен настроить проект базы данных таким образом, чтобы гарантировать достаточное быстродействие для таких запросов.
Не планируемый запрос – это, наоборот, специальный запрос, необходимость которого не была предусмотрена заранее. Проекты БД могут подходить, а могут и не подходить для реализации этих запросов. Это проблема.
Обеспечение целостности и безопасности данных.
Целостность БД – есть свойство БД, означающее, что в ней содержится полная непротиворечивая и адекватно отражающая предметную область информация. Целостность состояния БД описывается с помощью ограничений целостности в виде условий, которым должны удовлетворять хранимые в базе данные.
К средствам обеспечения целостности данных на уровне СУБД относятся:
встроенные средства для назначения первичного ключа, в том числе средства для работы с типом полей с автоматическим приращением, когда СУБД самостоятельно присваивает новое уникальное значение;
средства поддержания ссылочной целостности, которые обеспечивают запись информации о связях таблиц и автоматически пресекают любую операцию, приводящую к нарушению ссылочной целостности.
Для обеспечения безопасности данных (т.е. незаконных обращений к БД) СУБД обеспечивает выполнение следующих операций:
шифрование прикладных программ;
шифрование данных;
защиту паролем;
ограничение уровня доступа (к базе данных, к таблице, к словарю, для пользователя);
восстановление данных и дублирование.
Для восстановления данных и поддержания целостности в СУБД используется механизм транзакций.
Транзакцией называется некоторая неделимая последовательность операций над данными БД, которая отслеживается СУБД от начала и до завершения. Если по каким-либо причинам (сбои и отказы оборудования, ошибки в программном обеспечении) транзакция остается незавершенной, то она отменяется.
Транзакции должны быть присущи три основных свойства:
атомарность (выполняются все входящие в транзакцию операции или ни одна);
сериализуемость (отсутствует взаимное влияние выполняемых в одно и то же время транзакций);
долговечность (даже крах системы не приводит к утрате результатов зафиксированной транзакции).
Пример транзакции: Операция перевода денег с одного счета на другой в банке. Здесь необходим двух шаговый процесс. Сначала снимают деньги с одного счета, затем добавляют к другому. Если хотя бы одно действие будет не выполнено, то результат операции будет неправильный.
Ведение журнала изменений в БД.
Выполняется СУБД для обеспечения надежности хранения данных в базе при наличии аппаратных сбоев, а также ошибок в программном обеспечении.
Журнал СУБД – это особая БД или часть основной БД, непосредственно недоступная пользователю и используемая для записи информации обо всех изменениях БД. Для поддержания надежности хранения и поддержания самого журнала в системе хранятся несколько его копий.
Производительность.
СУБД должна выполнять свои функции с максимально возможной эффективностью.
Производительность СУБД оценивается:
временем выполнения запросов;
скоростью поиска информации в неиндексированных полях;
временем выполнения операций импортирования базы данных из других форматов;
скоростью создания индексов и выполнения таких массовых операций, как обновление, вставка, удаление данных;
максимальным числом параллельных обращении к данным в многопользовательском режиме;
временем генерации отчетов.
На производительность СУБД оказывают влияние два фактора:
СУБД несут дополнительную нагрузку за соблюдением целостности данных (в отличии от других программ);
Производительность собственных прикладных программ сильно зависит от правильного проектирования и построения базы данных.
Самые быстрые программные изделия отнюдь не обладают самыми развитыми функциональными возможностями на уровне процессора СУБД.
Обеспечение работы в многопользовательских средах.
Обработка данных в многопользовательских средах предлагает выполнение программным продуктом следующих функций:
блокировку БД, файла, записи, поля;
идентификацию станции, установившей блокировку;
обновление информации после модификации;
контроль за временем и повторение обращения;
обработку транзакций.
Обеспечение импорт – экспорт:
возможность обработки СУБД информации, подготовленной другими программными средствами;
возможность использования другими программами данных, сформированных средствами рассматриваемой СУБД.
Обеспечение доступа к данным посредством языка SQL.
Язык запросов SQL (Structured Query Language) реализован в ряде популярных СУБД как базовый, либо как альтернативный. Он является международным стандартом языка запросов. Поэтому совместимость с SQL - системами играет большую роль, когда предполагается проведение работы с корпоративными данными. СУБД хорошо подготовлены в качестве средств первичной обработки информации для SQL– систем, могут открывать двери в системы с архитектурой клиент – сервер.
СУБД имеют доступ к данным в следующих случаях:
базы совместимы с ODBC (Open Database Connectivity открытое соединение баз данных);
реализована естественная поддержка SQL – баз данных;
возможна реализация SQL – запросов локальных данных.
Многие СУБД могут «прозрачно» подключаться к входным SQL - подсистемам с помощью ODBC или драйверов, являющихся их частью.
Например, Access - работают с источниками SQL - данных, совместимых с системой ODBC .
2. Классификация современных СУБД
К важным признакам классификации современных СУБД относятся:
среда функционирования – класс компьютеров и операционных систем (платформа), на которых работает СУБД, в том числе разрядность операционной системы, на которую ориентирована СУБД (16 или 32 - разрядные);
тип поддерживаемой в СУБД модели данных – сетевая, иерархическая или реляционная;
возможность встроенного языка СУБД, его переносимость в другие приложения (SQL, Visual Basic, Object Pal и т. п.);
наличие развитых диалоговых средств конструирования (таблиц, форм, запросов, отчетов, макросов) и средств работы с базой данных;
возможность работы с нетрадиционными данными в корпоративных сетях (страницы HTML, сообщения электронной почты, изображения, звуковые файлы, видео клипы и т.п.);
используемая концепция работы с нетрадиционными данными – объектно-реляционные, объектные;
уровень использования – локальная (для настольных систем) архитектура клиент – сервер, с параллельной обработкой данных (многопроцессорная);
использование объектной технологии OLE;
возможности интеграции данных из разных СУБД;
степень поддержки языка SQL и возможности работы с сервером баз банных (SQL - сервером);
наличие средств отчуждаемых приложений, позволяющий не проводить полной инсталляции СУБД для тиражируемых приложений пользователя.
3. Обзор современных систем управления БД. Использование СУБД в локальных и многопользовательских информационных системах
Перспективы развития СУБД
Анализ современных СУБД и реализованных на их основе приложений позволяет предположить следующие направления их развития:
1) поиск более совершенных моделей представления и типов данных в базах;
2) разработка новых архитектур СУБД;
3) расширение областей применения БД;
4) улучшение сервиса конечных пользователей, администраторов и разработчиков.
В рамках первого направления представляют интерес СУБД, поддерживающие несколько моделей или одну интегрированную модель и позволяющие удобно программировать вычисления, обрабатывать символьную и графическую информацию, работать со знаниями, аудио- и видеоинформацией, осуществлять доступ к распределенной информации, организовывать телеконференции, обучение и выполнять другие операции. На пути к решению этой проблемы находится попытка поддержки во многих современных СУБД различных типов двоичных данных и типа гиперссылка.
Новые архитектуры СУБД. Современные информационные системы в ряде случаев требуют от СУБД возможности хранить и обрабатывать данные объемом порядка Петабайтов (PetaByte - 1013 байтов). Несмотря на значительный рост возможностей по объему магнитных и магнитооптических дисков, вряд ли их будет достаточно для информационных систем, работающих со сверхбольшими объемами данных. В связи с этим говорят о необходимости организации нового уровня иерархии носителей - «третичной памяти». Устройствами третичной памяти могут быть устройства в виде стоек магнитных дисков или лент с автоматически сменяемыми носителями.
К новым областям применения СУБД можно отнести следующие два класса задач: обработки сверхбольших объемов информации и распределенной обработки информации в сетях ЭВМ.
В рамках четвертого направления перспективные СУБД должны позволять решать стоящие прикладные задачи с лучшим качеством. Для этого, они будут опираться на более совершенную элементную базу (повышение объема хранимых данных, увеличение производительности обработки запросов), иметь более совершенную программную организацию (распределенная обработка, безопасность хранимой информации, защита прав собственности), обладать более гибкими и удобными интерфейсами для программистов, пользователей и администраторов БД.
Осознание необходимости хранения в базах данных не только информации о предметной области, но и информации разработчиков приложений привела к тому, что некоторые крупные фирмы (Огас1е, Microsoft) заявили о скором появлении программных продуктов управления метаданными - объектно-ориентированных репозиториях. Такие репоэитории полезны администраторам БД в управлении метаданными, а также разработчикам, так как позволяют при разработке приложений многократно использовать готовые компоненты.
Одним из новых требований в области информационных технологий является обеспечение безостановочной работы. С одной стороны, возможности компьютеров, а с другой - конкуренция привели к тому, что некоторые информационные системы работают непрерывно. Появился так называемый «стандарт готовности», который определяется как возможность пользователя совершать интерактивное обновление данных 24 часа в сутки, 7 дней в неделю, 52 недели в год. Часто безостановочный режим работы называют «7*24-» или «24*365-работой». Это означает, что в каждый день года в любое время пользователю доступны информационные ресурсы, без скидок на выходные и праздничные дни.
Такой уровень качества прикладных систем, использующих БД, помимо мер повышения надежности и устойчивости непрерывной работы, выдвигает и новые требования к организации обслуживания систем. Раньше существовали «окна» ночного времени, в которых выполнялось резервное копирование, исправление ошибок, реорганизация БД, установка новых версий ПО, модернизация компьютера и ОС. Теперь это требуется делать в «горячем» режиме, совмещая с текущим обслуживанием пользователей. Решение этих задач требует новых подходов к организации вычислительных работ и управлению БД, при котором допустимо параллельное и бесконфликтное решение задач пользователей и администратора БД.
В современных условиях появляется потребность в обеспечении информационного обслуживания мобильного пользователя. Ранее типовой схемой ввода и обновления данных в базе являлся пакетный ввод информации и оперативный ввод с терминалов пользователей. Теперь нужно иметь возможность ведения БД как на центральной (стационарной) ВС, так и на портативном (переносном) компьютере. При этом необходимо иметь средства загрузки/выгрузки выбранных данных с центральной на портативную ЭВМ, а также средства обеспечения согласованности информации в обеих базах.
Определенные шаги в реализации такого рода услуг в некоторых СУБД уже сделаны. Так, в системе Ассеss имеется средство репликации БД. Другим примером реализации средства работы с БД мобильного пользователя является СУБД Огас1е Lite (Огас1е), функционирующая в карманных компьютерах с операционной системой Windows CE. Эта СУБД, называемая клиентской, обеспечивает доступ через сеть к данным и приложениям, поддерживаемым системой Огас1е 8. Категорию пользователей, для которых разработана Огас1е Lite, составляют менеджеры, руководители и специалисты, находящиеся за пределами своих рабочих мест и требующие подключения к системным ресурсам. Им предоставляется возможность осуществлять синхронизацию локальных БД с информацией на сервере, выполнять запросы к корпоративным БД, запускать приложения для обработки данных на своем компьютере и на сервере.
Использование СУБД в локальных и многопользовательских средах.
Функциональные ИС могут размещаться на одном или на нескольких компьютерах.
Организация функционирования локальной ИС на одном компьютере в среде некоторой ОС возможна с помощью следующих вариантов использования программных средств:
«полной СУБД»;
приложения и «усеченной» (ядра) СУБД;
независимого приложения.
Первый способ. В дисковой памяти ПК помещается вся СУБД. Взаимодействия пользователя с СУБД происходит напрямую через пользовательский (терминальный) интерфейс СУБД, либо с помощью приложения.
Приложение выполняется в режиме интерпретации.