Базы данных и системы управления базами данных

Автор работы: Пользователь скрыл имя, 10 Декабря 2014 в 04:25, курсовая работа

Краткое описание

Для анализа свойств баз данных предлагается выделять характеристики качества системы управления базой данных и содержащейся в ней информации. Состав этих характеристик рекомендуется систематизировать на основе требований международного стандарта ISO 9126.
Современные базы данных — один из тех объектов в сфере информатизации, от которых иногда требуется особенно высокое качество и наличие возможности его оценки.

Содержание

Введение
Глава 1. Понятие, состав информационной системы
1.1 Виды структур данных
1.2 Виды баз данных
1.3 Реляционные базы данных
Глава 2. Системы управления базами данных (СУБД)
2.1 Основные функции СУБД
2.2 Классификация СУБД
2.3 Механизмы доступа
2.4 Что такое sql?
Глава 3. Анализ качества баз данных
3.1 О надежности в терминах ISO 9126
Глава 4. Тенденции в мире систем управления базами данных
Заключение
Список используемой литературы

Вложенные файлы: 1 файл

курсовик.docx

— 122.54 Кб (Скачать файл)

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

- Не оптимально расходуются  ресурсы клиентского компьютера  и сети; например, если в результате  запроса мы должны получить 2 записи  из таблицы объемом 10000 записей, все 10000 записей будут скопированы  с файл-сервера на клиентский  компьютер; в результате возрастает  сетевой трафик, и увеличиваются требования к аппаратным мощностям пользовательского компьютера.

В базе данных на файл-сервере гораздо проще вносить изменения в отдельные таблицы, минуя приложения, непосредственно из инструментальных средств (например, из утилиты database desktop фирмы borland для файлов paradox или dbase); подобная возможность облегчается тем обстоятельством, что, фактически, у локальных СУБД база данных – понятие более логическое, чем физическое, поскольку под базой данных понимается набор отдельных таблиц, сосуществующих в едином каталоге на диске. Все это позволяет говорить о низком уровне безопасности – как с точки зрения хищения и нанесения вреда, так и с точки зрения внесения ошибочных изменений.

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

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

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

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

Характерной особенностью архитектуры "клиент-сервер" является перенос вычислительной нагрузки на сервер базы данных (sql-сервер) и максимальная разгрузка приложения клиента от вычислительной работы, а также существенное укрепление безопасности данных – как от злонамеренных, так и просто ошибочных изменений.

БД в этом случае помещается на сетевом сервере, как и в архитектуре "файл-сервер", однако прямого доступа к базе данных (БД) из приложений не происходит. Функция прямого обращения к БД осуществляет специальная управляющая программа – сервер БД (sql-сервер), поставляемый разработчиком СУБД.

Архитектура "клиент-сервер" разделяет функции приложения пользователя (называемого клиентом) и сервера.

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

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

Функциями приложения-клиента являются:

- Посылка к серверу запросов;

- Интерпретация результатов запросов, полученных от сервера, и представление  их пользователю в требуемой  форме;

- Реализация интерфейса пользователя.

sql-сервер должен быть загружен  на момент принятия запроса клиента.

Функциями сервера БД являются:

- Прием запросов от приложений-клиентов, интерпретация запросов, выполнение  запросов в БД, отправка результата  выполнения запроса приложению-клиенту;

- Управление целостностью БД, обеспечение  системы безопасности, блокировка  неверных действий приложений-клиентов;

- Хранение бизнес-правил, часто  используемых запросов в уже  интерпретированном виде;

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

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

К разряду промышленных СУБД принадлежат oracle, informix, sybase, ms sql server, db2, interbase и ряд других.

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

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

 

2.3 Механизмы доступа

 

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

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

Подавляющее большинство СУБД содержит в своем составе библиотеки, предоставляющие специальный прикладной программный интерфейс (application programming interface, api) для доступа к данным этой СУБД. Обычно такой интерфейс представляет собой набор функций, вызываемых из клиентского приложения. В случае настольных СУБД эти функции обеспечивают чтение/запись файлов базы данных (БД), а в случае серверных СУБД инициируют передачу запросов серверу баз данных и получение от сервера результатов выполнения запросов или кодов ошибок, интерпретируемых клиентским приложением. Библиотеки, содержащие api для доступа к данным серверной СУБД, обычно входят в состав ее клиентского программного обеспечения, устанавливаемого на компьютерах, где функционируют клиентские приложения.

В последнее время windows-версии клиентского программного обеспечения наиболее популярных серверных СУБД, в частности microsoft sql server, oracle, informix, содержат также СОМ-серверы, предоставляющие объекты для доступа к данным и метаданным. 
Использование клиентского api (или клиентских СОМ-объектов) является наиболее очевидным способом манипуляции данными в приложении. Однако в этом случае созданное приложение сможет использовать данные только СУБД этого производителя, и замена ее на другую повлечет за собой переписывание значительной части кода клиентского приложения – клиентские api, а объектные модели не подчиняются никаким стандартам и различны для различных СУБД.

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

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

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

open database connectivity (odbc).

ole db.

activex data objects (ado).

borland database engine (bde).

Универсальные механизмы odbc, ole db и ado фирмы microsoft представляют собой по существу промышленные стандарты. Что касается механизма доступа к данным bde фирмы borland, то он так и не стал промышленным стандартом, однако до недавнего времени применялся довольно широко, поскольку до выхода delphi 5 был практически единственным универсальным механизмом доступа к данным, поддерживаемым средствами разработки borland на уровне компонентов и классов.

 

2.4 Что такое sql?

 

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

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

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

Информация о работе Базы данных и системы управления базами данных