КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Обзор СУБДРынок программного обеспечения ПК располагает большим числом разнообразных по своим функциональным возможностям коммерческих систем управления базами данных общего назначения, а также средствами их окружения практически для всех массовых моделей машин и для различных операционных систем. Используемые в настоящее время СУБД обладают средствами обеспечения целостности данных и безопасности, что дает возможность разработчикам гарантировать большую безопасность данных при меньших затратах сил на низкоуровневое программирование. Продукты, функционирующие в среде WINDOWS, выгодно отличаются удобством пользовательского интерфейса и встроенными средствами повышения производительности. Наибольшую популярность завоевали следующие СУБД: dBASE, FoxPro, Paradox, Access, Oracle. Производительность СУБД.Производительность СУБД оценивается: · временем выполнения запросов; · скоростью поиска информации; · временем выполнения операций импортирования базы данных из других форматов; · скоростью создания индексов и выполнения таких массовых операций, как обновление, вставка, удаление данных; · максимальным числом параллельных обращений к данным в многопользовательском режиме; · временем генерации отчета. Достаточно быстрой СУБД является FoxPro, однако она не обладает средствами соблюдения целостности данных в отличие от более медленной СУБД Access. Обеспечение целостности данных на уровне базы данных. Эта характеристика подразумевает наличие средств, позволяющих удостовериться, что информация в базе данных всегда остается корректной и полной. Должны быть установлены правила целостности, и они должны храниться вместе с базой данных и соблюдаться на глобальном уровне. Access и Paradox for Windows лучше других СУБД обеспечивают надежность сохранения целостности данных на уровне базы данных; правила хранятся вместе с базой данных и автоматически соблюдаются. Обеспечение безопасности. Некоторые СУБД предусматривают средства обеспечения безопасности данных. Такие средства обеспечивают выполнение следующих операций: · шифрование прикладных программ; · шифрование данных; · защиту паролем; · ограничение уровня доступа (к базе данных, к таблице, к словарю, для пользователя). Самый высокий уровень безопасности данных реализован в СУБД dBASE IV. Администратор может назначить системе различные права доступа на уровне файла, поля, а также организовать автоматическое шифрование данных. Хорошими характеристиками обеспечения безопасности отличается Access. Он предусматривает назначение паролей для индивидуальных пользователей или групп пользователей и присвоение различных прав доступа отдельно таблицам, запросам, отчетам, макрокомандам или новым объектам на уровне пользователя или группы. Работа в многопользовательских средах. Практически все рассматриваемые СУБД предназначены для работы в многопользовательских средах, но обладают для этого различными возможностями. Обработка данных в многопользовательских средах предполагает выполнение программным продуктом следующих функций: · блокировку базы данных, файла, записи, поля; · идентификацию станции, установившей блокировку; · обновление информации после модификации; · контроль за временем и повторение обращения; · обработку транзакций (транзакция - последовательность операций пользователя над базой данных, которая сохраняет ее логическую целостность); · работу с сетевыми системами (LAN Manager, NetWare, Unix). Хорошими возможностями для работы в многопользовательских средах обладают СУБД Paradox for DOS, Access и dBASE. Импорт-экспорт. Эта характеристика отражает: · возможность обработки СУБД информации, подготовленной другими программными средствами; · возможность использования другими программами данных, сформированных средствами рассматриваемой СУБД. Особый интерес представляют следующие форматы файлов: ASCII-файлы, .DBF, .WK*, .XLS. Все рассматриваемые здесь СУБД обладают хорошими возможностями импорта-экспорта данных.
Выделим следующие основные функции СУБД: · управление данными во внешней памяти; · управление буферами оперативной памяти; · управление транзакциями; · журнализация и восстановление БД после сбоев; · поддержание языков БД. Логически в современной реляционной СУБД можно выделить: внутреннюю часть - ядро СУБД (часто его называют Data Base Engine), компилятор языка БД (обычно SQL), подсистему поддержки времени выполнения, набор утилит. В некоторых системах эти части выделяются явно, в других - нет, но логически такое разделение можно провести во всех СУБД. Ядро СУБД отвечает за управление данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями и журнализацию. Соответственно, можно выделить такие компоненты ядра (по крайней мере, логически, хотя в некоторых системах эти компоненты выделяются явно), как менеджер данных, менеджер буферов, менеджер транзакций и менеджер журнала. Как можно было понять из первой части этой лекции, функции этих компонентов взаимосвязаны, и для обеспечения корректной работы СУБД все эти компоненты должны взаимодействовать по тщательно продуманным и проверенным протоколам. Ядро СУБД обладает собственным интерфейсом, не доступным пользователям напрямую и используемым в программах, производимых компилятором SQL (или в подсистеме поддержки выполнения таких программ) и утилитах БД. Ядро СУБД является основной резидентной частью СУБД. При использовании архитектуры "клиент-сервер" ядро является основной составляющей серверной части системы. Основной функцией компилятора языка БД является компиляция операторов языка БД в некоторую выполняемую программу. Основной проблемой реляционных СУБД является то, что языки этих систем (а это, как правило, SQL) являются непроцедурными, т.е. в операторе такого языка специфицируется некоторое действие над БД, но эта спецификация не является процедурой, а лишь описывает в некоторой форме условия совершения желаемого действия (вспомните примеры из первой лекции). Поэтому компилятор должен решить, каким образом выполнять оператор языка прежде, чем произвести программу. Применяются достаточно сложные методы оптимизации операторов, которые мы подробно рассмотрим в следующих лекциях. Результатом компиляции является выполняемая программа, представляемая в некоторых системах в машинных кодах, но более часто в выполняемом внутреннем машинно-независимом коде. В последнем случае реальное выполнение оператора производится с привлечением подсистемы поддержки времени выполнения, представляющей собой, по сути дела, интерпретатор этого внутреннего языка. Наконец, в отдельные утилиты БД обычно выделяют такие процедуры, которые слишком накладно выполнять с использованием языка БД, например, загрузка и выгрузка БД, сбор статистики, глобальная проверка целостности БД и т.д. Утилиты программируются с использованием интерфейса ядра СУБД, а иногда даже с проникновением внутрь ядра. Основные цели разработчиков СУБД следующие: · обеспечить ненавигационный интерфейс высокого уровня пользователя с системой, позволяющий достичь независимости данных и дать возможность пользователям работать максимально эффективно; · обеспечить многообразие допустимых способов использования СУБД, включая программируемые транзакции, диалоговые транзакции и генерацию отчетов; · поддерживать динамически изменяемую среду баз данных, в которой отношения, индексы, представления, транзакции и другие объекты могут легко добавляться и уничтожаться без приостановки нормального функционирования системы; · обеспечить возможность параллельной работы с одной базой данных многих пользователей с допущением параллельной модификации объектов базы данных при наличии необходимых средств защиты целостности базы данных; · обеспечить средства восстановления согласованного состояния баз данных после разного рода сбоев аппаратуры или программного обеспечения; · обеспечить гибкий механизм, позволяющий определять различные представления хранимых данных, и ограничивать этими представлениями доступ пользователей к базе данных по выборке и модификации на основе механизма авторизации; · обеспечить производительность системы при выполнении упомянутых функций, сопоставимую с производительностью существующих СУБД низкого уровня.
На данной схеме мы видим на трех различных уровнях абстракции единую базу данных, которая может быть одной из многих, использующих одну и ту же СУБД. Подчеркнем, что реально хранится только физическая база данных. Мы же предпочитаем представлять ее себе не на уровне бит, а на более высоком уровне — как совокупность файлов и т. п. (т.е. свои собственные представления о базе данных). Специальные программные средства СУБД позволяют осуществлять переходы от одного уровня к другому. Например: Запрос пользователя к базе перевести на уровень поиска адресов нужных данных в машинной памяти. Концептуальная база данных — это абстрактное отображение физической БД (равносильно, физическая БД есть реализация концептуальной БД), а представления — являются абстракциями некоторых частей концептуальной БД. Различия в уровнях абстракции между представлениями 1…n и концептуальной БД небольшие. И представление, и концептуальная БД имеют дело с абстракциями такого кода как “пассажир”, и абстрактными связями, как “купил билет на самолет“. Физическая БД находится на самом нижнем уровне абстракции. Она размещается на устройствах внешней памяти, (например, на магнитных дисках или лентах). Сама по себе физическая база данных может быть представлена на нескольких уровнях абстракции — от уровня записей и файлов, возможно, через уровень логических записей, поддерживаемый операционной системой, в обстановке которой работает СУБД, до уровня бит и физических адресов на запоминающих устройствах. • Представления — это абстрактная модель некоторой части концептуальной БД или концептуальной схемы. • Подсхема — абстрактная модель какой-либо части концептуальной схемы. Например: Авиалиния может иметь автоматизированную службу продажи билетов, но ни сами программы, ни те, кто с ними работают, не обязаны знать о файлах персонала или запланированных для летчиков рейсах. Необходимо знать о рейсах и возможно частично о персонале (кто из летчиков допущен к полетам на Боинг-747) и абсолютно не нужны сведения о заработной плате или пассажирах на данный рейс.
Понятие об информации как о знании о чем-либо сложилось уже давно. Человек создал естественные информационные системы, позволяющие снабжать информацией процессы производства, планирования, принятия решений. Под информацией понимают любые сведения о каком-либо событии, сущности, процессе и т.п. Наряду с понятием информации часто употребляют понятие “данные”. Данные - это признаки или наблюдения, которые только хранятся, но не используются. В случае использования данных для уменьшения неопределенности знаний о каком-либо объекте данные превращаются в информацию. База данных (БД) – это поименованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области. С позиции моделирования источник информации называют предметной областью (ПрО), а используемую знаковую систему (способ абстрагирования предметной области) - моделью данных (МД). Описание предметной области в терминах выбранной модели данных называют концептуальной схемой ПрО. Предметная область— часть реального мира, которая описывается или моделируется с помощью БД или СУБД (ею может быть предприятие, или его некоторая функциональная часть, процесс, система и т.д.). Модель предметной области создается с использованием понятий информационных объектов и функций, выполняемых этими объектами. Для описания ПрО используют три основных конструктивных элемента ‑ сущность, атрибут и связь. 1.Сущность ‑ это обобщённое понятие для обозначения множества однородных объектов ПрО, информацию о которых необходимо собирать и хранить в информационной системе. Сущность определяется своим уникальным именем и перечнем атрибутов, характеризующих свойства сущности. Информационный объект— идентифицируемый объект реального мира, о котором хранятся описательные данные (люди, счета, изделия, события и т.д.). Информационный объект описывается совокупностью заданных элементов данных (характеристик объекта) которым присваиваются конкретные значения (символы, числа, коды). Объектом называется элемент предметной области, информацию о котором мы сохраняем. Объект может быть реальным (например, человек, изделие или населенный пункт) и абстрактным (например, событие, счет покупателя или изучаемый студентами курс). Так, в области продажи автомобилей примерами объектов могут служить МОДЕЛЬ АВТОМОБИЛЯ, КЛИЕНТ и СЧЕТ. На товарном складе - это ПОСТАВЩИК, ТОВАР, ОТПРАВЛЕНИЕ и т. д. Элемент данных— характеристика объекта, который определяется именем и одним или совокупностью некоторых значений (величин). Именами элементов данных могут быть: табельный номер служащего, должность и т.д. Значение элемента данных определяет эту характеристику для конкретного экземпляра информационного элемента. Совокупность таких значений представляет собой запись. Пример: Объект изделия описывается элементами данных - код изделия, наименования изделия, материал, стоимость, количество – совокупность знаний этих элементов для конкретного изделия и представляет запись. Идентификатор— это элемент (совокупность элементов) данных, значение, которого используется для определения одного или нескольких связанных с ним других элементов. Идентификация— процесс действия идентификатора. Она может быть: уникальной (однозначной) и неуникальной (многозначной). При однозначной идентификации идентифицируемый элемент (атрибут) является функционально зависимым от ключа.
|