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

Автор работы: Пользователь скрыл имя, 20 Декабря 2011 в 22:19, курсовая работа

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

Целью данной работы является исследование устройства и функций СУБД, а также сопоставление наиболее распространенных современных СУБД на предмет их использование в банках данных крупных организаций.
Задачи исследования:
1.рассмотреть структуру и функции СУБД
2.изучить классификацию СУБД .
3.проанализировать конкретные СУБД: Microsoft SQL Server и Oracle.
4.Сравнить возможности СУБД: Microsoft SQL Server и Oracle.

Содержание работы

Введение……………………………………………………………………………2
Глава 1. Система управления базами данных как составная часть автоматизированного банка данных……………………………………………4
Понятие, структура и функции системы управления базами данных………4

Классификация СУБД по способу доступа к базе данных…………………..9
Глава 2. Язык SQL в системах управления базами данных………………….11
2.1 Понятие, преимущества и недостатки языка SQL………………………..11
2.2 СУБД Oracle и СУБД Microsoft SQL server………………………………..16
Заключение………………………………………………………………………27
Список литературы……………………………

Содержимое работы - 1 файл

курсовая!!!.docx

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

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

Примеры: Firebird, Interbase, IBM DB2, MS SQL Server, Sybase, Oracle, PostgreSQL, MySQL, ЛИНТЕР.

  3.Встраиваемые. Встраиваемая СУБД -библиотека, которая позволяет унифицированным образом хранить большие объёмы данных на локальной машине. Доступ к данным может происходить через SQL либо через особые функции СУБД. Встраиваемые СУБД быстрее обычных клиент-серверных и не требуют установки сервера, поэтому востребованы в локальном ПО, которое имеет дело с большими объёмами данных (например, геоинформационные системы). Примеры: OpenEdge, SQLite, BerkeleyDB, один из вариантов Firebird, один из вариантов MySQL, Sav Zigzag, Microsoft SQL Server Compact, ЛИНТЕР.

     Таким образом, для использования в крупных организациях, в том числе на промышленных предприятиях, больше подходят клиент-серверные СУБД. Мы рассмотрим особенности таких распространенных СУБД, как Oracle и MS SQL Server. 
 
 
 
 
 
 
 
 

Глава 2. Язык SQL в системах управления базами данных

2.1 Понятие, преимущества и недостатки языка 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. 
 
 
 
 
 
 
 

2.2  СУБД Microsoft SQL server и Oracle

        Одной из самых распространенных СУБД, используемых в крупных организациях, является 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. Выделенное административное соединение 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 ориентируется на снижение стоимости СУБД, что приводит к уменьшению эффективности средств обеспечения надежности и безопасности. Это является важным фактором при выборе СУБД для организации.

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