Трехуровневая модель организации баз данных




Файловая организация данных, ее недостатки

К недостаткам файловой организации данных относятся также:

- структура записей в файле задается в программе (приложении), которая работает с этим файлом;

- при изменении структуры файла необходимо изменять программу (приложение), т.е.

наблюдается сильная зависимость программы от данных;

- если с файлом работают несколько приложений, то необходимо менять все приложения;

- невозможность нескольким пользователям изменить одновременно содержание файла,

т.е. следующий пользователь может изменить файл, если предыдущий закончил изменения и закрыл этот файл.

Эти недостатки файловой организации данных обусловили появление баз данных (БД),

которые позволяют обеспечивать более эффективный доступ к данным и их обработку.

Понятие БД. Преимущества БД

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

Преимущества использования БД заключаются в следующем:

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

2. Возможность обеспечения независимости данных в БД от программ их обрабатывающих.

3. Возможность вести быстрый поиск необходимых данных по запросам пользователя.

4. Возможность обеспечения защиты секретных данных от постороннего вмешательства.

5. Возможность обеспечения целостности данных и др.

Приложения БД

запросы. Это требование пользователя на отбор данных из базы и/или на выполнение определенных действий;

рмы. Формы используются для разных целей. Наиболее часто они применяются для ввода, просмотра и редактирования данных;

еты. Это представление информации из БД в виде, удобном для ее восприятия и анализа пользователем; выводе на печать.

b-страницы, предназначенные для публикации БД в Интернет;

кладные программы. Это программы, работающие с БД, и написанные на языке программирования, встроенном в СУБД

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

Компоненты БД из четырех основных компонент.

Данные пользователя в большинстве современных баз данных представляются в виде

набора таблиц, состоящих из строк (записей) и столбцов (полей).

Метаданные представляют собой описание структуры базы данных с помощью так

называемых системных таблиц.

Индексы являются средством ускорения операций поиска необходимой информации в

базах данных, а также используются при извлечении, модификации и сортировке

данных.

Метаданные приложений описывают структуру и формат пользовательских форм,

отчетов и других компонентов приложений базы данных.

Устройства для хранения БД Жесткие диски (винчестеры), RAID-массивы, CD-ROM, DVD, Оптические библиотеки Роботизированные библиотеки

 

 

Трехуровневая модель организации баз данных

§ внешний уровень – это тот, на котором представляют данные пользователи;

§ концептуальный уровень служит для отображения данных внешнего уровня на внутренний и обеспечивает необходимую независимость данных разных уровней друг от друга;

§ на внутреннем уровне данные воспринимаются СУБД и операционной системой.

Внешний уровень – самый верхний уровень, где каждая модель имеет свое "видение" данных. Этот уровень определяет точку зрения на БД отдельных приложений/ пользователя. Каждое приложение видит и обрабатывает только те данные, которые необходимы именно этому приложению. Остальная часть реального мира его не интересует. Например, система распределения работ использует сведения о квалификации сотрудника, но ее не интересуют сведения об окладе, домашнем адресе и телефоне сотрудника, и наоборот, именно эти сведения используются в подсистеме отдела кадров.

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

высшего уровня о данных всего предприятия. Здесь описывается: какие данные

хранятся в базе, и каковы связи между ними. Этот уровень отражает логическую

структуру всей базы с точки зрения администратора базы данных.

Здесь должны быть отражены:

§ все сущности, включаемые в базу, их атрибуты и связи;

§ накладываемые на данные ограничения;

§ семантическая информация о данных;

§ информация о мерах обеспечения безопасности и поддержки целостности данных.

Физический уровень — собственно данные, расположенные в файлах или в страничных структурах, расположенных на внешних носителях информации.

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

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

Предложенная а рхитектура позволяет обеспечить логическую и физическую независимость при работе с данными. Логическая независимость предполагает возможность изменения одного приложения без корректировки других, работающих с этой же базой данных. А физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с конкретной базой. Логическая независимость устанавливается между 1 и 2 уровнями, а физическая между 2 и 3.

Именно этого не хватало при использовании файловых систем.

 

ТРЕБОВАНИЯ, ПРЕДЪЯВЛЯЕМЫЕ К БАЗЕ ДАННЫХ

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

1) целостность базы данных – требование полноты и непротиворечивости данных;

2) многократное использование данных;

3) быстрый поиск и получение информации по запросам пользователей;

4) простота обновления данных;

5) уменьшение излишней избыточности данных;

6) защита данных от несанкционированного доступа, искажения и уничтожения.

 


Нормализация таблиц

Реляционная база данных считается эффективной, если она обладает приведенными ниже характеристиками.

1. Минимизация избыточности данных. В базе данных присутствует избыточность, если одни и те же данные находятся в нескольких местах. Вследствие этого память компьютера используется неэкономно и времени на корректировку

данных тратится больше.

2. Минимальное использование отсутствующих значений (Null-значений

3. Предотвращение потери информации. Если, например, студент Шкляр Е.К. решит не

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

вообще будет потеряна информация о данном курсе.

Минимизировать избыточность данных позволяет процесс, называемый нормализацией

таблиц. Методику нормализации таблиц разработал американский ученыйА.Ф. Кодд в 1970 г. Ее суть сводится к приведению таблиц к той или иной нормальной форме. Были выделены три нормальные формы – 1НФ, 2НФ, 3НФ. Позже стали выделять нормальную форму Бойса–Кодда (НФБК), а затем 4НФ и 5НФ. Реляционная база данных считается эффективной, если все ее таблицы находятся как минимум в 3НФ.

Определение 1НФ Таблица находится в 1НФ, если все ее поля содержат только простые неделимые значения.

Определение 2НФ Таблица находится в 2НФ, если она удовлетворяет требованиям 1НФ и неключевые поля функционально полно зависят от первичного ключа.

Таблица находится в первой нормальной форме, но не во второй. Цену машины зависит от модели и фирмы. Скидка зависят от фирмы, то есть зависимость от первичного ключа неполная. Исправляется это путем декомпозиции на два отношения, в которых не ключевые атрибуты зависят от ПК.

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

Как видим, нормализация приводит к фрагментации исходных таблиц. Осуществив связь этих таблиц посредством связи первичных и внешних ключей, получим реляционную модель данных предметной области БАНК, в которой минимизирована избыточность данных.

АРХИТЕКТУРА СУБД

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

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

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

Данные – наиболее важный компонент с точки зрения конечных пользователей. База данных содержит как рабочие данные, так и метаданные, т.е. "данные о данных".

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

Пользователи: клиенты БД, администратор БД, прикладные программисты. Более подробно этот компонент рассматривается в лекции №9 (Администрирование БД)

СУБД значительно различаются по характеристикам и функциям. Логически в них

можно выделить три компоненты. (Рис2)

КЛАССИФИКАЦИЯ СУБД

Важнейшим классификационным признаком СУБД является тип модели данных,

поддерживаемый СУБД. По этому признаку СУБД делятся на:

· иерархические.

· сетевые.

· реляционные. Реляционные СУБД просты в использовании, повышают производительность

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

· объектно-реляционные (постреляционные). Объектно-реляционные СУБД продолжают

использовать стандартный язык запросов для реляционных БД – SQL, но с объектными

расширениями;

· объектно-ориентированные. В основе объектно-ориентированных СУБД лежит объектно-ориентированная модель обработки данных.

· многомерные, в основе которых лежит многомерная модель данных.

На самом общем уровне все СУБД можно разделить на:

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

для разработки автоматизированных систем управления крупными экономическими

объектами. На их базе создаются комплексы управления и обработки информации

крупных предприятий, банков или даже целых отраслей.

- персональные (настольные). Это программное обеспечение, ориентированное на

решение задач локального пользователя или компактной группы пользователей и

предназначенная для использования на персональном компьютере, это объясняет их

второе название – настольные. К ним относятся Access.

 

ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ И ПРОИЗВОДИТЕЛЬНОСТЬ СУБД

Производительность СУБД оценивается:

• временем выполнения запросов;

• скоростью поиска информации в неиндексированных полях;

• временем выполнения операций импортирования базы данных из других форматов;

• скоростью создания индексов и выполнения таких массовых операций, как

обновление, вставка, удаление данных;

• максимальным числом параллельных обращений к данным в многопользовательском

режиме;

• временем генерации отчета.

 

К основным функциям СУБД относятся:

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

¨ Поддержка параллельной работы. СУБД должна иметь механизм, который гарантирует

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

¨ Восстановление базы данных после сбоев. СУБД должна предоставлять средства

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

¨ Контроль доступа к данным. СУБД должна иметь механизм, гарантирующий

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

¨ Поддержка обмена данными. СУБД в должны поддерживать работу в локальной сети,

чтобы вместо нескольких разрозненных баз данных для каждого отдельного

пользователя можно было бы установить одну централизованную базу данных и

использовать ее как общий ресурс для всех существующих пользователей.

¨ Поддержка целостности данных. Целостность базы данных означает корректность и

непротиворечивость хранимых данных. Она может рассматриваться как еще один тип

защиты базы данных. Целостность обычно выражается в виде ограничений или правил

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

должна обладать инструментами контроля за тем, чтобы данные и их изменения

соответствовали заданным правилам.

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

 

База знаний – это семантическая модель, описывающая предметную область и позволяющая отвечать на такие вопросы из этой предметной области, ответы на которые в явном виде не присутствуют в базе.

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

 

Модели представления знаний – это одно из важнейших направлений исследований в области искусственного интеллекта.

На сегодняшний день разработано уже достаточное количество моделей. Каждая из них обладает своими плюсами и минусами, и поэтому для каждой конкретной задачи необходимо выбрать именно свою модель. От этого будет зависит не столько эффективность выполнения поставленной задачи, сколько возможность ее решения вообще.
Отметим, что модели представления знаний относятся к прагматическому направлению исследований в области искусственного интеллекта. Это направление основано на предположении о том, что мыслительная деятельность человека – «черный ящик». При таком подходе не ставится вопрос об адекватности используемых в компьютере моделей представления знаний тем моделям, которыми пользуется в аналогичных ситуациях человек, а рассматривается лишь конечный результат решения конкретных задач.

Рассмотрим три наиболее часто используемые и популярные на сегодняшний день модели представления знаний:

. продукционные модели – модели основанные на правилах, позволяют представить знание в виде предложений типа: «ЕСЛИ условие, ТО действие». Продукционные модели обладает тем недостатком, что при накоплении достаточно большого числа правил, они начинают противоречить друг другу;

. сетевые модели или семантические сети – как правило, это граф, отображающий смысл целостного образа. Узлы графа соответствуют понятиям и объектам, а дуги – отношениям между объектами;

. фреймовые модели – основывается на таком понятии как фрейм (англ. frame – рамка, каркас). Фрейм – структура данных для представления некоторого концептуального объекта. абстрактный образ для представления некого стереотипа восприятия Информация, относящаяся к фрейму, содержится в составляющих его слотах. Слоты могут быть терминальными либо являться сами фреймами, т.о. образуя целую иерархическую сеть.

 

Индексы и их использование для ускорения извлечения данных

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

Термин «индекс» тесно связан с понятием «ключ», хотя между ними есть и некоторое отличие.

Если индексирование организовано на основе ключевого поля, то индекс называется первичным. Ключевые поля, как правило, индексируются автоматически.Если индекс организован на основе другого поля, то он называется вторичным. Индекс, организованный на основе ключевого поля или другого ключа, называется

уникальным.

 

 

5.1. Типы данных

Полям присваиваются имена с учетом следующих требований: имя должно содержать не более 64 символов; запрещается (.), (!),(‘), ([]).

В поля БД можно вводить данные следующих типов.

Текстовый. В поля такого типа помещают текст или комбинацию текстовых и числовых

значений. Объем текста не должен превышать 255 символов.

Поле MEMO. Длинный текст (до 65535) символов.

Числовой. Числовые данные, используемые в математических вычислениях, за

исключением денежных расчетов. Размеры числовых полей - 1, 2, 4, 8, 12 байтов.

Дата/время. Значения даты и времени. Даты из диапазона от 100 по 9999 год.

Денежный. Денежные значения. Их максимальная точность составляет 15 знаков слева

от десятичной запятой и 4 знака справа от нее.

Счетчик. Уникальные последовательные с шагом 1 номера, автоматически

вставляемые при вставке записи в БД.

Логический. Поля, которые могут иметь только одно значение из пары значений,

таких как Да/Нет, Истина/Ложь или Вкл/Выкл.

Поле объекта OLE. Объекты других приложений, которые могут быть связаны или

внедрены в таблицу Access.

Гиперссылка. В полях этого типа хранятся гиперссылки - путь к файлу на жестком

диске либо адрес в сети Internet или интранет.

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

Размер поля. Определяет максимальную длину текстового или числового поля. Для числового поля часто используемыми являются значения:

· байт - целые числа от 0 до 255 (поле занимает 1 байт);

· целое – целые числа от -32 768 до 32 767 (2 байта);

· длинное целое - целые числа от -2 147 483 648 до 2 147 483 647 (4 байта).

Применяются и другие значения: одинарное с плавающей точкой, двойное с плавающей точкой, действительное.

Формат поля. Определяет способ отображения текста, чисел, дат и значений времени на экране и на печати.

Число десятичных знаков. Дает возможность указывать для чисел количество дробных знаков.

Маска ввода. Задает маску ввода, облегчающую ввод данных в поле.

Подпись. Определяет текст, который выводится в подписях полей в таблицах, запросах, формах, отчетах.

Значение по умолчанию. Позволяет указать значение, автоматически вводящееся в поле при создании новой записи.

Условие на значение. Определяет множество значений, которые можно вводить в поле таблицы.

Сообщение об ошибке. Позволяет указать текст сообщения, выводящегося на экран при вводе недопустимого значения.

Обязательное поле. Указывает, требует ли поле обязательного ввода значения.

Пустые строки. Определяет, допускается ли ввод в текстовое поле пустых строк (" ").

Индексированное поле. Позволяет создать индекс для поля, ускоряющий поиск и

сортировку в таблице.

5.2. Элементы выражения

Выражения используются при выполнении многих операций Access (например, при определении условий в запросах). Выражение - комбинация значений и операторов, дающая определенный результат. Например, следующее выражение позволяет вывести в запросе разность значений полей «Сумма_Начислено» и «Сумма_Удержано»:= [Сумма_Начислено] - [Сумма_Удержано]

В качестве значений в выражениях используют литералы, константы, функции и

идентификаторы.

Литерал - фактическое значение в виде числа, текстовой строки, даты (например, 200, "Беларусь", #02-окт-05#).

Константа - не изменяющееся значение (например,Yes, No, True, False и Null, натур числа 0,2 тд

Функция – небольшая программа, которая всегда возвращает значение (число или строку символов), являющееся результатом расчетов или выполнения других операций. К функции обращаются по имени, за которым в круглых скобках указывают ее аргументы. Имеются и безаргументные функции, например, Date(). В Access определено множество типов функций: статистические, математические, даты/время, текстовые, финансовые и др.

Идентификатор - ссылка на значение поля, элемента управления или свойства.

Например, Forms![]![].DefaultValue (ссылка на свойство DefaultValue элемента управления «Таб_Ном» в форме «Зарплата»). Символ «!» предопределяет ссылку на открытую форму, на открытый отчет или их элемент управления, а символ «.» - на свойства форм, отчетов и элементов управления.

5.3. Операторы

Оператор - операция над значениями. В выражениях могут использоваться четыре типа ператоров:

АРИФМЕТИЧЕСКИЕ: +, –, *, /, % (проценты), ^ (возведение в степень) и др.

ОПЕРАТОРЫСРАВНЕНИЯ: =, >, <, >=, <=, <>.

ЛОГИЧЕСКИЕ ОПЕРАТОРЫ: AND (логическое умножение), OR (логическое сложение), NOT

(логическое отрицание).

ТЕКСТОВЫЙ ОПЕРАТОР: & (слияние строковых значений).

Пользователь имеет возможность создавать выражения с помощью построителя выражений или путем набора их на клавиатуре.

Объекты БД, СУБД Access ориентирована на работу с объектами БД, к которым относятся таблицы,

запросы, формы, отчеты, страницы, макросы и модули.

Таблица - это основная структура, предназначенная для хранения информации в БД. ее строки – это записи, а столбцы - поля БД. Записи идентифицируются по некоторой уникальной характеристике, включающей одно или несколько полей и называемой ключом.

Запрос - это требование на: отбор данных, хранящихся в таблицах; выполнение

вычислений над данными; изменения в БД.

Форма - созданный на экране шаблон, используемый, главным образом, для ввода, просмотра и редактирования записей БД.

Отчет - отображение на принтере или на экране информации из БД в виде, удобном для ее восприятия и анализа пользователем.

Страница доступа к данным - диалоговая Web-страница, которая поддерживает динамическую связь с БД и позволяет просматривать, редактировать и вводить данные в базу, работая в окне браузера Internet Explorer 4.0 или Internet Explorer 5.0.

Макрос - есть последовательность макрокоманд для автоматизации выполнения

операций в среде Access без программирования.

Модуль - это программа для работы с БД, написанная на языке (VBA).

2.2. Инструментальные средства для создания БД.

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

или языка программирования VBA.

Для автоматизации создания объектов БД (за исключением модулей) в Access

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

 

СИСТЕМЫСОВМЕСТНОГО ИСПОЛЬЗОВАНИЯ ФАЙЛОВ

3.1. Архитектура файл/сервер и роль настольных СУБД в ней

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

Рассмотрим организацию архитектуры файл/сервер с использованием настольной СУБД.

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

СУБД в многопользовательском режиме показана на рис. 2.

 

3.2. Недостатки архитектуры файл/сервер

Архитектура с использованием файлового сервера обладает следующими основными едостатками.

1. Поскольку файловый сервер не может обрабатывать SQL-запросы, то при совместном использовании файлов по локальной сети передаются большие объемы данных (полные копии БД перемещаются по сети с сервера на компьютер клиента). При такой архитектуре трафик[1] в локальной сети достаточно большой.

2. С увеличением объема хранимых данных и числа пользователей снижается производительность настольных СУБД. Из-за этих проблем системы с совместным использованием файлов редко используются для обработки больших объемов данных.

3. При такой архитектуре вся тяжесть выполнения запроса к БД и управления целостностью БД ложится на СУБД пользователя.

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

4. Доступ к одним и тем же файлам могут осуществлять сразу несколько пользователей, что усложняет управление целостностью, восстановлением БД на сервере.

3.3. Достоинства и недостатки настольных СУБД

Достоинства настольных СУБД:

· они являются простыми для освоения и использования;

· обладают дружественным пользовательским интерфейсом;

· ориентированы на класс ПК, на самую широкую категорию пользователей – непрофессионалов;

· обеспечивают хорошее быстродействие при работе с небольшими БД.

Недостатки настольных СУБД:

· при росте объемов хранимых данных и увеличении числа пользователей снижается их производительность и могут возникать сбои при обработке данных;

· контроль за целостностью совершается внутри пользовательского приложения, что может вызывать нарушение целостности данных;

· очень малая эффективность работы в компьютерной сети.

Известно более десятка настольных СУБД. Наиболее популярными, исходя из числа

проданных копий признаются DBASE, Visual DBASE, Paradox, Microsoft FoxPro,

Visual FoxPro, Access. Более подробное описание упомянутых СУБД приведено в [1].

[1] Трафик – это объем информации, передаваемый по сети за определенный период

времени.

 

КЛИЕНТ/СЕРВЕРНЫЕ СИСТЕМЫ

4.1. Клиенты, серверы

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

обработкой БД.

Тип компьютеров, используемых в качестве клиентов может быть разным, это могут

быть большие ЭВМ или микрокомпьютеры. Однако, как правило, функции клиентов

выполняют почти всегда ПК. В роли сервера может выступать компьютер любого типа,

но по экономическим причинам функции сервера чаще всего также выполняют ПК, но

имеющие более высокую производительность.

 

4.2. Клиентские приложения, серверы баз данных

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

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

запроса и пересылку его по сети на клиентский компьютер. Клиентское приложение интерпретирует его необходимым образом и представляет пользователю. Клиентское приложение может также посылать запрос на обновление БД и серверная СУБД внесет необходимые изменения в БД. Схема архитектуры клиент/сервер приведена на рис. 3.

 

4.3. Общие сведения о хранимых процедурах и триггерах

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

Существует два вида хранимых процедур: системные и пользовательские. Системные

хранимые процедуры предназначены для получения информации из системных таблиц и

выполнения различных служебных операций и особенно полезны при администрировании

базы данных. Пользовательские хранимые процедуры создаются непосредственно разработчиками или администраторами базы данных. Полезность хранимых процедур определяется в первую очередь высокой (по сравнению с обычными Transact-SQL запросами) скоростью их выполнения. Пользователь может получить право выполнения хранимой процедуры, даже если он не имеет права доступа к объектам, к которым обращается программа. Хранимая процедура вызывается явно, т.е. при непосредственном обращении к процедуре из клиентского приложения, работающего с базой данных. используются для извлечения или изменения данных в любое время. могут принимать аргументы при запуске и возвращать значения в виде результирующих наборов данных.

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-07-02 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: