- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Таблица A
- •Таблица A
- •Таблица A
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
Элементы языка SQL
Общие сведения
Базовым требованием к реляционным СУБД является наличие мощного и в тоже время простого языка, позволяющего выполнять все необходимые пользователям операции. В последние годы таким повсеместно принятым языком стал язык реляционных БД SQL.
SQL - Structured Query Language
(иногда понимается как Standard Query Language).
Язык SQL стал фактически стандартным языком доступа к базам данных. Все СУБД, претендующие на название "реляционные", реализуют тот или иной диалект SQL. Многие нереляционные системы также имеют в настоящее время средства доступа к реляционным данным. Целью стандартизации является переносимость приложений между различными СУБД.
В настоящее время, ни одна система не реализует стандарт SQL в полном объеме. Кроме того, во всех диалектах языка имеются возможности, не являющиеся стандартными. Таким образом, можно сказать, что каждый диалект - это надмножество некоторого подмножества стандарта SQL. Это затрудняет переносимость приложений, разработанных для одних СУБД в другие СУБД.
Элементы языка SQL
Общие сведения
Язык SQL оперирует терминами, несколько отличающимися от терминов реляционной теории, например, вместо "отношений" используются "таблицы", вместо "кортежей" - "строки", вместо "атрибутов" - "колонки" или "столбцы".
Стандарт языка SQL, хотя и основан на реляционной теории, но во многих местах отходит он нее. Например, отношение в реляционной модели данных не допускает наличия одинаковых кортежей, а таблицы в терминологии SQL могут иметь одинаковые строки. Имеются и другие отличия.
Язык SQL является реляционно полным. Это означает, что любой оператор реляционной алгебры может быть выражен подходящим оператором SQL.
Элементы языка SQL
Средства определения схемы БД DDL (Data Definition Language)
•CREATE SCHEMA - создать схему базы данных
•DROP SHEMA - удалить схему базы данных
•CREATE TABLE - создать таблицу
•ALTER TABLE - изменить таблицу
•DROP TABLE - удалить таблицу
•CREATE DOMAIN - создать домен
•ALTER DOMAIN - изменить домен
•DROP DOMAIN - удалить домен
•CREATE VIEW - создать представление
•DROP VIEW - удалить представление
|
Элементы языка SQL |
|
Средства определения схемы БД |
|
Создание БД |
CREATE |
{ DATABASE | SHEMA } “<имя_файла>” |
{ USER |
“имя_пользователя” [PASSWORD “пароль”] ] |
[ PAGE_SIZE [=] целое ]
[ LENGTH [=] целое [PAGE [S] ] ]
[ DEFAULT CHARASTER SET набор_символов ] [ <вторичный_файл> ];
<вторичный файл> = FILE “<имя_файла>” [<файлов_информ>] [<вторичный файл>]
<файлов_информ> = LENGTH [ = ] целое [ PAGE [S] ] | STARTING
[AT [PAGE]] целое <файлов_информ>
Элементы языка SQL
Средства определения схемы БД
Создание БД
Аргумент |
Описание |
“<имя_файла>”
USER “имя_пользователя”
PASSWORD “пароль” PAGE_SIZE [=] целое
DEFAULT CHARASTER SET набор_символов
FILE “<имя_файла>” STARTING [AT [PAGE]]
Спецификация файла, в котором будет храниться создаваемая БД.
Имя пользователя Пароль пользователя
Размер страницы БД в байтах
Определяет используемый в БД набор символов
Имя одного или нескольких файлов, в которых располагается БД
Если БД занимает несколько файлов, предложение определяет с какой страницы располагается БД в указанном файле
LENGTH [ = ] целое [ PAGE [S] ]
Длина файла в страницах. По умолчанию 50. Минимум 50.
Элементы языка SQL
Средства определения схемы БД
Создание БД
Пример:
CREATE DATABASE “D:\BD\SKLAD.GDB”
FILE “D:\BD\SKLAD.GD1” STARTING AT PAGE 1001 LENGTH 500
FILE “D:\BD\SKLAD.GD\2”
Здесь определяется БД D:\BD\SKLAD.GDB, состоящая из 3 файлов: первичного длиной 1000 страниц, второго длиной 500 страниц и третьего неопределенной длины.
Элементы языка SQL
Средства определения схемы БД
Типы данных и домены
Типы данных:
•Символьные (CHAR, VARCHAR)
•Целочисленные (INTEGER, SMALLINT)
•Вещественные (FLOAT, DOUBLE PRECISION)
•Фиксированно-десятичные значения (DECIMAL, NUMERIC)
•Значения типа даты (DATE)
•Двоичные (BLOB)
Понятие домена:
CREATE DOMAIN домен [AS] <тип данных> [DEFAULT {литерал} | NULL | USER]
[NOT NULL] [CHECK (<Ограничение домена>) ]
Пример:
CREATE DOMAIN ID_TYPE AS INTEGER CHECK (VALUE >= 100);
Элементы языка SQL
Средства определения схемы БД
Типы данных и домены
< Ограничение домена >= { VALUE <оператор> <значение>
| VALUE [NOT] BETWEEN <значение1> AND <значение2> | VALUE [NOT] LIKE <значение1> [ESCAPE <значение2>] | VALUE [NOT] IN <значение1> [, <значение2> …])
| VALUE IS [NOT] NULL
| VALUE [NOT] CONTAINING <значение> | < Ограничение домена >
| NOT < Ограничение домена >
| < Ограничение домена > OR | < Ограничение домена > | < Ограничение домена > AND < Ограничение домена > };
где
<оператор> = { = | < | > | <= | >= | != | !< | !> | <> }
Элементы языка SQL
Средства определения схемы БД
Общий формат оператора создания таблиц
CREATE TABLE ИмяТаблицы ( <опр_столбца>
[, <опр_столбца> | <ограничение> …]);
<опр_столбца> - определение столбца таблицы.
<опр_столбца> = тип_данных | COMPUTED [ BY ] {<выражение>) | домен }
[ DEFAULT {литерал | NULL | USER } ] [NOT NULL] [<огранич_столбца>]
Элементы языка SQL
Средства определения схемы БД
Пример оператора создания таблиц
CREATE TABLE SAL_HIST QUORTER INTEGER NOT NULL, LAST_YEAR INTEGER, THIS_YEAR INTEGER,
DELTA COMPUTED_BY (THIS_YEAR - LAST_YEAR), PRIMARY KEY (QUORTER) );
QUORTER |
LAST_YEAR |
THIS_YEAR |
DELTA |
1 |
100 |
129 |
29 |
2 |
200 |
280 |
-20 |
3 |
300 |
350 |
0 |
4 |
400 |
403 |
3 |