SQL.ppt
- Количество слайдов: 16
Структурированный язык запросов Учебный курс Основы языка SQL Белоус С. А.
SQL (Structured Query Language) Это - язык, который дает Вам возможность создавать и работать в реляционных базах данных, являющихся наборами связанной информации, сохраняемой в таблицах. Стандарт SQL определяется ANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (Международной Организацией по Стандартизации). Элегантность и независимость от специфики компьютерных технологий, а также его поддержка лидерами промышленности в области технологии реляционных баз данных, сделало SQL (и, вероятно, в течение обозримого будущего оставит его) основным стандартным языком. По этой причине, любой, кто хочет работать с базами данных, должен знать SQL.
Состав языка SQL язык манипулирования данными (Data Manipulation Language, DML) l язык определения данных (Data Definition Language, DDL) l язык управления данными (Data Control Language, DCL) l
Язык манипулирования данными (Data Manipulation Language, DML) Используется для манипулирования данными в таблицах баз данных. Он состоит из 4 основных команд: SELECT (выбрать) l INSERT (вставить) l UPDATE (обновить) l DELETE (удалить). l
Язык определения данных (Data Definition Language, DDL) Используется для создания и изменения структуры базы данных и ее составных частей - таблиц, индексов, представлений (виртуальных таблиц), а также триггеров и сохраненных процедур. Основными его командами являются: l l l l l CREATE DATABASE (создать базу данных) CREATE TABLE (создать таблицу) CREATE INDEX (создать индекс) ALTER DATABASE (модифицировать базу данных) ALTER TABLE (модифицировать таблицу) ALTER VIEW (модифицировать виртуальную таблицу) ALTER INDEX (модифицировать индекс) DROP DATABASE (удалить базу данных) DROP TABLE (удалить таблицу)
Язык управления данными (Data Control Language, DCL) Используется для управления правами доступа к данным и выполнением процедур в многопользовательской среде. Более точно его можно назвать “язык управления доступом”. Он состоит из двух основных команд: GRANT (дать права) l REVOKE (забрать права) l
С точки зрения прикладного интерфейса существуют две разновидности команд SQL: Интерактивный SQL - используется в специальных утилитах (типа WISQL или DBD), позволяющих в интерактивном режиме вводить запросы с использованием команд SQL, посылать их для выполнения на сервер и получать результаты в предназначенном для этого окне l Встроенный SQL - используется в прикладных программах, позволяя им посылать запросы к серверу и обрабатывать полученные результаты l
Таблицы SQL Пользователь (запрос с терминала или прикладной таблицы) SQL Виртуальная Реальная Хранимая Рабочая Базовая таблица Представление Базовая таблица Сервер баз данных Курсор Базовая таблица
В SQL используются следующие основные типы данных: l l l INTEGER - целое число (обычно до 10 значащих цифр и знак) SMALLINT - "короткое целое" (обычно до 5 значащих цифр и знак) DECIMAL(p, q) - десятичное число, имеющее p цифр (0 < p < 16) и знак; с помощью q задается число цифр справа от десятичной точки (q < p, если q = 0, оно может быть опущено) FLOAT - вещественное число с 15 значащими цифрами и целочисленным порядком, определяемым типом СУБД CHAR(n) - символьная строка фиксированной длины из n символов (0 < n < 256) VARCHAR(n) - символьная строка переменной длины, не превышающей n символов (n > 0 и разное в разных СУБД, но не меньше 4096)
DATE - дата в формате, определяемом специальной командой (по умолчанию mm/dd/yy); поля даты могут содержать только реальные даты, начинающиеся за несколько тысячелетий до н. э. и ограниченные пятым-десятым тысячелетием н. э. TIME - время в формате, определяемом специальной командой, (по умолчанию hh. mm. ss) DATETIME - комбинация даты и времени MONEY - деньги в формате, определяющем символ денежной единицы ($, грн, . . . ) и его расположение (суффикс или префикс), точность дробной части и условие для показа денежного значения
BIGINT (тип данных SQL 2003: BIGINT) Хранит целые числа со знаком и без знака в диапазоне от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Занимает 8 байт. См. тип INT, где указаны правила свойства IDENTITY, также применимые к типу BIGINT. BINARY[(n)] (тип данных SQL 2003: BLOB) Хранит двоичное значение фиксированной длины от 1 до 8000 байт. Значение типа BINARY занимает п + 4 байта. BIT (тип данных SQL 2003: BOOLEAN) Хранит значения 1, 0 или NULL, которое обозначает «unknown» . В одном байте может храниться до 8 значений из столбцов типа BIT таблицы. В еще одном байте можно разместить дополнительные 8 значений типа BIT Столбцы типа BIT нельзя индексировать.
CURSOR (тип данных SQL 2003: отсутствует) Специальный тип данных, используемый для описания курсора в форме переменной или параметра хранимой процедуры OUTPUT. Тип нельзя использовать в инструкции CREATE TABLE. Тип CURSOR может принимать значение NULL. FLOAT[(n)] (тип данных SQL 2003: FLOAT, FLOAT (n)) Хранит значения с плавающей точкой в диапазоне от-1. 79 Е + 308 до 1. 79 Е + 308. Точность, определяемая параметром и, может изменяться в пределах от 1 до 53. Для хранения 7 цифр (n — от 1 до 24) требуется 4 байта. Значения, превышающие 7 цифр, занимают 8 байт.
DECIMAL (p. s), DEC (p. s), NUMERIC (p, s) (тип данных SQL 2003: DECIMAL (p, s), NUMERIC (p. s)) Хранит десятичные дроби длиной до 38 цифр. Значения р и s определяют, соответственно, точность и масштаб. Масштаб по умолчанию равен 0. Занимаемое значением место определяется используемой точностью. При точности 1 -9 используется 5 байт. При точности 10 -19 используется 9 байт. При точности 20 -28 используется 13 байт. При точности 29 -39 используется 17 байт. См. тип INT, где указаны правила свойства IDENTITY, также применимые к типу DECIMAL. DOUBLE PRECISION (тип данных SQL 2003: отсутствует) Синоним FLOAT.
NCHAR(n), NATIONAL CHARACTER(n) (тип данных SQL 2003: NATIONAL СНАRACTER(n)) Хранит данные формата UNICODE фиксированной длины до 4000 символов. Для хранения требуется n*2 байт. NTEXT, NATIONAL TEXT (тип данных SQL 2003: NCLOB) Хранит фрагменты текста в формате UNICODE длиной до 1 073 741 823 символа. См. описание типа TEXT, где приведен список команд и функций, которые применимы и к типу NTEXT NUMERIC(p, s) (тип данных SQL 2003: DECIMAL (p, s)) Синоним типа DECIMAL. См. описание типа INT, где приведены правила, относящиеся к свойству IDENTITY. NVARCHAR(n), NATIONAL CHAR VARYING(n), NATIONAL CHARACTER VARYING(n) (тип данных SQL 2003: NATIONAL CHARACTER VARYING(n)) Хранит UNICODE-данные переменной длины до 4000 символов. Занимаемое место вычисляется как удвоенное значение длины всех символов, вставленных в поле (число символов * 2).
REAL, FLOAT(24) (тип данных SQL 2003: REAL) Хранит значения с плавающей точкой в диапазоне -3. 40 Е+38 до 3. 40 Е+38. Занимает 4 байта. Тип REAL функционально эквивалентен типу FLOAT(24). ROWVERSION (тип данных SQL 2003: отсутствует) Уникальное число, хранимое в базе данных, которое обновляется всякий раз, когда обновляется строка, В более ранних версиях называется TIMESTAMP. SMALLDATETIME (тип данных SQL 2003: отсутствует) Хранит дату и время в диапазоне от ’ 01 -01 -1900 00: 00? до ’ 06 -062079 23: 59? с точностью до минуты. (Минуты округляются до меньшего значения, если значе-ние секунд 29. 998 и менее, в противном случае они округляются до большего значения. ) Значение занимает 4 байта.
SMALLINT (тип данных SQL 2003: SMALLINT) Хранит целые числа со знаком или без знака в диапазоне от -32 768 до 32 767. Занимает 2 байта. См. описание типа INT, где приведены правила, относящиеся к свойству IDENTITY, которые также применимы и к этому типу. SMALLMONEY (тип данных SQL 2003: отсутствует) Хранит денежные значения в диапазоне от 214748. 3648 до 214748. 3647. Значения занимают 4 байта.
SQL.ppt