на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Структура рабочей сети Internet - (диплом)
p>Вышеупомянутые и некоторые другие математические понятия явились теоретической базой для создания реляционных СУБД, разработки соответствующих языковых средств и программных систем, обеспечивающих их высокую производительность, и создания основ теории проектирования баз данных. Однако для массового пользователя реляционных СУБД можно с успехом использовать неформальные эквиваленты этих понятий:

Отношение–Таблица(иногдаФайл), Кортеж – Строка (иногда Запись), Атрибут –Столбец, Поле. При этом принимается, что "запись" означает "экземпляр записи", а "поле" означает "имя и тип поля".

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

    О нормализации, функциональных и многозначных зависимостях

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

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

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

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

Таким образом, каждая нормальная форма является в некотором смысле более ограниченной, но и болеежелательной, чем предшествующая. Это связано с тем, что "(N+1)-я нормальная форма" не обладает некоторыми непривлекательными особенностями, свойственным "N-й нормальной форме". Общий смысл дополнительного условия, налагаемого на (N+1)-ю нормальную форму по отношению к N-й нормальной форме, состоит в исключении этих непривлекательных особенностей.

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

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

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

    Технология Клиент-Сервер.
    Основные понятия

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

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

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

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

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

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

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

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

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

Другое соображение: постоянно идет работа по совершенствованию самого метода хранения и обработки информации, и если его реализация (т. е. БД-сервер) сменилась, то не потребуется перекомпилировать с новыми библиотеками все разработанные программы, а достаточно будет инсталлировать новый БД-сервер взамен старого и перевести базы данных в формат нового сервера (применив для этого прилагаемую к нему утилиту). Естественно, все это можно проделать, если новый сервер придерживается тех же правил обмена между ним и пользовательской программой, что и старый, что, впрочем, наверняка имеет место. Используя множество небольших компьютеров, разработчики систем клиент-сервер могут эмулировать вычислительную мощность больших ЭВМ, распределяя прикладную задачу по различным микрокомпьютерам и серверам. Каждый из них берет на себя свою часть вычислительной нагрузки, используя информацию совместно с другими процессорами сети. Суть идеи в том, чтобы повысить мощность системы, не наращивая производительность одного компьютера, а суммируя средства многих. Быстродействие - основной фактор целесообразности разработки систем для архитектуры клиент-сервер . Применение средств быстрой разработки программ (Rapid Application Development - RAD), таких, как Delphi компании Borland, PowerBuilder фирмы PowerSoft и Visual Basic корпорации Microsoft, позволяет разработчикам "штамповать" прикладные системы для архитектуры клиент-сервер в рекордно короткие сроки. Технология серверов баз данных также становится проще в использовании и сочетается в одних системах со средствами RAD. Таким образом, с помощью этой скоростной и практически защищенной от "дурака" платформы разработки сокращается время, необходимое для подготовки и передачи прикладной программы пользователю.

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

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

Обычно клиентомслужит настольный ПК, выполняющий программное обеспечение конечного пользователя. программное обеспечение (ПО) конечного пользователя(front-end software) - это любая прикладная программа или пакет, способные направлять запросы по сети серверу и обрабатывать получаемую в ответ информацию. Сервер, в свою очередь, получает запросы и предпринимает действия от имени клиента. ПК, работающий под управлением Windows 95 и выполняющий программу клиент-сервер Delphi, например, может представить на рассмотрение запрос серверу баз данных (скажем, программе InterBase 5. 1. 1, запущенной на сервере Windows NT). Обычно клиент посылает запросы базе данных в виде предложений на языке структурированных запросов (SQL), используя понятный серверу базы данных диалект.

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

Существуют три основных программных компонента архитектуры клиент-сервер : ПО конечного пользователя.

    промежуточное обеспечение.
    ПО сервера.

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

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

Под ПО сервера подразумевается операционная система и конкретный сервер БД, используемый для обработки запросов клиентской части информационной системы. Серверы баз данных занимаются не только обслуживанием данных. В них предусмотрены также механизмы блокировок и элементы управления многопользовательским доступом, которые обеспечивают защиту данных от опасности параллельного доступа. Кроме этого, серверу баз данных приходится ограждать данные от несанкционированного доступа, оптимизировать запросы к базе данных, обеспечивать кэширование и предоставлять место для размещения словаря данных. Две другие важные особенности, на которые стоит обратить внимание, способность сервера обеспечивать целостность ссылочных данных и обоюдный контроль завершения транзакции. Ссылочная целостность данных(referential integrity) - это механизм, обеспечивающий каждому внешнему ключу соответствующий первичный ключ. Обоюдный контроль завершения транзакций(two-phase commit) - гарантия того, что ваши данные не будут повреждены даже при аппаратном сбое.

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

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

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

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

    Язык структурированных запросов SQL
    Назначение и принцип работы SQL

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.