Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


По способу реакции на нарушение.



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

Дополнительные стратегии для связей:

– очистка – подчиненная связь становится свободной

– переключение – запись, утратившая связь подключается к заведомо существующей другой записи (SET DEFAUT)

По моменту выполнения проверки.

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

 

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

Кроме того, одно и то же ограничение на разных этапах проектирования может представляться по-разному.

Например, в описании предметной области может быть указано:

«Каждый сотрудник должен относиться к какому-нибудь отделу»

В инфологической модели это может быть отражено в описании в виде:

«Связь ОТДЕЛ-СОТРУДНИК является обязательной со стороны сотрудника»

В описании логической модели рассматриваемое ограничение может быть представлено в форме:

«Атрибут ОТДЕЛ отношения СОТРУДНИК является внешним ключом к отношению ОТДЕЛ. Данный атрибут является обязательным»

Наконец, при физическом проектировании реализация ограничения может предстать, например, в таком виде:

otdel CHAR(30) NOT NULL REFERENCES otdel

 

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

Более широким понятием по отношению к триггеру является по­нятие хранимая процедура. Хранимые процедуры описывают фраг­менты логики приложения, хранятся и исполняются на сервере, что позволяет улучшать характеристики производительности.

Физическое проектирование

Решаются задачи:

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

2) физическая реализация объектов базы

3) определение дополнительных объектов: индекс или, например, домен в IB, генераторы…

4) определение типа и формата данных

5) определение реализации хранимых данных

6) определение прав доступа пользователей

7) настройка поддержки многопользовательского доступа

8) определение методов и средств для восстановления данных (параметры копий, зеркало, их размещение)

9) создание представлений


9. Средства доступа к данным и разработки приложений

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

1) универсальные

2) прикладные (проблемно-ориентированные)

Общая схема обращения к данным имеет вид:

Универсальные средства

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

Их недостатки:

- не связаны с конкретной прикладной областью;

- работают в терминах операций с БД;

- необходимо или желательно знание языка СУБД;

- требует высокой квалификации пользователя.

Достоинства:

+ не требуется трудоёмкая разработка приложения

Универсальные средства делятся на две группы:

1) средства и утилиты СУБД:

Примерами таких средств являются:

- интерфейс FoxPro, объединяющий набор команд системного меню, обеспечивающий большое число операций с БД, и набор диалоговых окон работы с БД, таких как View, Browse, Command;

- утилита WISQL, обеспечивающая интерактивный доступ в командном режиме к данным БД Interbase-формата, а также просмотр метаданных БД;

- утилиты: командный или графический интерфейс;

- ServerManager.

2) утилиты сторонних (внешних) разработчиков:

Примерами универсальных средств второй группы являются:

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

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

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

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

Прикладные средства

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

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

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

1) средства разработчика, реализованные в СУБД. Это языки программирования СУБД (например, XBase, диалектом которого является язык FoxPro), трансляторы, отладчики, утилиты работы с БД, библиотеки и наборы компонент, реализующие типовые функции и элементы интерфейса.

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

3) интегрированные средства разработки, предлагаемые независимыми поставщиками. Такие средства, в отличие от средств СУБД, позволяют, как правило, работать с большим числом распространенных форматов БД. Примером независимого средства разработки является пакет Power Builder, позволяющий создавать приложения для работы с большинством форматов распространенных серверных и некоторых персональных СУБД. Также получили распространение C++ Builder, Delphy.

 

При выборе средств разработки следует учитывать:

1) поддерживаемую рассматриваемыми средствами модель БД и модель обработки;

2) развитость предоставляемого инструментария;

3) совместимость получаемых результатов с имеющимися разработками;

4) наличие рассматриваемых средств и их стоимость при отсутствии;

5) наличие опыта работы с рассматриваемыми средствами.

При работе с БД используются различные технологии доступа:

- низкий уровень (API),

- средний уровень (ODBC),

- высокий уровень (BDE, IBExpress, ADO).

 

СУБД

Основным средством работы с данными является СУБД.

Основные задачи СУБД:

1) создание и модификация БД

2) ввод и актуализация данных

3) развитие БД

4) поддержка разработки приложений

5) поддержка многопользовательского доступа

6) поддержка ограничений целостности

7) поддержка контроля доступа

8) поддержка резервирования и восстановления

Наиболее распространенными СУБД являются:

1) Персональные системы:

─ MS Access: средство для конечного пользователя

─ VFP: средство для разработчика

─ Семейство X-Base (FoxPro, DBase), Paradox, Clarion

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

2) Серверные системы:

─ MS SQL Server

─ Oracle

─ InterBase

─ My SQL: быстрая, бесплатная, сильно урезана

─ DB: очень старая

Для серверных систем характерны: наличие клиентской и серверной частей, потоков обмена в SQL-серверах.

 

 

 

Состав СУБД:

- ядро;

- интерфейсы пользователя;

- средства обмена с приложениями;

- средства разработки;

- утилиты обслуживания.

 

Общая схема обработки обращений в СУБД:

1) Контроль доступа: если команда разрешена, то она принимается к обработке, иначе сообщение о нарушении прав доступа

2) Процессор команд: анализ команды, перенаправление на обработку.

3) Контроллер целостности: проверяются ограничения целостности для команд ввода модификаций.

4) Обработчик запросов: основная часть – оптимизатор запросов, определяет возможные планы исполнения запросов, выбирает наилучший (он может из одной команды сделать несколько).

5) Планировщик: из параллельно поступающих потоков информации формирует единый поток.

6) Контроллер данных: обеспечивает выполнение операций с данными, при выполнении происходит обмен с диском через буфера, при выполнении взаимодействует с файловой системой.

7) Контроллер транзакций: хранит историю и состояние транзакций, управляет их поведением.

 

Наиболее применяемые СУБД (2002г.):

- MS SQL Server (32, 3%),

- Oracle (16, 1%),

- InterBase (12, 6%),

- MySQL (10, 2),

- MS Access (6, 6%),

- Visual FoxPro (4, 5%).


10. Язык SQL

Стандартизированный язык работы с данными через СУБД реализован в разном объеме во всех реляционных СУБД. Назначение – определение структуры данных, актуализация данных, выборка данных, исполнение служебных функций.

История создания:

Прототип SQL обнародован в 1974 году, назывался он SEQUEL. (Структурированный (S) английский (E) язык (L) формулирования запросов (QUE)). Начало коммерческой реализации – основной вариант в системе Oracle.

В 1986 – стандартизация языка в США, под аббревиатурой SQL, в 1987 – международный стандарт, под названием SQL1 или SQL-87. 1989 год – вторая редакция SQL1 или SQL-89. В первом стандарте определены основные операторы языка

В 1992 – разработан SQL2 или SQL-92. Полный реляционный стандарт, стандартизация работы с метаданными по аналогии с работой с пользовательскими данными (если ранее стандартизировалась работа с пользовательскими таблицами, теперь пошли далее, раньше данные служебные, описание БД, генераторы и триггеры, хранились, как попало, теперь и служебную данные хранятся как таблицы, так же стандартизовано, в “служебных таблицах”).

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

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

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

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

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-03; Просмотров: 474; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.032 с.)
Главная | Случайная страница | Обратная связь