Скачать учебники

Тикунов В. С. Геоинформатика. Язык реляционных баз данных SQL. СУБД в архитектуре «клиент-сервер».

Скачать полную версию учебника (с рисунками, формулами, картами, схемами и таблицами) одним файлом в формате MS Office Word Скачать книгу

Язык реляционных баз данных SQL. Функции и основные возможности. Язык для взаимодействия с БД — SQL (Structered Query Language) — появился в середине 70-х годов XX в. В настоящее время распространена его версия SQL/92. Язык ориентирован главным образом на удобную и понятную пользователям формулировку запросов к.реляционной БД и содержит, помимо операторов формулирования запросов и манипулирования БД, средства для определения схемы БД, ограничений целостности, структуры БД физического уровня, авторизации доступа к отношениям и их полям, позиций сохранения транзакции и откатов. Двумя фундаментальными языками запросов к реляционным БД являются языки реляционной алгебры и реляционного исчисления. Самый общий вид запроса на языке SQL представляет теоретико-множественное алгебраическое выражение, составленное из элементарных запросов.
В настоящее время SQL реализован практически во всех коммерческих реляционных СУБД, все фирмы провозглашают соответствие своей реализации стандарту SQL, и на самом деле реализованные диалекты SQL очень близки. Особенностью большинства современных коммерческих СУБД, затрудняющей анализ существующих диалектов SQL, является отсутствие полного описания языка.
В языке SQL поддерживаются следующие типы данных: CHARACTER, NUMERIC, DECIMAL, INTEGER, SMALLINT, FLOAT, REAL, DOUBLE PRECISION.
К первому типу относится CHARACTER. Спецификатор типа имеет вид CHARACTER (length), где length задает длину строк данного типа. В SQL/89 нет строк переменного размера, хотя во многих реализациях они допускаются. Литеральные строки символов изображаются в виде «последовательности символов» (например, «example»).
Представителями второго типа являются NUMERIC, DECIMAL (или DEC), INTEGER (или INT) и SMALLINT. Спецификатор типа NUMERIC имеет вид NUMERIC ([precision], [scale]). Специфицируются точные числа, представляемые с точностью precision и в масштабе scale. Здесь и далее, если не указан масштаб, то он полагается равным 0, а если не указана точность, то ее значение по умолчанию определяется в реализации.
Спецификатор типа DECIMAL (или DEC) имеет вид NUMERIC ([precision], [scale]). Специфицируются точные числа, представленные в масштабе scale с точностью, равной или большей значения Precision.
INTEGER специфицирует тип данных точных чисел в масштабе 0 с определяемой в реализации точностью. SMALLINT специфицирует тип данных точных чисел в масштабе 0 с определяемой в реализации точностью, не большей, чем точность чисел типа integer.
К третьему типу относятся FLOAT, REAL, DOUBLE PRECISION.
Несмотря на то, что правила встраивания SQL в программы на языке Си не определены в SQL/89, в большинстве реализаций, поддерживающих такое встраивание, имеется следующее соответствие между типами данных SQL и типами данных Си: CHARACTER соответствует строкам Си; INTEGER — long; SMALLINT — short-REAL-float; DOUBLE PRECISION – double (именно такое соответствие утверждено в стандарте SQL/92).
Описанный набор операторов SQL предназначен для встраивания в программу на обычном языке программирования. Поэтому в этом наборе перемешаны операторы «истинного» реляционного языка запросов и операторы работы с курсорами, позволяющими обеспечить построчный доступ к таблице — результату запроса. В диалоговом режиме набор операторов SQL и их синтаксис несколько другие, более сложные и динамичные. Примером может служить реализация языка в СУБД Oracle.

СУБД в архитектуре «клиент-сервер». Архитектура «клиент-сервер» обеспечивает простое и относительно дешевое решение проблемы коллективного доступа к базам данных в локальной сети, создавая некоторое подобие распределенных систем БД. Реальное распространение архитектуры «клиент-сервер» стало возможным благодаря развитию и широкому внедрению в практику концепции открытых систем. Основой этой концепции является упрощение комплексирования вычислительных систем при международной и национальной стандартизации аппаратных и программных интерфейсов. Стимулом для развития концепции явились, с одной стороны, широкое внедрение локальных компьютерных сетей с комплексированием аппаратно-программных средств, с другой — бурное развитие технологий глобальных коммуникаций. Реальностью становятся и открытые ГИС-системы, несмотря на существующие проблемы в области стандартизации.
Ключевой позицией открытых систем, ориентированных на пользователей, является независимость от конкретного разработчика аппаратного и программного обеспечения. Приобретая любой продукт компании, придерживающейся стандартов открытых систем, потребитель не становится полностью от нее зависимым. Он может развивать свою систему, приобретая продукты любой другой компании, соблюдающей стандарты. Причем это касается как аппаратных, так и программных средств и не является необоснованной декларацией. Примерами всестороннего исследования и реализации подходов к созданию открытых ГИС-систем являются программные и технологические разработки крупнейших фирм-конкурентов ESRI и Intergraph — GEONET и GeoMedia соответственно.
Основой системных и прикладных программных средств открытых систем является стандартизованная операционная система. Технологии и стандарты открытых систем обеспечивают возможность производства программных средств, обладающих свойствами мобильности (portability) и интероперабельности (interoperability). Свойство мобильности означает сравнительную простоту переноса программной системы в различные аппаратно-программные среды, соответствующие стандартам. Интероперабельность означает упрощение разработки новых программных систем на основе комплексирования готовых компонентов со стандартными интерфейсами.
Использование подхода открытых систем выгодно и производителям, и пользователям. Прежде всего открытые системы решают проблемы поколений и версий аппаратных и программных средств. Все производители обязаны только обеспечивать некоторую стандартную среду. Преимуществом для пользователей является то, что они могут постепенно заменять компоненты системы более совершенными, не утрачивая работоспособности системы, решать проблемы постепенного наращивания вычислительных, информационных и других мощностей компьютерной системы.
В основе широкого распространения локальных сетей компьютеров лежит известная идея разделения ресурсов. Высокая пропускная способность локальных сетей обеспечивает эффективный доступ из одного узла локальной сети к ресурсам, находящимся в других узлах.
Развитие этой идеи приводит к функциональному выделению компонентов сети: разумно иметь не только доступ к ресурсам удаленного компьютера, но также получать от этого компьютера некоторый сервис, который специфичен для ресурсов данного рода и программные средства для обеспечения которого нецелесообразно дублировать в нескольких узлах.

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

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

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

Сервер локальной сети предоставляет ресурсы рабочим станциям и другим серверам.
Принято называть клиентом локальной сети запрашивающего услуги у некоторого сервера и сервером — компонент локальной сети, оказывающий услуги некоторым клиентам.
Хотя обычно одна база данных целиком хранится в одном узле сети и поддерживается одним сервером, серверы баз данных представляют собой простое и дешевое приближение к распределенным базам данных, поскольку общая база данных доступна для всех пользователей локальной сети.
Доступ к базе данных от прикладной программы или пользователя производится путем обращения к клиентской части системы. В качестве основного интерфейса между клиентской и серверной частями выступает язык баз данных SQL. Собирательное название SQL-сервер относится ко всем серверам баз данных, основанных на SQL. Соблюдая предосторожности при программировании, можно создавать прикладные информационные системы, мобильные в классе SQL-серверов.
Одним из перспективных направлений СУБД является гибкое конфигурирование системы, при котором распределение функций между клиентской и пользовательской частями СУБД определяется при установке системы.
Особенно важны в системах управления базами данных, основанных на архитектуре «клиент-сервер», протоколы удаленного вызова процедур. Использование механизма удаленных процедур позволяет перераспределять функции между клиентской и серверной частями системы, а также скрывать различия между взаимодействующими компьютерами. Физически неоднородная локальная сеть компьютеров приводится к логически однородной сети взаимодействующих программных компонентов. В результате пользователи не обязаны заботиться о разовой закупке совместимых серверов и рабочих станций.
Обычно на стороне клиента СУБД работает только такое программное обеспечение, которое не имеет непосредственного доступа к базам данных, а обращается для этого к серверу с использованием языка SQL. С другой стороны, иногда хотелось бы перенести большую часть прикладной системы на сторону сервера.
Очевидно, что требования к аппаратуре и программному обеспечению клиентских и серверных компьютеров различаются в зависимости от вида системы.

< Базовые понятия реляционных баз данных. Реляционная модель данных.

Содержание книги "Тикунов В. С. Геоинформатика."

Распределенные БД. Интегрированные и мультибазы данных. Объектно-ориентированные структуры БД. >

Скачать полную версию учебника (с рисунками, формулами, картами, схемами и таблицами) одним файлом в формате MS Office Word Скачать книгу

При копировании информации обязательны прямые ссылки на сайт, а также на авторов книг.
Все книги являются собственностью их авторов и служат исключительно для ознакомления.
© Edu-Knigi.ru, 2011. © Дизайн и программирование от студии "ПСГ".