Автор: Пользователь скрыл имя, 06 Ноября 2012 в 12:19, курсовая работа
Целью данной работы является исследование устройства и функций систем управления базами данных, детальный анализ всех достоинств и недостатков современных систем управления базами данных, а также сопоставление наиболее распространенных современных СУБД на предмет их использования в банках данных крупных организаций. Также, будет проведен детальный анализ роли языка SQL в системах управления базами данных, с подробным разбором всех его плюсов и минусов.
Введение……………………………………………………………………………3
1 глава основной части………………………………………………………..….4
1.1 СУБД как составная часть автоматизированного банка данных……………4
1.2 Структура и функций системы управления базами данных………………..6
1.3 Классификация СУБД по способу доступа к базам данных……………….8
1.4 Язык SQL в системах управления базами данных……………………..…..9
2 глава основной части………………………………………………………….14
2.1 СУБД Microsoft SQL Server…………………………………………………14
2.2 СУБД Oracle…………………………………………………………………..17
Заключение………………………………………………………………….……22
Глоссарий………………………………………………………………………….23
Список использованных источников……………………………………………25
Приложение А……………………………………………………………………26
Приложение Б……………………………………………………………………26
Языки DDL могут существенно различаться у различных производителей СУБД. Существует стандарт SQL, установленный ANSI, но производители СУБД часто предлагают свои собственные расширения языка.
Data Manipulation Language (DML) (язык манипулирования данными) – это язык, используемый в компьютерных программах или пользователями баз данных для получения вставки, удаления или изменения данных в базе данных.
Языки DML изначально использовались только компьютерными программами, но с появлением SQL стали использоваться и людьми.
Функции языков DML определяются первым словом в предложении (часто называемым запросом), которое почти всегда является глаголом. В случае с SQL эти глаголы – «insert» (вставить), «update» (обновить), «delete» (удалить). Это превращает природу языка в ряд обязательных утверждений (команд) к базе данных.
Языки DML могут существенно различаться у различных производителей СУБД. Существует стандарт SQL, установленный ANSI, но производители СУБД часто предлагают свои собственные расширения языка.
Языки DML разделяются на два типа:
- Procedural DMLs – описывают действия над данными;
- Declarative DMLs – описывают сами данные.
Операторы управления транзакциями (Transaction Control Language, TCL) – компьютерный язык и часть SQL, используемый для обработки транзакций.
Транзакция (англ. Transaction) – в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта. Транзакции обрабатываются информационными системами, в процессе работы которых создается история транзакций.
Различают обычные и распределенные транзакции. Распределенные транзакции подразумевают использование более чем одной транзакционной системы и требуют намного более сложной логики. Также, в некоторых системах реализованы автономные транзакции, или подтранзакции, которые являются автономной частью родительской транзакции.
Примеры TCL команд:
- COMMIT применяет транзакцию;
- ROLLBACK «откатывает» все изменения, сделанные транзакцией;
- SAVEPOINT делит транзакцию на более мелкие участки.
Язык SQL имеет следующие особенности:
Преимущества:
Независимость от конкретной СУБД. Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своем тексты, SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую. Существуют системы, разработчики которых изначально ориентировались на применение по меньшей мере нескольких СУБД (например система электронного документооборота Documentum может работать как в Oracle, так и в MS SQL Server и IBM DB2). Естественно, что при применении некоторых специфических для реализации возможностей, такой переносимости добиться будет уже очень трудно.
Наличие стандартов. Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка. Правда, стоит отметить, что сам по себе стандарт местами чересчур формализован а раздут в размерах.
Декларативность. С помощью SQL программист описывает только какие данные нужно извлечь или модифицировать. То, каким образом это сделать, решает СУБД непосредственно при обработке SQL-запроса. Однако, не стоит думать, что это полностью универсальный принцип – программист описывает набор данных для выборки или модификации, однако ему при этом полезно представлять, как СУБД будет разбирать текст его запроса. Чем сложнее сконструирован запрос, тем больше он допускает вариантов написания, различных по скорости выполнения, но одинаковых по итоговому набору данных.
Недостатки:
Несоответствие реляционной модели данных. Создатели реляционной модели данных Эдгар Кодд, Кристофер Дейт и их сторонники указывают на то, что SQL не является истинно реляционным языком. В частности они указывают на следующие проблемы SQL:
- повторяющиеся строки;
-
неопределенные значения (
-
явное указание порядка
-
колонки без имени и
- отсутствие поддержки свойства «=»;
- использование указателей;
- высокая избыточность.
В опубликованном Кристофером Дейтом и Хью Дарвеном Третьем Манифесте они излагают принципы СУБД следующего поколения и предлагают язык TutorialD, который является подлинно реляционным.
Сложность. Хотя SQL и задумывался, как средство работы конечного пользователя, в конце концов, он стал настолько сложным, что превратился в инструмент программиста.
Отступления от стандартов. Несмотря на наличие международного стандарта ANSI SQL-92, многие компании, занимающиеся разработкой СУБД, вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Таким образом, появляются специфичные для каждой конкретной СУБД диалекты языка SQL.
Сложность работы с иерархическими структурами. Ранее диалекты SQL большинства СУБД не предлагали способа манипуляции древовидными структурами. Некоторые поставщики СУБД предлагали свои решения. Например, Oracle использует выражение CONNECT BY. В настоящее время в ANSI стандартизована рекурсивная конструкция WITH из диалекта SQL DB2.
Несмотря на недостатки, язык SQL вполне пригоден для использования в реляционных СУБД.
Обычно СУБД позволяет создавать и редактировать запросы на языке SQL с помощью графической оболочки программы, освобождая пользователя от знания языка SQL. Пользователь может создавать запросы на выборку данных по определенному условию, на проведение расчета по данным и т.д. Также большинство СУБД позволяют представлять данные в форме отчета, т.е. в форме пригодной для вывода на печать. Вводить данные в базу пользователи могут с помощью форм. Форма представляет собой определенным образом организованный интерфейс для ввода данных.
Также доступ к данным, хранящимся в базе данных, может быть организован с помощью страниц доступа данным. Эти страницы могут хранится на сервере корпоративной сети, если сервер имеет поддержку страниц доступа к данным. Доступ к этой странице в данном случае осуществляется с помощью протокола http.
2.1 СУБД Microsoft SQL Server
Одной из самых распространенных СУБД, используемых в крупных организациях, является Microsoft SQL Server, СУБД от компании Microsoft. Она использует реляционную модель данных. MS SQL Server является клиент-серверной СУБД, что делает её хорошей для использования в крупных организациях, имеющих мощный сервер. Платформа данных MS SQL Server 2005 включает в себя следующие инструменты для работы с базой данных:
- поддержка структурированных и неструктурированных (XML) данных;
- Replication Services: репликация данных для распределенных и мобильных приложений обработки данных, высокая доступность систем, масштабируемый параллелизм со вторичными хранилищами данных для отчетных решений предприятия и интеграция с разнородными системами, включая существующие базы данных Oracle;
- Notification Services: развитые возможности уведомлений для разработки и внедрения масштабируемых приложений, способных доставлять персонализированные, своевременные обновления информации множеству соединенных и мобильных устройств;
- Integration Services: возможности извлечения, преобразования и загрузки для хранилищ данных и интеграции данных в масштабе предприятия;
- Analysis Services: аналитическая обработка в реальном времени (OLAP) для быстрого, сложного анализа больших и смешанных наборов данных, использующая многомерное хранение;
- Reporting Services: исчерпывающее решение для создания, управления и доставки как традиционных бумажных отчетов, так и интерактивных, основанных на технологии «WWW» отчетов;
- инструменты управления: SQL Server включает в себя средства управления для развитого управления и настройки баз данных, также как и тесную интеграцию с такими инструментами, как Microsoft Operations Manager (MOM) и Microsoft System Manager Server (SMS). Стандартные протоколы доступа к данным существенно уменьшают время, необходимое для интеграции данных SQL Server с существующими системами. В дополнение, поддержка Web служб встроена для обеспечения взаимодействия с другими приложениями и платформами;
- Инструменты разработки: SQL Server предлагает интегрированные инструменты разработки для ядра базы данных, извлечения, трансформации и загрузки данных, OLAP и отчетности, которые тесно интегрированы с Microsoft Visual Studio для предоставления сквозных возможностей разработки приложений. Каждая главная подсистема SQL Server поставляется со своей собственной объектной моделью и набором API для расширения системы данных в любом направлении, которое уникально для каждого конкретного предприятия.
Особенностью данной СУБД являются следующие средства:
- SQL Server Management Studio. SQL Server упрощает управление путем предоставления единой интегрированной консоли управления для мониторинга и управления реляционной базой данных SQL Server, Integration Services, Analysis Services, Reporting Services, Notification Services и SQL Mobile на большом числе распределенных серверов и баз данных. Администраторы баз данных могут выполнять несколько задач одновременно, включая следующие: создание и выполнение запроса, просмотр серверных объектов, управление объектом, отслеживание активности системы и просмотр оперативной справки. SQL Server Management Studio содержит среду разработки для создания, редактирования и управления сценариев и хранимых процедур, используя Transact-SQL, многомерные выражения (MDX), XMLA и SQL Server Mobile Edition. Management Studio легко интегрируется с системой контроля версий, а также содержит инструменты для планирования задач агента SQL Server и управления Планами Технического Обслуживания для автоматизации ежедневных задач обслуживания. Объединение задач управления и создания в одном инструменте в соединении со способностью управлять всеми типами серверов обеспечивает улучшенную производительность для администраторов баз данных;
- упреждающий мониторинг и
- Объекты Управления SQL (SQL Management Objects, SMO). Объекты управления SQL являются новым набором объектов для программирования, которые предоставляют полную функциональность для управления базой данных SQL Server. Фактически Management Studio построена на объектах управления SQL. SMO реализована в виде сборки Microsoft .NET Framework. SMO можно использовать для автоматизации распространенных задач администрирования SQL Server, таких как программное получение конфигурационных настроек, создание баз данных, выполнение сценариев Transact-SQL, создание заданий агента SQL Server и планирование резервного копирования. Объектная модель SMO является более безопасной, надёжной и масштабируемой заменой распределенным объектам управления (DMO), которые входят в состав предыдущих версий SQL Server;
- выделенное административное соединение. SQL Server привносит выделенное административное соединение для доступа к серверу даже если он не отвечает или недоступен по какой-либо причине. Это позволяет выполнять диагностические функции или операторы Transact-SQL для разрешения проблем на сервере. Административное соединение активируется членами фиксированной серверной роли sysadmin и доступно только через утилиту командной строки SQLCMD либо локально, либо с удаленной машины;
- поддержка Web служб. В SQL Server можно разрабатывать Web службы XML в уровне базы данных, используя SQL Server в качестве слушателя http. Это даёт новый способ доступа к данным приложениям, которые сосредоточены вокруг Web служб. В SQL Server 2005 можно использовать http для прямого доступа к SQL Server, без применения слушателя промежуточного уровня, такого как Microsoft Internet Information Services (IIS). SQL Server предоставляет интерфейс Web службы для выполнения SQL выражений и вызова функций и процедур. Результаты запросов возвращаются в XML формате и здесь можно воспользоваться преимуществами инфраструктуры Web служб Visual Studio.
Важно отметить, что MS SQL Server рассчитана на работу именно на платформе Windows. Это ограничивает её использование в различных сферах деятельности. Кроме того, компания Microsoft ориентируется на снижение стоимости СУБД, что приводит к уменьшению эффективности средств обеспечения надежности и безопасности. А это является важным фактором при выборе СУБД для организации.
2.2 СУБД Oracle
Другой распространенной СУБД является система от компании Oracle. Данная СУБД также является клиент-серверной, следовательно, она также предназначена для компаний, имеющих большую информационную сеть с мощным сервером. Эта СУБД тоже использует реляционную модель данных, но содержит элементы объектно-ориентированной модели данных. В настоящее время самой новой является версия Oracle 11g Release 2. Я собираюсь рассмотреть особенности этой программы:
Масштабируемость приложений. Модуль Oracle Real Application Clusters, следующее поколений продукта Oracle Parallel Server, обеспечивает прозрачную масштабируемость приложений за счет быстрого и эффективного совместного использования кластерного кэша для согласованного доступа к данным. Oracle Real Application Clusters предоставляет следующие возможности:
- коробочные приложения,
которые можно масштабировать
практически линейно и
- совместимость со всеми приложениями без необходимости их перестройки;
- быстрое увеличение
кластеров, возможность
Аварийное восстановление. Oracle Data Guard обеспечивает клиентов системой быстрого восстановления из аварийных ситуаций. Операции восстановления в Oracle Data Guard предусматривают возможные случаи, просты в использовании и полностью автоматизированы.
- физическая резервная
база данных. Физическое резервирование
базы данных осуществляется
- логическая резервная база данных. В Oracle Data Guard появился новый механизм резервирования базы данных – логическая резервная база данных (Logical Standby Database), отличающаяся от физической способом реализации. Материалом для обеих резервных баз данных служат журналы операций, но вместо прямого их применения логическая база данных экстраполирует из них операторы SQL и выполняет их на резервном сервере, как обычные SQL-команды. В итоге резервная база данных доступна для нормальных операций чтения и записи;