Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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; Нарушение авторских прав |