Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Структура базы данных





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

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

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

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

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

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

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

Здесь возникает необходимость ввести понятие архитектура клиент/сервер, которая предоставляет настоящую свободу выбора и согласования различных типов компонентов для клиента, сервера и всех промежуточных звеньев. Правда, это ведет к усложнению системы.

Что же означает термин “архитектура клиент/сервер?” Основой такой системы является сервер БД, представляющий собой приложение, осуществляющее комплекс действий по управлению данными - выполнение запросов, хранение и резервное копирование данных, отслеживание целостности, проверку прав пользователей, ведение журнала транзакций. В качестве рабочего места (клиента) при этом может быть использован обычный персональный компьютер, что позволяет не отказываться от привычной рабочей среды.

Таким образом, информационная система, построенная по принципу клиент/сервер, состоит обычно из трех основных компонентов:

1. сервер БД. который и является собственно СУБД и управляет хранением данных, доступом, защитой, резервным копированием, отслеживает целостность данных и выполняет запросы клиента;

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

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

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

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


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

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

В системах, построенных по принципу клиент/сервер, преобладают два типа архитектуры процессоров серверов: RISC и Intel. RISC представляет собой традиционный вариант выбора для Uniх-серверов. Вообще говоря. RISC-серверы по производительности не намного превосходят серверы на базе Intel-процессоров, но они стоят от 15 до 50 тысяч долларов.

Серверы на базе процессоров Intel сейчас быстро наращивают вычислительную способность. С появлением процессора Pentium, использующего RISC-подобную технологию, платформа Intel приобретает все более широкую популярность. При этом многие современные операционные системы работают на Intel-машинах. С учетом этого Unix уже уступает место Windows NT, в котором широкие возможности Unix сочетаются с простотой использования Windows.

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

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

Основные преимущества клиент/сервер по сравнению с аналогичными информационными системами заключаются в следующем.

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

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


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

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

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

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







Date: 2015-11-15; view: 909; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.009 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию