Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Основные требования к организации СУБД. Функции СУБД. Администратор баз данных




Понятие БД и СУБД. Отличие СУБД от файловых систем.

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

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

Пример 1: |A|B|C|D|E| - файл 1. Пусть существует законченное приложение, использующее этот файл. Если какому-то новому приложению понадобятся данные из файла 1 и дополнительно новые поля, то в случае использования традиционных средств работы с файлами существует 3 варианта:

1. Добавить новые поля в структуру: |A|B|C|D|E|P|Q|. В этом случае недостатком файловой системы является так называемый «эффект спагетти» - переписывание ранее написанный код в плане ввода-вывода.

2. Скопировать первый файл: |A|B|C|D|E|P|Q| - файл 2. В этом случае увеличивается избыточность данных, которая плоха не только и не столько тем, что под копию данных тратится лишняя память, сколько тем, что одни и те же данные могут оказаться на разных стадиях обновления.

3. F1 без изменения, а во второй файл скопировать только ключ записи из файла 1 и в файл 2 записать только поля |P|Q|. Лучший вариант, когда в файле 1 содержится искусственные ключи, например, порядковые номера.

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

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

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

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

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

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

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


 


Основные требования к организации СУБД. Функции СУБД. Администратор баз данных

Основные функции:

1) Предоставление высокоуровневого инструментария для работы с данными;

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

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

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

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

5) Поддержка логической и физической независимости данных за счет многоуровневой архитектуры СУБД.

6) Поддержка транзакций (последовательность действий, которая обрабатывается как одно логически неделимое действие)

Свойства транзакций:

 а) атомарность - либо все действия, объявленные в транзакции, независимо от того, где они выполняются, полностью выполняются и результат фиксируется во внешней памяти, либо все действия откатываются.

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

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

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


 

7) Логическая и физическая независимость данных. Логическая независимость означает, что изменение данных на логическом уровне не приводит к необходимости внесения изменений в ранее написанный программный код и в представление данных на внешнем уровне, которых эти изменения не касаются. Физическая независимость данных означает, что изменение на физическом уровне не приводит к изменениям ни на логическом, ни на внешнем уровнях.

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

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

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

11) Поддержка ограничений целостности данных.


Администратор.

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

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

 










Последнее изменение этой страницы: 2018-05-29; просмотров: 399.

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