Смекни!
smekni.com

Структура рабочей сети Internet (стр. 5 из 20)

противоречивости хранимых данных.

Как указывалось ранее, каждая таблица в реляционной БД удовлетворяет условию,

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

всегда находится единственное атомарное значение, и никогда не может

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

называется нормализованной. Фактически, ненормализованные таблицы, т.е.таблицы,

содержащие повторяющиеся группы, даже не допускаются в реляционной БД.

Всякая нормализованная таблица автоматически считается таблицей в первой

нормальнойформе, сокращенно 1НФ. Таким образом, строго говоря, "нормализованная"

и "находящаяся в 1НФ" означают одно и тоже. Однако на практике термин

"нормализованная" часто используется в более узком смысле – "полностью

нормализованная", который означает,что в проекте не нарушаются никакие принципы

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

нормализации.

Таблица находится в первой нормальной форме (1НФ) тогда и только тогда,когда ни

одна из ее строк не содержит в любом своем поле более одного значения и ни одно

из ее ключевых полей не пусто

Таблица находится во второй нормальной форме (2НФ), если она удовлетворяет

определению 1НФ и все ее поля, не входящие в первичный ключ,связаны полной

функциональной зависимостью с первичным ключом.

Таблица находится в третьей нормальной форме (3НФ), если она удовлетворяет

определению 2НФ и не одно из ее неключевых полей не зависитфункционально от

любого другого неключевого поля.

Таким образом, каждая нормальная форма является в некотором смысле более

ограниченной, но иболее желательной, чем предшествующая. Это связано с тем, что

"(N+1)-я нормальная форма" не обладает некоторыми

непривлекательнымиособенностями, свойственным "N-й нормальной форме". Общий

смысл дополнительного условия, налагаемого на (N+1)-ю нормальную форму по

отношению кN-й нормальной форме, состоит в исключении этих непривлекательных

особенностей.

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

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

многозначные.

Функциональная зависимость. Поле В таблицы функционально зависит от поля А той

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

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

различных значений поля В.Отметим, что здесь допускается, что поля А и В могут

быть составными.

Полная функциональная зависимость. Поле В находится в полной функциональной

зависимости от составного поля А, еслионо функционально зависит от А и не

зависит функционально от любого подмножества поля А.

Многозначная зависимость. Поле А многозначно определяет поле В той же таблицы,

если для каждого значения поля Асуществует хорошо определенное множество

соответствующих значений В.

1.3Технология Клиент-Сервер.

1.3.1Основные понятия

Главная мысль, заложенная в эту технологию - минимизировать объем данных,

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

из-за недостаточно высокой пропускной способности сети.

Очень многие СУБД разделяют свою работу на два уровня по системе

"Клиент-Сервер".С точки зрения исполнения программа разделена на 2 части -

клиентскую и серверную. На клиентской части (компьютере) происходит контакт с

внешним миром.На компьютере-сервере расположены общие для всех клиентов данные и

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

запросовклиентов.

Итак, двухуровневая система "Клиент-Сервер" это:

Клиент - Программа обработки, она же пользовательская, она же прикладная

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

работу с базой данных возлагает на плечи БД-сервера.

Сервер Базы Данных - базис (database engine), он же ядро базы данных. Отдельная

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

информацию по межпроцессному каналу клиенту. Именно он, и только он фактически

работает с данными, занимается ихразмещением на диске.

1.3.2Преимущества архитектуры клиент-сервер

В первый момент может возникнуть вопрос, а зачем такие сложности? Вот

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

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

вычисления.Практически, все расчеты выполняются на сервере, что увеличивает

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

Технология клиент-сервер в отличие от файл-серверной дает пользователю

большуюбезопасность, устойчивость, согласованность, масштабируемость, повышенную

конфиденциальность и надежность обработки и хранения информации. Развитиесистем

с архитектурой клиент-сервер в немалой степени обязано проверенному факту:

подключение к недорогим серверам недорогих ПК позволяет получить

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

В большинстве случаев программа обработки (клиентская часть) расположена на

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

совершенно естественным: Программа - клиент (точнее, та ее часть, которая

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

самих данных на другой компьютер, а там БД-сервер их прочитывает, выполняет

требуемое, и посети возвращает готовые ответы клиенту. При этом по сети

передается только полезная информация.

Другое соображение: постоянно идет работа по совершенствованию самого метода

храненияи обработки информации, и если его реализация (т.е. БД-сервер)

сменилась, то не потребуется перекомпилировать с новыми библиотеками все

разработанныепрограммы, а достаточно будет инсталлировать новый БД-сервер взамен

старого и перевести базы данных в формат нового сервера (применив для этого

прилагаемую кнему утилиту). Естественно, все это можно проделать, если новый

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

программой,что и старый, что, впрочем, наверняка имеет место.

Используя множество небольших компьютеров, разработчики систем клиент-сервер

могутэмулировать вычислительную мощность больших ЭВМ, распределяя прикладную

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

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

процессорами сети. Суть идеи в том, чтобы повысить мощность системы, ненаращивая

производительность одного компьютера, а суммируя средства многих.

Быстродействие - основной фактор целесообразности разработки систем для

архитектурыклиент-сервер . Применение средств быстрой разработки программ (Rapid

Application Development - RAD), таких, как Delphi компании Borland,PowerBuilder

фирмы PowerSoft и Visual Basic корпорации Microsoft, позволяет разработчикам

"штамповать" прикладные системы для архитектурыклиент-сервер в рекордно короткие

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

сочетается в одних системах со средствами RAD. Такимобразом, с помощью этой

скоростной и практически защищенной от "дурака" платформы разработки сокращается

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

В заключение стоит отметить что архитектура клиент-сервер предоставляет

разработчикам ПОисключительную свободу выбора и согласования различных типов

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

Наиболее простая (и рассматриваемая в контексте данной дипломной работы)

формаархитектуры клиент-сервер - это разделение вычислительной нагрузки между

двумя отдельными процессами: клиентом и сервером. Хотя и клиент, и сервер

могутнаходиться на одном и том же компьютере, большинство систем этой

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

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

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

иразделять вычислительную нагрузку.

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

конечногопользователя. программное обеспечение (ПО) конечного пользователя

(front-end software) - это любая прикладная программа или пакет,

способныенаправлять запросы по сети серверу и обрабатывать получаемую в ответ

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

имени клиента.

ПК, работающий под управлением Windows 95 и выполняющий программу клиент-сервер

Delphi,например, может представить на рассмотрение запрос серверу баз данных

(скажем, программе InterBase5.1.1, запущенной на сервере Windows NT). Обычно

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

структурированных запросов (SQL), используяпонятный серверу базы данных диалект.

1.3.3Компоненты архитектуры Клиент-сервер

Существуют три основных программных компонента архитектуры клиент-сервер :

ПО конечного пользователя.

промежуточное обеспечение.

ПО сервера.

К ПО конечного пользователя относятся средства разработки программ и

генераторыотчетов, в том числе электронные таблицы и текстовые процессоры. С

помощью этого ПО пользователи устанавливают связь с серверами, отправляют

нарассмотрение серверу запросы и получают ответную информацию.

Промежуточное обеспечение (middleware) предоставляет общий интерфейс для ПО

конечного пользователя и сервера,проникающий сквозь сквозь слои GUI (графический