Базы данных

Автор работы: Пользователь скрыл имя, 05 Сентября 2012 в 02:20, курс лекций

Описание

Банк данных – организация либо структурная единица организации, предназначенная для сбора и обработки информации о предметной области. В функции банка данных входит сбор информации о первичной области, ее обработка и хранение, а также генерация на ее основе результирующей информации. Следует отметить, что иногда технологии обработки информации, характерные для банков данных реализуются не в «чистом» виде, а как составная часть других систем, например, в задачах САПР (Систем Автоматизированного ПPоектирования).
Информация о состоянии предметной области, которая обрабатывается банком данных, накапливается и хранится в базе данных.

Работа состоит из  1 файл

Базы данных.docx

— 224.38 Кб (Скачать документ)

 Все это повышает быстродействие системы  и снижает время ожидания результата запроса.

 Использование архитектуры "клиент-сервер":

 резко уменьшает сетевой трафик:

 понижает  сложность приложений-клиентов (поскольку  тем уже нет необходимости  обеспечивать целостность и безопасность БД и следить за параметрами многопользовательской  работы с БД);

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

 повышает  надежность БД, ее целостность, безопасность и секретность.

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

 Другие  же компьютеры пользуются ими. Компьютер, управляющий тем или иным ресурсом, принято называть сервером этого  ресурса, а компьютер, желающий им воспользоваться - клиентом.

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

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

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

 Первая  группа - это функция ввода и  отображения данных.

 Вторая  группа объединяет чисто прикладные функции, характерные для данной предметной области.

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

 В соответствии с этим в любом приложении выделяются следующие логические компоненты:

 компонент представления (presentation), реализующий функции первой группы;

 прикладной  компонент (business application), поддерживающий функции второй группы;

 компонент доступа к информационным ресурсам (resource acces) или менеджер ресурсов (Resource manager), поддерживающий функции третьей группы.

 Выделяются  три подхода, каждый из которых реализован в соответствующей модели:

 модель  доступа к удаленным данным (Remote Date Access - RDA);

 модель  сервера базы данных (DateBase Server - DBS);

 модель  сервера приложений (Application Server - AS).

 Недостатки  технологии клиент-сервер

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

 Во-вторых, это слабая защита данных от взлома, в особенности от недобросовестных пользователей системы.

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

 В-четвертых, это необходимость использовать на клиентских местах достаточно мощные компьютеры.

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

 5.Организация доступа к данным. Технологии ODBC, ADO. 

 Метод прямого доступа

 Основная  особенность прямого метода доступа  заключается во взаимно однозначном  соответствии между ключом записи и  ее физическим адресом. Физическое местоположение записи определяется непосредственно  из значения ключа. Не требует упорядоченности  значений ключей физических записей. Метод  может применяться как для  хранения, так и для поиска записей. Для поиска одной записи используется одно обращение к индексу. Наличие  дубликатов ключей недопустимо.

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

 ODBC

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

 Что такое ODBC? Этот продукт представляет собой интерфейс языка программирования C (API), позволяющий подключать приложения к различным СУБД (системам управления базами данных). При подключении  при помощи ODBC приложение становится независимым от используемого источника  данных (и от используемой СУБД).

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

 Приложения, использующие этот API, ограниченны, они  могут использовать только реляционные  базы данных. Минус ODBC - это отсутствие объектно-ориентированного подхода. Правда, в библиотеке MFC, которую Microsoft рекомендует для разработки прикладных приложений с помощью Visual C++, есть классы для работы с данными через ODBC.

 ODBC будет работать на 64-битной операционной  системе Microsoft Windows.

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

 ADO

 ActiveX Data Objects (ADO) - объекты для доступа к данным - одна из самых популярных после ODBC технологий, обеспечивает программируемую модель высокого класса, которая будет поддерживаться и улучшаться со временем. Хотя это и не обеспечивает таких возможностей, как при кодировании напрямую в OLE DB или ODBC, ADO легка в освоении и использовании и может вызываться из таких языков сценариев, как Microsoft Visual BasicR Scripting Edition (VBScript) или Microsoft Jscript.

 На  самом деле, нетрудно понять, что ADO - очередная надстройка над уже  существующими технологиями все  той же корпорации, поскольку ее ActiveX-компоненты являются надстройками над API OLE DB, которая сама по себе, в  общем-то, не так уж и удобна в  применении. ADO, конечно, вносит дополнительный уровень, который сказывается на производительности приложений, однако это так хорошо отражается на времени  разработки, что технология намного  популярнее, чем, собственно, OLE DB. Ее очевидный  плюс - возможность использования  объектов для доступа к данным из скриптовых языков, таких как VBScript или Jscript. Здесь немалую роль играет возможность ее использования при программировании на ASP для разработки web-приложений.

 6.Особенности серверов данных 

 Сервер  базы данных

 Сервер  БД обслуживает базу данных и отвечает за целостность и сохранность  данных, а также обеспечивает операции ввода-вывода при доступе клиента  к информации.

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

 Язык SQL

 Большинство СУБД используют язык SQL (Structured Query Language — язык структурированных запросов), так как он удобен для описания логических подмножеств БД.

 Назначение SQL:

 - создание  БД и таблицы с полным описанием  их структуры;

 - выполнение  основных операций манипулирования  данными (такие как вставка, модификация и удаление данных из таблиц);

 - выполнение  простых и сложных запросов.

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

 Хранимые  и присоединенные процедуры

 Существуют  расширенные версии языка SQL, которые  поддерживают такие расширения, как  хранимые и расширенные процедуры, а также управление ходом программы  через ветвления и организацию  циклов.

 Хранимые  процедуры — это предварительно откомпилированные предложения  языка SQL, которые сохраняются на сервере базы данных, использующей язык SQL. Клиент запускает хранимую процедуру с помощью команды EXRCUTE<имя  процедуры>. Таким образом, по сети передаются только два слова вместо двух сотен. Поскольку эта процедура  уже откомпилирована и оптимизирована, серверу не нужно тратить время  на компиляцию и оптимизацию.

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

 Присоединенные  процедуры (триггеры) подобны хранимым процедурам и исполняются в ответ  на события, происходящие в БД. Когда  с некоторыми приложениями языка SQL связана присоединенная процедура, выполнение этого предложения всегда запускает целую серию команд, входящих в эту процедуру. Присоединенная процедура автоматически выполняет  одно или более предложений языка SQL, всякий раз, когда выполняет предложения INSERT, UPDATE или DELETE.

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

 Операционная  среда серверов

 Серверы БД: SQL SERVER (Microsoft), SQL BASE SERVER, Oracle SERVER (Oracle Corporation).Каждый сервер БД может работать на определенных типах компьютеров и сетей. Операционными системами серверов могут быть MSDOS, OS/2, Xenix,Unix, Dec VMS/ Рабочии станции пользователей обычно работают под управление MSDOS, OS/2, Xenix, Unix.

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

 Ссылочная целостность реляционных БД

 Большинство SQL-серверов поддерживают ссылочную  целостность реляционных БД, состоящих  из отдельных таблиц, которые могут  быть объединены на основе общей информации Рассмотрим на следующем примере: база данных содержит таблицу клиентов и таблицу заказов, которые связаны полем номера клиента, содержащимся в обеих таблицах. Поскольку может быть более одного заказа от одного клиента, соотношение таблиц – «один-ко-многим». Когда таблицы соединены, то таблица клиентов является родительской, а таблица заказов – дочерней. Если запись-родитель стирается, а соответствующие ей дочерние записи – нет, то говорят, что дочерние записи «осиротели». Ссылочная целостность означает, что ни в одной таблице не допустимы записи-«сироты». Запись может осиротеть тремя способами:

 1)родительская  запись удалена;

 2)родительская  запись изменена таким образом,  что связь между «родителем»  и «потомками» потеряна;

 3)введена  дочерняя запись без соответствующей родительской. 
 

 7.Распределенные БД. Понятие о трехуровневой архитектуре БД. 

 Распределённые  базы данных (РБД) — совокупность логически взаимосвязанных баз данных, распределённых в компьютерной сети.

 Основные  принципы

 РБД состоит из набора узлов, связанных  коммуникационной сетью, в которой:

 а)каждый узел — это полноценная СУБД сама по себе;

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

Информация о работе Базы данных