Язык реляционных запросов SQL. Команды языка манипулирования данными. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Язык реляционных запросов SQL. Команды языка манипулирования данными.



 

SQL (англ. Structured Query Language — язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных.

SQL является информационно-логическим языком, а не языком программирования. SQL основывается на реляционной алгебре.

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

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

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

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

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

· Независимость от конкретной СУБД. Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своём тексты SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую.

· Наличие стандартов. Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка.

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

Недостатки:

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

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

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

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

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

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

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

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

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

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

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

Условно команды SQL можно разделить на четыре группы:

· команды определения данных;

· команды манипулирования данными;

· команды управления данными;

· команды управления транзакциями.

Команды манипулирования данными (DML) используются для вставки, изменения, удаления и извлечения данных.

· INSERT – вставляет строки в таблицу или представление.

INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)

· UPDATE – изменяет строки в таблице или представлении.

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value

· DELETE – удаляет строки из таблицы или представления.

DELETE FROM table_name
WHERE some_column=some_value

· SELECT – извлекает строки из таблицы или представления.

SELECT column_name(s)
FROM table_name

· TRUNCATE TABLE – удаляет все строки из таблицы или представления.

TRUNCATE TABLE

[ { database_name.[ schema_name ]. | schema_name. } ]

table_name

[; ]

· BULK INSERT – вставляет строки из файла данных в таблицу или представление.

BULK INSERT AdventureWorks2012.Sales.SalesOrderDetail

FROM '\\computer2\salesforce\dailyorders\neworders.txt';

GO

 

· USE – выполняет соединение с базой данных.

USE { database }

 

В стандарте SQL/89 определен очень ограниченный набор операторов манипулирования данными. Их можно классифицировать на группы операторов, связанных с курсором; одиночных операторов манипулирования данными и операторов завершения транзакции. Все эти операторы можно использовать как в модулях SQL, так и во встроенном SQL.



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 216; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.218.184 (0.005 с.)