Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
По способу реакции на нарушение.
Основными стратегиями поведения при обнаружении нарушения являются стратегии запрета и коррекции. В первом случае при нарушении ограничения выполняющаяся операция отменяется, во втором – производится корректировка данных, приводящая к восстановлению целостности. Примерами корректирующих действий являются каскадное удаление подчиненных записей при удалении главной записи и пересчет вычисляемых данных при изменении исходных данных. При контроле ссылочной целостности часто используются также корректирующие стратегии 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; Просмотров: 510; Нарушение авторского права страницы