на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Системы управления базами данных
p align="center">Глава 4. Язык SQL в системах управления базами данных

SQL (англ. Structured Query Language -- язык структурированных запросов) -- универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL в его чистом (базовом) виде является информационно-логическим языком, а не языком программирования. Вместе с тем стандарт языка спецификацией SQL/PSM предусматривает возможность его процедурных расширений, с учётом которых язык уже вполне может рассматриваться в качестве языка программирования.

SQL основывается на реляционной алгебре.

Язык SQL делится на четыре части:

· операторы определения данных (англ. Data Definition Language, DDL)

· операторы манипуляции данными (англ. Data Manipulation Language, DML)

· операторы определения доступа к данным (англ. Data Control Language, DCL)

· операторы управления транзакциями (англ. Transaction Control Language, TCL)

Data Definition Language (DDL) (язык описания данных) - это язык, используемый в компьютерных программах для описания структуры баз данных.

Функции языков DDL определяются первым словом в предложении (часто называемом запросом), которое почти всегда является глаголом. В случае с SQL эти глаголы - "create" ("создать"), "alter" ("изменить"), "drop" ("удалить"). Это превращает природу языка в ряд обязательных утверждений (команд) к базе данных.

Языки 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) -- в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта. Транзакции обрабатываются транзакционными системами, в процессе работы которых создаётся история транзакций.

Различают обычные и распределённые транзакции. Распределённые транзакции подразумевают использование больше чем одной транзакционной системы и требуют на много более сложной логики (например, two-phase commit -- двухфазный протокол подтверждения успеха). Также, в некоторых системах реализованы автономные транзакции, или под-транзакции, которые являются автономной частью родительской транзакции.

Примеры TCL команд:

· COMMIT применяет транзакцию.

· ROLLBACK "откатывает" все изменения сделанные транзакцией.

· SAVEPOINT делит транзакцию на более мелкие участки.

Язык SQL имеет слудующие особенности:

Преимущества
:

Независимость от конкретной СУБД
. Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своём тексты SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую. Существуют системы, разработчики которых изначально закладывались на применение по меньшей мере нескольких СУБД (например: система электронного документооборота Documentum может работать как с Oracle, так и с Microsoft SQL Server и IBM DB2). Естественно, что при применении некоторых специфичных для реализации возможностей такой переносимости добиться уже очень трудно.

Наличие стандартов.Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка. Правда, стоит обратить внимание, что сам по себе стандарт местами чересчур формализован и раздут в размерах, например, Core-часть стандарта SQL:2003 представляет собой более 1300 страниц текста.

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

Недостатки:

Несоответствие реляционной модели данных
. Создатели реляционной модели данных Эдгар Кодд, Кристофер Дейт и их сторонники указывают на то, что SQL не является истинно реляционным языком. В частности они указывают на следующие проблемы SQL:

· Повторяющиеся строки

· Неопределённые значения (nulls)

· Явное указание порядка колонок слева направо

· Колонки без имени и дублирующиеся имена колонок

· Отсутствие поддержки свойства «=»

· Использование указателей

· Высокая избыточность

В опубликованном Кристофером Дейтом и Хью Дарвеном Третьем Манифесте они излагают принципы СУБД следующего поколения и предлагают язык Tutorial D, который является подлинно реляционным.

Сложность. Хотя SQL и задумывался, как средство работы конечного пользователя, в конце концов он стал настолько сложным, что превратился в инструмент программиста.

Отступления от стандартов Несмотря на наличие международного стандарта ANSI SQL-92, многие компании, занимающиеся разработкой СУБД (например, Oracle, Sybase, Microsoft, MySQL AB), вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Таким образом, появляются специфичные для каждой конкретной СУБД диалекты языка SQL.

Сложность работы с иерархическими структурами
. Ранее диалекты SQL большинства СУБД не предлагали способа манипуляции древовидными структурами.

Некоторые поставщики СУБД предлагали свои решения. Например, Oracle использует выражение
CONNECT BY. В настоящее время в ANSI стандартизована рекурсивная конструкция WITH из диалекта SQL DB2.

Несмотря на недостатки, язык SQL вполне пригоден для использования в реляционных СУБД.

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

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

Глава 5. СУБД Microsoft SQL server

Одной из самых распространенных СУБД, используемых в крупных организациях, является Microsoft SQL server, СУБД от компании Microsoft. Она использует реляционную модель данных. Microsoft 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 Systems Management 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 легко интегрируется с системой контроля версий. Management Studio также содержит инструменты для планирования задач Агента SQL Server и управления Планами Технического Обслуживания для автоматизации ежедневных задач обслуживания. Объединение задач управления и создания в одном инструменте в соединении со способностью управлять всеми типами серверов обеспечивает улучшенную производительность для администраторов баз данных.

Упреждающий мониторинг и настройка производительности SQL Server предоставляет более 70 новых мер внутренней производительности базы данных и использования ресурсов от памяти, блокировок и планирования до транзакций и операций сетевого и дискового ввода-вывода. Эти Динамические Представления Управления (Dynamic Management Views - DMV) обеспечивают большую прозрачность и видимость состояния базы данных и мощную инфраструктуру для упреждающего мониторинга жизнеспособности и производительности базы данных.

Объекты Управления SQL (SQL Management Objects ) Объекты Управления SQL (SMO) являются новым набором объектов для программирования, которые предоставляет полную функциональность для управления базой данных SQL Server. Фактически, Management Studio построена на Объектах Управления SQL. SMO реализована в виде сборки Microsoft .NET Framework. SMO можно использовать для автоматизации распространённых задач администрирования SQL Server, таких как программное получение конфигурационных настроек, создание баз данных, выполнение сценариев Transact-SQL, создание заданий Агента SQL Server и планирование резервного копирования. Объектная модель SMO является более безопасной, надёжной и масштабируемой заменой Распределённым Объектам Управления (DMO), которые входят в состав предыдущих версий SQL Server.

Страницы: 1, 2, 3



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