Добавлен: 30.10.2023
Просмотров: 30
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования
РОССИЙСКИЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ
ИМЕНИ Г.В. ПЛЕХАНОВА
филиал в г. Пятигорске Ставропольского края
Кафедра _Информационных технологий и правового регулирования управления
РЕФЕРАТ
по предмету ____________Управление данными_________________________
Тема: Языки управления данными. Их особенности и возможности.
Выполнил (а) студент (ка)
__2___ курса ___а-Ист___группы
___Бердников Роман Игоревич___
(Ф.И.О.)
Научный руководитель_К.т.н.,доц.
_______ Рябова А.А.__
Дата_________________________
Оценка_______________________
Пятигорск – 2019
Содержание
Введение ………………………………………………………………………….3
1. Общие сведения об истории создания и стандартах SQL……………….3
2. Международный стандарт 1989 г. ………………………………………… 5
3. Международный стандарт 1992 г. (SQL2) ……………………………….. 6
4. Стандарт SQL: 1999 (SQL3) …………………………………………………7
5. Интерактивный и вложенный SQL ………………………………………..8
6. Cубподразделения SQL……………………………………………………….9
7. DML ……………………………………………………………………………..10
8. DDL …………………………………………………………………………….12
9. DCD ……………………………………………………………………………..13
Заключение ……………………………………………………………………….16
Список источников……………………………………………………………….18
Введение
Языки управления данными - это языки программирования, предназначенные для работы с данными в базах данных. Они позволяют создавать, изменять, удалять и извлекать данные из баз данных, а также выполнять различные операции с данными, такие как фильтрация, сортировка и агрегация.
Одним из наиболее популярных языков управления данными является язык структурированных запросов SQL (Structured Query Language). SQL широко используется в реляционных базах данных и предоставляет мощные возможности для манипуляции данными. Основные операции SQL включают SELECT (извлечение данных), INSERT (вставка данных), UPDATE (обновление данных) и DELETE (удаление данных). SQL также поддерживает операции объединения таблиц, создание и изменение таблиц, а также определение ограничений целостности данных.
Кроме SQL, существуют и другие языки управления данными, такие как NoSQL языки запросов (например, MongoDB Query Language для баз данных MongoDB) и языки программирования для работы с объектно-ориентированными базами данных (например, язык Java для работы с базами данных, использующими Java Persistence API).
1. Общие сведения об истории создания и стандартах SQL
Язык SQL был создан в начале 70-х годов в результате исследовательского проекта IBM, целью которого было создание языка манипуляции реляционными данными. Работа была начата сразу после появления статьи Э. Кодда в 1970 г. в лабораториях компании IBM для проверки возможностей реляционной модели. Первоначально он назывался SEQUEL (Structured English Query Language), затем - SEQUEL/2, а затем - просто SQL.
Вскоре появилась СУБД System R - экспериментальная исследовательская система с языком SEQUEL (позже SQL), созданная IBM. Затем появились многочисленные СУБД с SQL среди них:
- Oracle (Relation Software Inc. - Oracle corp.;
1981-1982 - DB2 (IBM), Ingres - CA-OpenIngres (Relation Technology Inc. - Computer Associates)
- Informix (Informix Sofrware);
- Sybase (Sybase Corp.)
Стандарт SQL определяется ANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (Международной Организацией по Стандартизации). Однако, большинство коммерческих программ баз данных расширяют SQL без уведомления ANSI, добавляя разные другие особенности в этот язык, которые, как они считают, будут весьма полезны. Иногда они несколько нарушают стандарт языка, хотя хорошие идеи имеют тенденцию развиваться и вскоре становиться стандартами «рынка» сами по себе в силу полезности своих качеств.не изобретался ANSI. Это по существу изобретение IBM. Но другие компании подхватили SQL сразу же, по крайней мере одна компания (Oracle) отбила у IBM право на рыночную продажу SQL продуктов.
Первый международный стандарт был принят в 1989 г., и соответствующая версия языка называется SQL-89. Стандарт SQL-89 во многих частях имеет чрезвычайно общий характер и допускает очень широкое толкование. В этом стандарте полностью отсутствуют такие важные разделы, как манипулирование схемой БД и динамический SQL. Многие важные аспекты языка в соответствии со стандартом определяются в реализации.
Возможно, наиболее важными достижениями стандарта SQL-89 являются четкая стандартизация синтаксиса и семантики операторов выборки и манипулирования данными и фиксация средств ограничения целостности БД, включающих возможности определения первичного и внешних ключей отношений и так называемых проверочных ограничений целостности, позволяющих сформулировать условие для каждой отдельной строки таблицы. Средства определения внешних ключей позволяют легко формулировать требования так называемой целостности БД по ссылкам. Формулировка ограничений целостности на основе понятия внешнего ключа проста и понятна.
Осознавая неполноту стандарта SQL-89, на фоне завершения разработки этого стандарта специалисты различных фирм начали работу над стандартом SQL2. Эта работа также длилась несколько лет, было выпущено несколько проектов стандарта, пока, наконец, в марте 1992 г. не был выработан окончательный проект стандарта (после чего стандарт и соответствующий язык стали называть SQL-92). Этот стандарт существенно более полный и охватывает практически все необходимые для реализации аспекты: манипулирование схемой БД, управление транзакциями и сессиями (сессия - это последовательность транзакций, в пределах которой сохраняются временные отношения), подключение к БД, динамический SQL. Наконец стандартизованы отношения-каталоги БД, что вообще-то не связано с языком непосредственно, но очень сильно влияет на реализацию. Заметим, что в стандарте представлены три уровня языка - базовый, промежуточный и полный. В течение нескольких лет после принятия стандарта производители СУБД, утверждавшие совместимость своих продуктов со стандартом, на самом деле в лучшем случае поддерживали промежуточный уровень языка SQL-92 (естественно, с собственными расширениями). Только в последних выпусках СУБД ведущих производителей обеспечивается совместимость с полным вариантом языка. Наконец, одновременно с завершением работ по определению стандарта SQL-92 была начата разработка стандарта SQL3. В конце 2003 г. был принят и опубликован новый вариант международного стандарта SQL:2003.
Ниже указан анализ основных аспектов стандартов SQL.
2. Международный стандарт 1989 г.
Во многих частях имеет чрезвычайно общий характер и допускает очень широкое толкование. Отсутствуют важные разделы (манипулирование схемой БД, динамический SQL, многое определяется в реализации).
Наибольшие достижения (стандартизация синтаксиса и семантики операторов выборки и манипулирования данными, фиксация средств ограничений целостности БД: определение первичного и внешнего ключей отношений, проверочные ограничения целостности)
3. Международный стандарт 1992 г. (SQL2)
Расширено манипулирование таблицами (Alter table, Drop table), манипулирование схемой БД (Users, Tables, Views, Columns, Domains, Table_priveleges, Table_constraints,).
Добавлены:
возможность управления доменами (Create domain имя char(25)… и при определении имен столбцов эти имена определяются через имена доменов);
управление транзакциями и сессиями (сессия - последовательность транзакций, в пределах которой сохраняются временные отношения);
развитие динамического SQL.
В 1995 г. стандарт был дополнен спецификацией интерфейса уровня вызова (Call-Level Interface - SQL/CLI). SQL/CLI представляет собой набор спецификаций интерфейсов процедур, вызовы которых позволяют выполнять динамически задаваемые операторы SQL. По сути дела, SQL/CLI представляет собой альтернативу динамическому SQL и послужил основой для создания повсеместно распространенных сегодня интерфейсов ODBC (Open Database Connectivity) и JDBC (Java Database Connectivity).
В 1996 г. к стандарту SQL/92 был добавлен еще один компонент - SQL/PSM (Persistent Stored Modules). Основная цель этой спецификации состоит в том, чтобы стандартизировать способы определения и использования хранимых процедур, т.е. специальным образом оформленных программ, включающих операторы SQL, которые сохраняются в базе данных, могут вызываться приложениями и выполняются внутри СУБД.
4. Стандарт SQL: 1999 (SQL3)
Незадолго до завершения работ по определению стандарта SQL2 была начата разработка стандарта SQL3. Реально работу над новым стандартом удалось частично завершить только в 1999 г., и по этой причине (а также в связи с проблемой 2000 года) стандарт получил название SQL:1999.
г. были приняты пять первых частей стандарта SQL:1999. Первая часть (SQL/Framework) посвящена описанию концептуальной структуры стандарта: приводится развернутая аннотация следующих четырех частей.
Вторая часть SQL:1999 (SQL/Foundation) образует базис стандарта. Вводится система типов языка, формулируются правила определения функциональных зависимостей и возможных ключей, определяются синтаксис и семантика основных операторов SQL:
операторов определения и манипулирования схемой базы данных;
операторов манипулирования данными;
операторов управления транзакциями (расширенные модели транзакций, контрольные точки, многозвенные транзакций);
операторов управления подключениями к базе данных и т.д.
Третью часть занимает уточненная по сравнению с SQL/92 спецификация SQL/CLI. В четвертой части специфицируется SQL/PSM - синтаксис и семантика языка определения хранимых процедур (стандарт синтаксиса триггеров и процедур). Наконец, в пятой части - SQL/Bindings - определяются правила связывания SQL для стандартных версий языков программирования FORTRAN, COBOL, PL/1, Pascal, Ada, C и MUMPS.
В стандарт SQL: 1999 не вошли и существуют в виде отдельных стандартов:
стандарт управления распределенными транзакциями (SQL/Transaction);
стандарт поддержки темпоральных свойств данных (SQL/Temporal);
стандарт управления внешними данными (SQL/MED);
поддержка оперативной аналитической обработки (SQL/OLAP).
На рисунке 1 тезисно представлена история развития SQL.
Рисунок 1 - История развития SQL
5. Интерактивный и вложенный SQL
Имеются два SQL: Интерактивный и Вложенный. Большей частью, обе формы работают одинаково, но используются различно.
Интерактивный SQL используется для функционирования непосредственно в базе данных, чтобы производить вывод для использования его заказчиком. В этой форме SQL, когда вы введете команду, она сейчас же выполнится и вы сможете увидеть вывод (если он вообще получится) - немедленно.
Вложенный SQL состоит из команд SQL, помещенных внутри программ, которые обычно написаны на некотором другом языке (типа КОБОЛА или Паскаля). Это делает эти программы более мощными и эффективным. Однако, допуская эти языки, приходится иметь дело со структурой SQL и стилем управления данных который требует некоторых расширений к интерактивному SQL. Передача SQL команд во вложенный SQL является выдаваемой («passed off») для переменных или параметров используемых программой в которую они были вложены.
Чтобы вложить SQL в другой язык, нужно использовать пакет программ, который бы обеспечивал поддержку вложения SQL в этот языки конечно же, поддержку самого языка. Главным образом, е используются команды SQL для работы в таблицах базы данных, передачи результатов вывода в программу и получения ввода из программы в которую они вкладываются, обобщенно ссылаясь к главной программе (которая может или не может принимать их из диалога или посылать обратно в диалог пользователя и программы).