пятница, 11 января 2019 г.

CREATE USER

SQL, MySQL, Access, Oracle CREATE USER
Схема пользователя – логическая совокупность объектов БД, например таблиц, принадлежащих определенному владельцу.

CREATE USER

Для создания схемы пользователя БД, используемой для доступа к базе данных и работы с ней, предназначена команда CREATE USER.
Для схемы пользователя (CREATE USER) при ее создании могут быть указаны следующие свойства:
  • Имя области данных в базе данных, используемой по умолчанию при работе данного пользователя с базой данных;
  • Имя области данных в базе данных, используемой для хранения временных данных при работе данного пользователя с базой данных;
  • Размеры области данных, выделенной для работы с базой данных данному пользователю;
  • Профили пользователя, определяющие ограничения на использование ресурсов базы данных.
Условия, необходимые для использования команды (CREATE USER):
  • Пользователь, создающий другого пользователя, должен иметь системную привилегию CREATE USER;
  • Чтобы указать имя области данных, используемой для хранения временных данных, или используемой по умолчанию, необходимо, чтобы уровень в СУБД создающего пользователя был старше уровня создания области данных;
  • Чтобы назначить создаваемой схеме пользователя некоторый профиль пользователя, необходимо, чтобы уровень в СУБД создающего пользователя был старше уровня создания данного профиля пользователя.

Синтаксис команды CREATE USER

Create User
Синтаксис команды Create User
Ключевые слова и выражения команды CREATE USER
Слова и выражения CREATE USERОписание
userЯвляется именем пользователя (USER), который будет создан.
IDENTIFIEDОпределяет способ доступа к Oracle:
  • BY password — доступ определяется по вводимому паролю (password); пароль должен соответствовать правилам именования объектов в СУБД.
  • EXTERNALLY — доступ определяется именем операционной системы устанавливаемого соединения
DEFAULT TABLESPACEУстанавливает имя области данных, в которой по умолчанию бу­дут создаваться объекты пользователя. Если имя области данных не указано, то объекты пользователя по умолчанию создаются в области данных SYSTEM
TEMPORARY TABLESPACEУстанавливает имя областиданных для временных сегментов пользователя. Если имя области данных не указано, то времен­ные сегменты создаются в области данных SYSTEM.
QUOTAПозволяет пользователю использовать область (области) дан­ных, а также указать (необязательно) размер используемого про­странства в байтах, килобайтах(К) или мегабайтах(М). Возможно указание различного значения QUOTА для нескольких областей данных. Ключевое слово UNLIMITED используется при предос­тавлении неограниченного права на использование областей дан­ных.
PROFILEОпределяет профиль пользователя, определяющий ограничения на использование ресурсов базы данных. По умолчанию пользо­вателю назначается профиль DEFAULT
Чтобы пользователь мог выполнять некоторые операции по работе с базой данных, раздел привилегий пользователя должен содержать записи, которые разрешают пользователю выполнение соответствующих операций. В данном разделе размещаются также за­писи об операциях, определяемых ролями, определенными для данного пользователя. При соз­дании пользователя этот раздел является пустым, поэтому после создания пользователя необхо­димо предоставить ему привилегию на соединение с базой данных.

Oracle CREATE USER Пример 1

CREATE USER st IDENTIFIED BY st
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA 150K ON users
QUOTA UNLIMITED ON temp;
Созданный пользователь обладает следующими характеристиками:
Имя – st
Пароль – st
Область данных – users
Размер области данных — 150 килобайт
Область временных данных – temp
Размер области временных данных  — неограниченное использование

CREATE USER Пример 2

CREATE USER st IDENTIFIED BY st DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA 3000K ON users QUOTA UNLIMITED ON temp;

CREATE USER Пример 3

CREATE USER user_name IDENTIFIED BY user_pass DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA 300K ON users QUOTA UNLIMITED ON temp;

Create Table

Create Table SQL

Команда Create Table SQL предназначена для описания структуры таблицы. Команда SQL Create Table создает пустую таблицу (без строк).
Если вы знакомы с SQL Create Table, то наверняка знаете о пунктах, которые мы перечислим ниже, однако если всё-таки вы что-то подзабыли, то милости просим – как говорится, повторение мать учения. Итак, Create Table MySQL, прежде всего, поддерживает опцию определения локальных столбцов, которые, в свою очередь, определяют тип данных, а также имя данных в столбце. Также определяется опция вычисляемых столбцов, вычисление происходит в тех случаях, когда организуется доступ к таблице. Что касается столбцов, которые основаны на доменах, то для них определение может включать каждое значение по умолчанию. Оно также определяет порядок сортировки. В связи с этим определение домена отменяется автоматически. Есть ряд описаний, которые включают предложение CHARACTER SET, определяя кодировку, присущую одному столбцу. При неиспользовании описаний, кодировка остаётся прежней (базовой). Стоит отметить, что текущие столбцы никак не меняются. Что же касается Create Table Oracle, то оно определяет фрагментацию таблицы.

CREATE TABLE MySQL

Create Table. Пример №1.

CREATE TABLE Persons (
P_Id int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);

Create Table. Пример №2.

CREATE TABLE `blocklist` (
`email` text NOT NULL,
`login` text NOT NULL,
`remote_addr` text NOT NULL,
`browser` text NOT NULL,
`payment_wmid` text NOT NULL,
`payment_account` text NOT NULL,
`payment_raccount` text NOT NULL
);

Oracle Create Table

Синтаксис команды Create Table

Create Table
Синтаксис команды CREATE TABLE
Определение ограничений целостности таблицы SQL. Чтобы предохранить поле от разрешения в нем пустых (NULL) указателей для столбца задается ограничение NOT NULL.

Create Table. Пример №3.

CREATE TABLE Student (
Kod_stud integer NOT NULL,
Fam char (30) NOT NULL ,
Adres char (50),
Ball decimal
);
При создании, с помощью CREATE TABLE, любому столбцу с ограничением NOT NULL должно быть установлено значение в каждом предложении INSERT, воздействующем на таблицу.

SQL команды

Выделяют следующие группы команд SQL:

Команды языка определения данных

Команды языка определения данных DDL (Data Definition Language, язык определения данных) — это подмножество SQL, используемое для определения и модификации различных структур данных.
К данной группе относятся команды предназначенные для создания, изменения и удаления различных объектов базы данных. Команды CREATE (создание), ALTER (модификация) и DROP (удаление) имеют большинство типов объектов баз данных (таблиц, представлений, процедур, триггеров, табличных областей, пользователей и др.). Т.е. существует множество команд DDL, например, CREATE TABLECREATE VIEWCREATE PROCEDURECREATE TRIGGERCREATE USERCREATE ROLE и т.д.
Некоторым кажется, что применение DDL является прерогативой администраторов базы данных, а операторы DML должны писать разработчики, но эти два языка не так-то просто разделить. Сложно организовать аффективный доступ к данным и их обработку, не понимая, какие структуры доступны и как они связаны. Также сложно проектировать соответствующие структуры, не зная, как они будут обрабатываться.

Команды языка управления данными

С помощью команд языка управления данными ( DCL (Data Control Language) ) можно управлять доступом пользователей к базе данных. Операторы управления данными включают в себя применяемые для предоставления и отмены полномочий команды GRANTи REVOKE, а также команду SET ROLE, которая разрешает или запрещает роли для текущего сеанса.

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

Команды языка управления транзакциями ( TCL (Тгаnsасtiоn Соntrol Language) ) команды позволяют определить исход транзакции.
Команды управления транзакциями управляют изменениями в базе данных, которые осуществляются командами манипулирования данными.
Транзакция (или логическая единица работы) – неделимая с точки зрения воздействия на базу данных последовательность операторов манипулирования данными (чтения, удаления, вставки, модификации) такая, что либо результаты всех операторов, входящих в транзакцию, отображаются в БД, либо воздействие всех этих операторов полностью отсутствует.
COMMIT — заканчивает («подтверждает») текущую транзакцию и делает постоянными (сохраняет в базе данных) изменения, осуществленные этой транзакцией. Также стирает точки сохранения этой транзакции и освобождает ее блокировки. Можно также использовать эту команду для того, чтобы вручную подтвердить сомнительную распределенную транзакцию.
ROLLBACK — выполняет откат транзакции, т.е. отменяет все изменения, сделанные в текущей транзакции. Можно также использовать эту команду для того, чтобы вручную отменить работу, проделанную сомнительной распределенной транзакцией.
Понятие транзакции имеет непосредственную связь с понятием целостности базы данных. Очень часто база данных может обладать такими ограничениями целостности, которые просто невозможно не нарушить, выполняя только один оператор изменения БД. Например, невозможно принять сотрудника в отдел, название и код которого отсутствует в базе данных.
В системах с развитыми средствами ограничения и контроля целостности каждая транзакция начинается при целостном состоянии базы данных и должна оставить это состояние целостными после своего завершения. Несоблюдение этого условия приводит к тому, что вместо фиксации результатов транзакции происходит ее откат (т.е. вместо оператора COMMIT выполняется оператор ROLLBACK), и база данных остается в таком состоянии, в котором находилась к моменту начала транзакции, т.е. в целостном состоянии.
В связи со свойством сохранения целостности БД транзакции являются подходящими единицами изолированности пользователей, т.е., если с каждым сеансом работы с базой данных ассоциируется транзакция, то каждый пользователь начинает работу с согласованным состоянием базы данных, т.е. с таким состоянием, в котором база данных могла бы находиться, даже если бы пользователь работал с ней в одиночку.

Команды языка манипулирования данными

Команды языка манипулирования данными
Команды языка манипулирования данными

Команды языка манипулирования данными DML (Data Manipulation Language) позволяют пользователю перемещать данные в базу данных и из нее:
  • INSERT — осуществляет вставку строк в таблицу.
  • DELETE — осуществляет удаление строк из таблицы.
  • UPDATE — осуществляет модификацию данных в таблице.
  • SELECT — осуществляет выборку данных из таблиц по запросу.

Каждый, кто работает с SQL в среде Oracle, должен вооружиться книгами: справочником по языку SQL, таким как «Oracle SQL: The Essential Reference? (O’Reilly), руководством по оптимизации производительности, например «Oracle SQL Tuning Pocket Reference» (O’Reilly).

Индексы ROWID в Oracle

Индексы ROWID

Индексы ROWID — это объекты базы данных, обеспечивающие отображение всех значений столбца таблицы, а также идентификаторов ROWID всех строк таб­лицы, в которых содержатся значения столбца.
ROWID — это псевдостолбец, который является уникальным иден­тификатором строки в таблице и фактически описывает точное физическое расположение данной конкретной строки. На основе этой информации Oracle впоследствии может найти данные, связанные со строкой таблицы. При каждом перемещении, экспорте, импорте строки, а также при выполнении любых других операций, которые приводят к изменению ее местонахождения, изменяется ROWID строки, поскольку она занимает другое физическое положение. Для хранения данных ROWID требуется 80 бит (10 байт). Идентификаторы ROWID состоят из четырех компонентов: номера объекта (32 бита), относительного номера файла (10 бит), номера блока (22 бита) и номера строки (16 бит). Эти идентификаторы отображаются как 18-символьные последовательности, указывающие местонахождение данных в БД, причем каждый символ представлен в формате base-64, состоящем из символов A-Z, a-z, 0-9, + и /. Первые шесть символов – это номер объекта данных, следующие три – относительный номер файла, следующие шесть – номер блока, последние три – номер строки.
Пример:
SELECT fam, ROWID FROM student;
FAM                ROWID
——————————————
ИВАНОВ        AAAA3kAAGAAAAGsAAA
ПЕТРОВ         AAAA3kAAGAAAAGsAAB
В базе данных Oracle индексы используются для разных целей: для обеспечения уникальности значений в базе данных, для повы­шения производительности поиска записей в таблице и др. Производительность повышается благодаря тому, что в критерии поиска данных в таблице включается ссылка на индексированный столбец или столбцы. В Oracleиндексы можно созда­вать по любому столбцу таблицы, кроме столбцов типа LONG. Индексы проводят различие между приложениями, для которых скорость не важна, и интенсивно функционирующими приложениями, что особенно касается работы с большими таблицами. Однако, прежде чем принять решение о создании индекса, необходимо взвесить все «за» и «против» в отношении производительности системы. Производи­тельность не повысится, если просто ввести индекс и забыть о нем.
Рекомендации по созданию индексов ROWID:
Хотя наибольшее повышение производительности достигается созданием индекса по столбцу, все значения которого уникальны, похожий результат можно получить и для столбцов, содержащих одинаковые значения или NULL-значения. Для создания индекса совсем не обязательно, чтобы значения столбца были уникальны. Приведем ряд рекомендаций, обеспечивающих нужное повышение производительности при использовании стандартного индекса, а также рассмотрим вопросы, связанные с ба­лансом между производительностью и расходованием дискового пространства при создании индекса.
Использование индексов для поиска информации в таблицах может дать значительное повышение производительности по сравнению с просмотром таблиц, столбцы которых неиндексированы. Однако выбрать правильный индекс совсем непросто. Конечно, для индексирования с помощью индекса В-дерева предпочтителен столбец, все значения которого уникальны, но и столбец, не отвечающий этим требованиям,— неплохой кандидат, если только одинаковые значения содержатся примерно в 10% его строк и никак не более. Столбцы-«переключатели», или «флаги», например те в которых хранятся сведения о поле человека, для индексов В-дерева не годятся Не подходят и те столбцы, которые используются для хранения небольшого числа «достоверных значений», а также хранящие какие-то признаки, например «достовер­ность» или «недостоверность», «активность» или «неактивность», «да» или «нет» и т. д, и т. п. Наконец, индексы с обратными ключами применяются, как правило, там, где установлен и функционирует Oracle Parallel Server и нужно до максимума повысить уровень параллельности в базе данных.

Типы привилегий

Объектная и системная привилегии

Это те действия, которые может выполнять пользователь (вход в систему – минимальная привилегия). Привилегии могут меняться с течением времени: новые привилегии могут добавляться, старые – отменяться. Существует несколько типов привилегий, соответствующих определенным типам операций.

Объектная привилегия

Объектная привилегия означает то, что пользователь имеет привилегию выполнить данную команду только для определенного объекта базы данных. Привилегии должны различаться для различных объектов. Объектные привилегии связаны как с пользователями, так и с таблицами. Объектная привилегия дается отдельному пользователю для отдельной таблицы либо для представления.
Следует помнить, что пользователь, создавший таблицу, является ее владельцем. Это означает, что пользователь имеет все привилегии на таблицу и может назначать привилегии для работы с ней для других пользователей. Пользователь может назначить следующие объектные привилегии:
Объектная привилегияОписание
SELECTпользователь с этой привилегией может выполнять запросы для таблицы
INSERTпользователь с этой привилегией имеет право добавлять строки в таблицу
UPDATEпользователь с этой привилегией может изменять существующие значения в строках таблицы. Привилегия ограничивается множеством столбцов таблицы
DELETEпользователь с этой привилегией может удалить строки из таблицы
ALTERПозволяет изменять структуру только таблицы или последовательности, привилегии Alter на все другие объекты базы данных считаются системными
INDEXПозволяет создавать индекс для ранее описанной таблицы
EXECUTEПозволяет выполнять хранимую процедуру или функцию
REFERENCESПользователь с этой привилегией может определить внешний ключ, который использует один или несколько столбцов таблицы в качестве родительского ключа. Можно ограничить привилегию указанием столбцов. (Внешний ключ, родительский ключ – когда поле таблицы ссылается на другое поле в другой таблице, оно называется внешним ключом (foreign key). Поле, на которое он ссылается, называется его родительским ключом (parent key). Поле ссылается на (refers to) или является ссылкой (references))

Системные привилегии

Привилегии, которые не определяются в терминах отдельных объектов, называют системными привилегиями(system privileges) или авторским правом на базу данных (database authorities). Системные привилегии включают в себя право создавать объекты базы данных.
Обычно принято различать три типа базовых систем привилегий, которые называют:
Тип привилегииОписание
CONNECTПредусматривает право входить в систему и создавать представления и синонимы (синоним – альтернативное имя таблицы), если речь идет об объектных привилегиях. Пользователь может работать с объектами, к которым он имеет привилегии по доступу
RESOURCEПредоставляет право создавать таблицы и индексы
DBA(Database Administrator) – разрешает пользователю выполнять действия администратора базы данных, т.е. распоряжаться ею как своей собственной.
Имея привилегию DBA, пользователь может выполнять команду Select для любой таблицы и представления, создавать объекты для других пользователей, предоставлять другим пользователям различные привилегии, выполнять экспорт/импорт БД. Эту привилегию имеет пользователь (один или несколько) с функцией администрирования базы данных. Кроме этого, существует также специальный пользователь, называемый системным администратором, который обладает высшим авторским правом.

Типы данных SQL

Типы данных SQL

Типы данных SQL разделяются на три группы:
— строковые;
— с плавающей точкой (дробные числа);
— целые числадата и время.
  1. Типы данных SQL строковые
    Типы данных SQLОписание
    CHAR(size)Строки фиксированной длиной (могут содержать буквы, цифры и специальные символы). Фиксированный размер указан в скобках. Можно записать до 255 символов
    VARCHAR(size)Может хранить не более 255 символов.
    TINYTEXTМожет хранить не более 255 символов.
    TEXTМожет хранить не более 65 535 символов.
    BLOBМожет хранить не более 65 535 символов.
    MEDIUMTEXTМожет хранить не более 16 777 215 символов.
    MEDIUMBLOBМожет хранить не более 16 777 215 символов.
    LONGTEXTМожет хранить не более 4 294 967 295 символов.
    LONGBLOBМожет хранить не более 4 294 967 295 символов.
    ENUM(x,y,z,etc.)Позволяет вводить список допустимых значений. Можно ввести до 65535 значений в SQL Тип данных ENUM список. Если при вставке значения не будет присутствовать в списке ENUM, то мы получим пустое значение.
    Ввести возможные значения можно в таком формате: ENUM ( 'X', 'Y', 'Z')
    SETSQL Тип данных SET напоминает ENUM за исключением того, что SET может содержать до 64 значений.
  2. Типы данных SQL с плавающей точкой (дробные числа) и целые числа
    Типы данных SQLОписание
    TINYINT(size)Может хранить числа от -128 до 127
    SMALLINT(size)Диапазон от -32 768 до 32 767
    MEDIUMINT(size)Диапазон от -8 388 608 до 8 388 607
    INT(size)Диапазон от -2 147 483 648 до 2 147 483 647
    BIGINT(size)Диапазон от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807
    FLOAT(size,d)Число с плавающей точкой небольшой точности.
    DOUBLE(size,d)Число с плавающей точкой двойной точности.
    DECIMAL(size,d)Дробное число, хранящееся в виде строки.
  3. Типы данных SQL — Дата и время
    Типы данных SQLОписание
    DATE()Дата в формате ГГГГ-ММ-ДД
    DATETIME()Дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС
    TIMESTAMP()Дата и время в формате timestamp. Однако при получении значения поля оно отображается не в формате timestamp, а в виде ГГГГ-ММ-ДД ЧЧ:ММ:СС
    TIME()Время в формате ЧЧ:ММ:СС
    YEAR()Год в двух значной или в четырехзначном формате.

Типы данных MySQL

Типы данных MySQL разделяются на следующие типы:
  • Числовые типы данных
    Типы данныхБайтОтДо
    TINYINT1-128127
    SMALLINT2-3276832767
    MEDIUMINT3-83886088388607
    INT4-21474836482147483647
    BIGINT8-92233720368547758089223372036854775807
  • Типы данных даты и времени
    Типы данныхЗначение «Ноль»
    DATETIME‘0000-00-00 00:00:00’
    DATE‘0000-00-00’
    TIMESTAMP00000000000000 (длина зависит от количества выводимых символов)
    TIME’00:00:00′
    YEAR0000
  • Символьные Типы данных
    Типы данныхМакс. размерБайт
    TINYTEXT или TINYBLOB2^8-1255
    TEXT или BLOB2^16-1 (64K-1)65535
    MEDIUMTEXT или MEDIUMBLOB2^24-1 (16M-1)16777215
    LONGBLOB2^32-1 (4G-1)4294967295

Типы данных Oracle

Типы данных Oracle разделяются на следующие группы:
  • СНAR – фиксированные текстовые строки до 2000 байт. Значение типа CHARдополняется до указанной длины пробелами.
  • VARCHAR 2 — текстовые строки переменной длины до 4000 байт.
  • NUMBER — числовые данные.
  • DECIMAL — числовые данные
  • DATE — используется для хранения дат.
  • RAW — используется для хранения двоичных данных до 2000 байт.
  • LONG — используется для хранения текстовых данных длиной до 2 ГБ
  • LONG RAW — используется для хранения двоичных данных до 2 ГБ
  • ROWID — используется для хранения идентификаторов ROWID базы данных Oracle в специальном формате (адреса строк таблицы).
  • BLOB — сохраняется до 4 ГБ двоичных данных. Данные этого типа хранятся вне таблицы, а в таблице Oracle находятся лишь указатели на объекты
  • CLOBNCLOB — сохраняется до 4 ГБ текстовых данных. NCLOB – это тип данных NLSбольшой фиксированной длины (NLS означает National Language Set – набор для национальных языков – и используется для работы в Oracle на языках, отличных от английского. В английском для хранения одного символа нужен 1 байт, а в некоторых языках мира с наборами больших символов (японском, китайском, корейском), языках, где текст читается справа налево (арабский, иврит) для хранения одного символа требуется несколько байт). Данные этого типа хранятся вне таблицы, а в таблице находятся лишь указатели на объекты.
  • BFILE — сохраняется до 4 ГБ неструктурированных данных, причем в файлах операционной системы (внешние файлы).
ANSI SQL стандарт распознает только текст и число, в то время как большинство коммерческих программ используют другие специальные типы, такие как DATЕ и TIME — фактически почти стандартные типы. Некоторые пакеты также поддерживают такие типы, как, например, MONEY и BINARYТипы данных, распознаваемые с помощью ANSI, состоят из строк символов и различных типов чисел, которые могут классифицироваться как точные числа и приблизительные числа.
CHARACTER(length) определяет спецификацию строк символов, где length задает  длину строк заданного типа. Значения этого типа должны быть заключены в одиночные кавычки. Большинство реализаций поддерживают строки переменной длины для типов данных VARCHAR и LONG VARCHAR (или просто LONG).
В то время, как поле типа CHAR всегда может распределить память для максимального числа символов, которое может сохраняться в поле, поле VARCHAR при любом количестве символов может распределить только определенное количество памяти, чтобы сохранить фактическое содержание поля, хотя SQL может установить некоторое дополнительное пространство памяти, чтобы следить за текущей длиной поля. Поле VARCHAR может быть любой длины, включая реализационно-определяемый максимум. Этот максимум может меняться от 254 до 2048 символов для VARCHAR и до 16000 символов для LONGLONGобычно используется для текста пояснительного характера или для данных, которые не могут легко сжиматься в простые значения полей; VARCHAR может использоваться для любой текстовой строки, чья длина может меняться.
Извлечение и модифицирование полей VARCHAR — более сложный, и, следовательно, более медленный процесс, чем извлечение и модифицирование полей CHAR. Кроме того, некоторое количество памяти VARCHAR, остается всегда неиспользованной для гарантии вмещения всей длины строки. При использовании таких типов следует предусматривать возможность полей к объединению с другими полями.
Точные числовые типы — это числа, с десятичной точкой или без десятичной точки, которые могут представляться в виде [+|-]<целое без знака>[.<целое без знака>] и специфицироваться как:
DECIMAL(precision [, scale]) — аргумент размера имеет две части: точность и масштаб. Масштаб не может превышать точность. Точность указывает сколько значащих цифр имеет число. Масштаб указывает максимальное число цифр справа от десятичной точки. Масштаб = нулю  делает поле эквивалентом целого числа.
NUMERIC(precision [, scale]) — такое же как DECIMAL за исключением того, что максимальное десятичное не может превышать аргумента точности
INTEGER — число без десятичной точки. Эквивалентно DECIMAL, но без цифр справа от десятичной точки, т.е. с масштабом равным 0. Аргумент размера не используется (он автоматически устанавливается в реализационно-зависимое значение).
SMALLINT — такое же как INTEGER, за исключением того, что, в зависимости от реализации, размер по умолчанию может ( или не может ) быть меньше чем INTEGER.
Приблизительные числовые типы — это числа в показательной (экспоненциальной по основанию  10) записи, представляемые как <литеральное значение точного числа>Е<целое со знаком> и специфицирущиеся следующим образом:
FLOAT[(precision)] — число с плавающей запятой. Аргумент размера состоит из одного числа, определяющего минимальную точность.
REAL — такое же как FLOAT, за исключением того, что никакого аргумента размера не используется. Точность устанавливается реализационно-зависимой по умолчанию.
DOUBLE PRECISION — такое же как REAL, за исключением того, что реализационно-определяемая точность для DOUBLE PRECISION должна превышать реализационно-определяемую точность REAL.

Типы данных Access

Типы данных Access разделяются на следующие группы:
  • Текстовый – максимально 255 байтов.
  • Мемо — до 64000 байтов.
  • Числовой — 1,2,4 или 8 байтов.Для числового типа размер поля м.б. следующим:
    • байт — целые числа от -0 до 255, занимает при хранении 1 байт
    • целое — целые числа от -32768 до 32767, занимает 2 байта
    • длинное целое — целые числа от -2147483648 до 2147483647, занимает 4 байта
    • с плавающей точкой — числа с точностью до 6 знаков от –3,4*1038 до 3,4*1038, занимает 4 байта
    • с плавающей точкой — числа с точностью от –1,797*10308 до 1,797*10308, занимает 8 байт
  • Дата-время — 8 байтов
  • Денежный — 8 байтов, данные о денежных суммах, хранящиеся с 4 знаками после запятой.
  • Счетчик — уникальное длинное целое, генерируемое Access при создании каждой новой записи — 4 байта.
  • Логический — логические данные 1бит.
  • Поле объекта OLE — до 1 гигабайта, картинки, диаграммы и другие объекты OLE из приложений Windows. Объекты OLE могут быть связанными или внедренными.
  • Гиперссылки — поле, в котором хранятся гиперссылки. Гиперссылка может быть либо типа UNC (стандартный формат для указания пути с включением сетевого сервера файлов), либо URL(адрес объекта, документа, страницы или объекта другого типа в Интернете или Интранете. Адрес URL определяет протокол для доступа и конечный адрес).
  • Мастер подстановок — поле, позволяющее выбрать значение из другой таблицы Accesss или из списка значений, используя поле со списком.  Чаще всего используется для ключевых полей. Имеет тот же размер, что и первичный ключ, являющийся также и полем подстановок, обычно 4 байта. (Первичный ключ – одно или несколько полей, комбинация значений которых однозначно определяет каждую запись в таблице Accesss. Не допускает неопределенных .Null. значений, всегда должен иметь уникальный индекс. Служит для связывания таблицы с вторичными ключами других таблиц).

Типы данных SQL Server

Microsoft SQL Server поддерживает большинство типов данных SQL 2003. Также SQL Server поддерживает дополнительные типы данных, используемые для однозначной идентификации строк данных в таблице и на многих серверах, например UNIQUEIDENTIFIER, что соответствует аппаратной философии «роста в ширину», исповедуемой Microsoft (т. е. внедрение базы на множестве серверов на платформах Intel), вместо «роста в высоту» (т. е. внедрение на одном огромном мощном UNIX-сервере или Windows Data Center Server).
Типы данных, используемые в SQL Server:
  • BIGINT (тип данных SQL2003: B1GINT)
    Хранит целые числа со знаком и без знака в диапазоне от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Занимает 8 байт. См. тип INT, где указаны правила свойства IDENTITY, также применимые к типу BIGINT.
  • BINARY[(n)] (тип данных SQL2003: BLOB)
    Хранит двоичное значение фиксированной длины от 1 до 8000 байт. Значение типа BINARY занимает п + 4 байта.
  • BIT (тип данных SQL2003: BOOLEAN)
    Хранит значения 1, 0 или NULL, которое обозначает «unknown». В одном байте может храниться до 8 значений из столбцов типа BIT таблицы. В еще одном байте можно разместить дополнительные 8 значений типа BIT Столбцы типа BIT нельзя индексировать.
  • CHAR[(n)]CHARACTER[(n)] (тип данных SQL2003: CHARACTER[(n)])
    Хранит символьные данные фиксированной длины от 1 до 8000 символов. Все неиспользованное место по умолчанию заполняется пробелами. (Автоматическое заполнение пробелами можно отключить.) Тип занимает n байт.
  • CURSOR (тип данных SQL2003: отсутствует)
    Специальный тип данных, используемый для описания курсора в форме переменной или параметра хранимой процедуры OUTPUT. Тип нельзя использовать в инструкции CREATE TABLE. Тип CURSOR может принимать значение NULL.
  • DATETIME (тип данных SQL2003: TIMESTAMP)
    Хранит значение даты и времени в диапазоне с 01-01-1753 00:00:00 до 31-12-9999 23:59:59. Для хранения требуется 8 байт.
  • DECIMAL (p. s)DEC (p. s)NUMERIC (p, s) (тип данных SQL2003DECIMAL (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 (тип данных SQL2003: отсутствует)
    Синоним FLOAT(53).
  • FLOAT[(n)] (тип данных SQL2003FLOAT, FLOAT (n))
    Хранит значения с плавающей точкой в диапазоне от-1.79Е + 308 до 1.79Е + 308. Точность, определяемая параметром и, может изменяться в пределах от 1 до 53. Для хранения 7 цифр (n — от 1 до 24) требуется 4 байта. Значения, превышающие 7 цифр, занимают 8 байт.
  • IMAGE (тип данных SQL2003BLOB)
    Хранит двоичное значение переменной длины до 2 147 483 647 байт. Этот тип данных часто используется для хранения графики, звука и файлов, таких, как документы MS Word и электронные таблицы MS Excel. Значениями типа IMAGE нельзя свободно манипулировать. Столбцы типа IMAGE и TEXT имеют множество ограничений на способы использования. См. описание типа TEXT, где приведен список команд и функций, которые применимы и к типу IMAGE.
  • INT [IDENTITY [(seed, increment)] (тип данных SQL2003INTEGER)
    Хранит целые числа со знаком или без знака в диапазоне от -2 147 483 648 до 2 147 483 647. Занимает 4 байта. Все целочисленные типы данных, а также типы, хранящие десятичные дроби, поддерживают свойство IDENTITY, identity — это автоматически инкрементируемый идентификатор строки. Обращайтесь к разделу «Инструкция CREATE/ALTER TABLE» главы 3.
  • MONEY (тип данных SQL2003: отсутствует)
    Хранит денежные значения в диапазоне от -922337203685477.5808 до 922337203685477.5807. Значение занимает 8 байт.
  • NCHAR(n)NATIONAL CHAR(n)NATIONAL CHARACTER(n) (тип данных SQL2003NATIONAL СНАRACTER(n))
    Хранит данные формата UNICODE фиксированной длины до 4000 символов. Для хранения требуется n*2 байт.
  • NTEXTNATIONAL TEXT (тип данных SQL2003: NCLOB)
    Хранит фрагменты текста в формате UNICODE длиной до 1 073 741 823 символа. См. описание типа TEXT, где приведен список команд и функций, которые применимы и к типу NTEXT
  • NUMERIC(p, s) (тип данных SQL2003: DECIMAL (p, s))
    Синоним типа DECIMAL. См. описание типа INT, где приведены правила, относящиеся к свойству IDENTITY.
  • NVARCHAR(n)NATIONAL CHAR VARYING(n)NATIONAL CHARACTER VARYING(n) (тип данныхSQL2003: NATIONAL CHARACTER VARYING(n))
    Хранит UNICODE-данные переменной длины до 4000 символов.
    Занимаемое место вычисляется как удвоенное значение длины всех символов, вставленных в поле (число символов * 2).
    В SQL Server системный параметр SET ANSI_PADDINGX для полей NCHAR и NVARCHAR всегда установлен (ON).
  • REALFLOAT(24) (тип данных SQL2003: REAL)
    Хранит значения с плавающей точкой в диапазоне -3.40Е+38 до 3.40Е+38. Зани¬мает 4 байта. Тип REAL функционально эквивалентен типу FLOAT(24).
  • ROWVERSION (тип данных SQL2003: отсутствует)
    Уникальное число, хранимое в базе данных, которое обновляется всякий раз, когда обновляется строка, В более ранних версиях называется TIMESTAMP.
  • SMALLDATETIME (тип данных SQL2003: отсутствует)
    Хранит дату и время в диапазоне от ’01-01-1900 00:00′ до ’06-06-2079 23:59′ с точностью до минуты. (Минуты округляются до меньшего значения, если значе-ние секунд 29.998 и менее, в противном случае они округляются до большего значения.) Значение занимает 4 байта.
  • SMALLINT (тип данных SQL2003: SMALLINT)
    Хранит целые числа со знаком или без знака в диапазоне от -32 768 до 32 767. Занимает 2 байта. См. описание типа INT, где приведены правила, относящиеся к свойству IDENTITY, которые также применимы и к этому типу.
  • SMALLMONEY (тип данных SQL2003: отсутствует)
    Хранит денежные значения в диапазоне от 214748.3648 до -214748.3647. Значе-ния занимают 4 байта.
  • SQLVARIANT (тип данных SQL2003: отсутствует)
    Хранит значения, относящиеся к другим поддерживаемым SQL Server типам данных, за исключением типов TEXT, NTEXT, ROWVERSION и других значений типа SQL VARIANT. Может хранить до 8016 байт данных, поддерживаются значения NULL и DEFAULT. Тип SQL VARIANT используется в столбцах, параметрах, переменных и возвращаемых функциями и хранимыми процедур, ми значениях.
  • TABLE (тип данных SQL2003: отсутствует)
    Специальный тип, хранящий получившийся в результате работы последнего про¬цесса набор данных. Используется исключительно для процедурной обработки и не может применяться в инструкциях CREATE TABLE. Этот тип данных умень¬шает необходимость создания временных таблиц во многих приложениях. Может уменьшить необходимость перекомпиляций процедур, ускоряя, таким образом, выполнение хранимых процедур и пользовательских функций.
  • TEXT (тип данных SQL2003: CLOB)
    Хранит очень большие фрагменты текста длиной до 2 147 483 647 символов. Значениями типа ТЕХТн IMAGE часто гораздо труднее манипулировать, чем, скажем, значениями типа VARCHAR. Например, нельзя создавать индекс по столбцу типа TEXT или IMAGE. Значениями типа TEXT можно манипулировать при помощи функций DATALENGTH, PATINDEX, SUBSTRING, TEXTPTR и ТЕХTVALID, а также команд READTEXT,SET TEXTSIZE, UPDATETEXT и WRITETEXT.
  • TIMESTAMP (тип данных SQL2003: TIMESTAMP)
    Хранит автоматически генерируемое двоичное число, обеспечивающее уникальность в текущей базе данных и, следовательно, отличающееся от типа данных TIMESTAMP стандарта ANSI. Тип TIMESTAMP занимает 8 байт. В настоящее время вместо TIMESTAMP для однозначной идентификации строк лучше применять значения типа ROWVERSION.
  • TINYINT
    Хранит целые числа без знака в диапазоне от 0 до 255 и занимает 1 байт. См. описание типа INT, где приведены правила, относящиеся к свойству IDENTITY, которые также применимы и к этому типу.
  • UNIQUEIDENTIFIER (тип данных SQL2003: отсутствует)
    Представляет собой значение, уникальное для всех баз данных и всех серверов. Представлено в виде хххххххх-хххх-хххх-хххх-хххххххххххх, в котором каждый «х» представляет собой шестнадцатеричное число в диапазоне 0-9 или а — f. Единственными операциями, которые можно производить над значениями этого типа, являются сравнение и проверка на NULL. В столбцах этого типа можно использо¬вать ограничения и свойства, за исключением свойства IDENTITY.
  • VARBINARY[(n)] (тип данных SQL2003: BLOB)
    Представляет собой двоичное значение переменной длины, до 8000 байт. Занимаемое место соответствует размеру вставленных данных плюс 4 байта.
  • VARCHARf(n)]CHAR VARYING [(n)]CHARACTER VARYING [(n)] (тип данных SQL2003: CHARACTER VARYING (n))
    Хранит символьные данные фиксированной длины размером от 1 до 8000 символов. Занимаемое место равно реальному размеру введенного значения в байтах, а не значению n.

Типы данных PostgreSQL

База данных PostgreSQL поддерживает большинство типов данных SQL2003 плюс огромный набор типов для хранения пространственных и геометрических данных. PostgreSQL может похвастаться богатым набором операторов и функций, специально предназначенных для геометрических типов данных. Сюда входят такие средства, как поворот, поиск пересечений и масштабирование. В PostgreSQL также есть поддержка дополнительных версий существующих типов данных, которые характерны тем, что занимают меньше места на диске, чем соответствующие исходные версии. Например, в PostgreSQL предлагается несколько вариантов типа INTEGER для хранения больших и небольших чисел, соответственно занимающих больше или меньше места.
  • BJGSERJAL
  • BIT (тип данных SQL2003: BIT)
    Битовая строка фиксированной длины.
  • BIT VARYING(n) varbit(n) (тип данных SQL2003: BIT VARYING)
    Обозначает битовую строку переменной длины в n бит.
  • BOOLBOOLEAN (тип данных SQL2003: BOOLEAN)
    Хранит логическое булево значение (true/false/unknown). Рекомендуемыми значе-ниями являются ключевые слова TRUE и FALSE, хотя PostgreSQL допускает применение нескольких литеральных значений для «true»: TRUE, t, true, у, yes и 1. Допус¬тимыми значениями для «false» являются: FALSE, f, false, n, no и 0.
  • BOX ((xl, у I), (x2, y2)) (тип данных SQL2003: отсутствует)
    Хранит значения, определяющие прямоугольную область на плоскости. Значения занимают 32 байта и представлены в виде ((xl, yl), (х2, у2)), что соответствует противоположным углам прямоугольника (правый верхний и левый нижний соот-ветственно). Внешние скобки являются необязательными.
  • BYTEA (тип данных SQL2003: BINARY LARGE OBJECT)
    Сырые, двоичные данные, используемые, например, для хранения графики, звука и документов. Для хранения этого типа требуется 4 байта плюс реальный размер битовой строки.
  • CHAR(n)СНАRA CTER(n) (тип данных SQL2003: CHARACTER(n))
    Содержит символьную строку фиксированной длины, дополняемую пробелами до длины n. Попытка вставить значение, превышающее по длине n, приводит к ошибке (если только лишние символы не представляют собой пробелы, которые в таком случае обрезаются так, чтобы длина составила п символов).
  • CIDR(x.x.x.xZy) (тип данных SQL2003: отсутствует)
    Описывает адрес сети или хоста в формате версии 4 протокола IP Адрес занимает 12 байт. Допустимыми значениями являются любые допускаемые протоколом IPv4 сетевые адреса. В типе CIDR данные представлены в форме х.х.х.х/у, где х.х.х.х — IP-адрес, а у — количество бит сетевой маски. В CIDR не допускается использование ненулевых битов справа от нулевого бита сетевой маски.
  • CIRCLE х, у, r (тип данных SQL2003: отсутствует)
    Описывает окружность на плоскости. Значения занимаю!’ 24 байта и представлены в форме х, у, r. Значения* и у представляют собой координаты центра окружности, а r — длину ее радиуса. Значения х, у и r при желании можно ограничить скобками или фигурными скобками.
  • DATE (тип данных SQL2003: DATE)
    Хранит календарную дату (год, день и месяц) без времени суток. Занимает 4 байта. Даты должны быть в диапазоне от 4713 до п. э. до 32767 и. э. Предел разрешения для типа DATE, естественно, один день.
  • DATETIME (тип данных SQL2003: T1MESTAMP)
    Хранит календарную дату с указанием времени суток.
  • DECIMAL [(p, s)], NUMERIC [(p. s)] (тип данных SQL2003: DECIMAL (PRECISION SCALE), NUMERIC (x, p))
    Хранит точные числовые значения с точностью (р), равной 9, и масштабом (s), равным нулю, без верхнего предела.
  • FLOAT4, REAL (тип данных SQL2003: FLOAT(p))
    Хранит значения с плавающей точкой с точностью, равной 8 или менее, и 6 знаками после занятой.
  • FLOAT8, DOUBLE PRECISION (тип данных SQL2003: FLOAT(p), 7 < = р < 16) Хранит значения с плавающей точкой с точностью, равной 16 или менее, и 15 знаками после запятой.
  • INET (х.х.х.х/у)
    Хранит адрес сети или хоста в формате версии 4 протокола IP. Адрес занимает 12 байт. Допустимыми значениями являются любые допускаемые протоколом IPv4 сетевые адреса, х.х.х.х — IP-адрес, у — количество бит сетевой маски. По умолчанию сетевая маска равна 32. В отличие от CIDR, в INET допускается использование ненулевых битов справа от сетевой маски.
  • SMALLINT (тип данных SQL2003: SMALLINT)
    Хранит двухбайтные целые числа со знаком и без знака в диапазоне от -32 768 до 32 767. Синоним — INT72.
  • INTEGER (тип данных SQL2003: INTEGER)
    Хранит 4-байтпые целые числа со знаком или без знака в диапазоне от -2 147 483 648 до 2 147 483 647. Синоним — 1NT4.
  • INT8 (тип данных SQL2003: отсутствует)
    Хранит 8-байтные целые числа со знаком или без знака в диапазоне от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807.
  • INTERVAL(p) (тип данных SQL2003: отсутствует)
    Хранит общеупотребимые значения интервалов времени в диапазоне от -178 000 000 до 178 000 000 лет. Занимает 12 байт. Самым низким разрешением типа INTERVAL является микросекунда. Этот тип хранения даты отличается от стандарта ANSI, который требует указывать спецификатор интервала, например INTERVAL YEAR ТО MONTH.
  • LINE ((xl, у I), (x2, y2)) (тип данных SQL2003: отсутствует)
    Хранит информацию о прямой линии на плоскости, без конечных точек. Значения занимают 32 байта и представлены в виде ((xl, yl), (х2, у2)), что обозначает начальную и конечную точку линии. Скобки в синтаксисе типа LINE являются необязательными.
  • LSEG ((xl, yl), (х2, у2)) (тип данных SQL2003: отсутствует)
    Хранит отрезок прямой линии (line segment, LSEG) на плоскости, с конечными точками. Значения занимают 32 байта и представлены в виде ((xl, yl), (х2, у2)). Скобки в синтаксисе типа LSEG являются необязательными. Для интересующих-ся: «отрезок» — это то, что большинство людей обычно называют линией. Например, линии на игровом поле в действительности являются отрезками.
  • MACADDR (тип данных SQL2003: отсутствует)
    Может хранить значение МАС-адреса сетевой карты компьютера. Занимает 6 байт.
    Тип MACADDR допускает несколько форм адреса, соответствующих промышленным
    стандартам, например:
    08002В:010203
    08002В-010203
    0800.2В01.0203
    08-00-2В-01-02-03
    08:00:2В:01:02:03
  • MONEY, DECIMAL(9,2) (тип данных SQL2003: отсутствует)
    Хранит денежные значения в формате США в диапазоне от -21474836.48 до 21474836.47.
  • NUMERIC [(p, s)], DECIMAL[(p, s)] (тип данных SQL2003: отсутствует)
    Хранит точные числовые данные с точностью (р) и масштабом (s).
  • OID (тип данных SQL2003: отсутствует)
    Хранит уникальные идентификаторы объектов.
  • PATH ((xl, у I), … п), Path ((xl, yl), … n) (тип данных SQL2003: отсутствует)
    Описывает открытый или закрытый геометрический контур на плоскости. Значения представлены в виде ((xl, yl), … п) и занимают 4 + 32и байт. Каждая пара значений (х, у) соответствует точке контура. Контуры бывают либо открытыми, когда первая и последняя точка не совпадают, или закрытыми, когда первая и послед¬няя точка совпадают. Для обозначения закрытых контуров выражение заключают в круглые скобки, а для обозначения открытых — в квадратные.
  • POINT (х, у) (тип данных SQL2003: отсутствует)
    Хранит значение, описывающее геометрическую точку на плоскости. Занимает 16 байт. Значения представлены в виде (х, у). Точка является основой других двухмерных пространственных типов данных, поддерживаемых в PostgreSQL. Скобки в синтаксисе этого типа являются необязательными.
  • POLYGONE ((x1,y1), … n) (тип данных SQL2003: отсутствует)
    Хранит значение, описывающее закрытый геометрический контур на плоскости. Занимает 4 + 32n байт. Значения представлены в виде ((xl, yl), … n). По сути тип POLYGONE эквивалентен типу, используемому для хранения закрытого контура.
  • SERIAL, SER1AL4 (тип данных SQL2003: отсутствует)
    Хранит автоматически инкрементируемое, уникальное целое значение ID, приме¬няемое для индексирования и перекрестных ссылок. Этот тип хранит до 4 байт данных (диапазон чисел от 1 до 2 147 483 647). Таблицы, определенные с этим типом данных, нельзя удалять напрямую. Сначала нужно подать команду DROP SEQUENCE, а только после этого подавать команду DROP TABLE.
  • SER1AL8, BIGSERIAL (тип данных SQL2003: отсутствует)
    Хранит автоматически инкрементируемое, уникальное целое значение ID, применяемое для индексирования и перекрестных ссылок. Этот тип хранит до 8 байт данных (диапазон чисел от 1 до 9 223 372 036 854 775 807). Таблицы, определенные с этим типом данных, нельзя удалять напрямую. Сначала нужно подать команду DROP SEQUENCE, а только после этого подавать команду DROP TABLE.
  • TEXT (тип данных SQL2003: CLOB)
    Хранит большой массив символьных строк переменной длины до 1 гигабайта. PostgreSQL автоматически сжимает строки типа TEXT, поэтому место, занимаемое на диске, может быть меньше, чем размер строк.
  • TIME [(p)] [WITHOUT TIMEZONE \ WITH TIME ZONE] (тип данных SQL2003: TIME) Хранит время суток либо без учета часового пояса (используется 8 байт), либо с учетом часового пояса, в котором находится сервер базы данных (используется 12 байт). Допустимый диапазон значений: 00:00:00.00 — 23:59:59.99. Наименьшее значение — 1 микросекунда. Заметьте, что в большинстве систем UNIX информация о часовом поясе доступна только для дат с 1902 по 2038 год.
  • TIMESPAN (тип данных SQL2003: отсутствует)
    Хранит значение, представляющее собой конкретный промежуток времени. Наи¬более похожим на тип TIMESPAN в стандарте ANSI является тип INTERVAL.
  • TIMESTAMP [(р)] [WITHOUT TIMEZONE \ WITH TIMEZONE] (тип данных SQL2003: TIMESTAMP [WITH TIMEZONE I WITHOUT TIMEZONE])
    Хранил дату и время с учетом и без учета часового пояса сервера базы данных. Допустимый диапазон значений — от 4713 до н. э. до 1 465 001 н. э. Одно значение типа TIMESTAMP занимает 8 байт. Самое наименьшее значение — 1 микросекунда. Заметьте, что в большинстве систем UNIX информация о часовом поясе доступна только для дат с 1902 по 2038 год.
  • TIMETZ (тип данных SQL2003: TIME WITH TIMEZONE)
    Хранит значение времени суток с учетом часового пояса.
  • VARCHAR(n)CHARACTER VARYLNG(n) (тип данных SQL2003: CHARACTER VARYING(n))
    Хранит символьные строки переменной длины длиной до п. Заключительные пробелы не сохраняются.

Введение в SQL

Что такое SQL (Structured Query Language)?

SQL (Structured Query Language) — язык структурированных запросов.
SQL (Structured Query Languageязык структурированных запросов) — это специальный язык, используемый для определения данных, доступа к данным и их обработки. Язык SQL относится к непроцедурным (nonprocedural) языкам — он лишь описывает нужные компоненты (например, таблицы) и желаемые результаты, не указывая, как именно эти результаты должны быть получены. Каждая реализация SQL является надстройкой над процессором базы данных (database engine), который интерпретирует операторы SQL и определяет порядок обращения к структурам БД для корректного и эффективного формирования желаемого результата.
Стандарт SQL определяется ANSI — American National Standarts  Institute (Американским Национальным Институтом Стандартов) и в настоящее время принят ISO — International Standarts  Organization (Международной Организацией по Стандартизации).
SQL — непроцедурный язык: серверу базы данных сообщается, что нужно сделать и каким образом. Для обработки запроса сервер базы данных транслирует команды SQL во внутренние процедуры. Благодаря тому, что SQL скрывает детали обработки данных, его легко использовать.

Что можно делать с помощью SQL?

  • SQL позволяет создавать таблицы данных.
  • SQL позволяет хранить данные.
  • SQL позволяет получать данные.
  • SQL позволяет изменять данные.
  • SQL позволяет изменять структуру таблиц.
  • SQL позволяет объединять данные.
  • SQL позволяет выполнять вычисления.
  • SQL позволяет обеспечивать защиту данных.

Команды SQL

Команды SQL разделяются на следующие группы:
  • Команды языка определения данных — DDL (Data Definition Language). Эти SQL команды можно использовать для создания, изменения и удаления различных объектов базы данных.
  • Команды языка управления данными — DCL (Data Control Language). С помощью этих SQL команд можно управлять доступом пользователей к базе данных и использовать конкретные данные (таблицы, представления и т.д.).
  • Команды языка управления транзакциями — TCL (Тгаnsасtiоn Соntrol Language). Эти SQLкоманды позволяют определить исход транзакции.
  • Команды языка манипулирования данными — DML (Data Manipulation Language). Эти SQL команды позволяют пользователю перемещать данные в базу данных и из нее.
Основные ключевые слова, используемые в статье«Введение в SQL»:

sql, введение в sql, язык структурированных запросов, непроцедурный язык, structured query language, что такое sql

MySQL Справочник по языку

MySQL Справочник по языку


Скачать книгу MySQL Справочник по языку
Книги по SQL — MySQL Справочник по языку
MySQL Справочник по языку
MySQL Справочник по языку. Описание книги по SQL
Эта книга, MySQL Справочник по языку, написанная специалистами компании MySQL AB, является всеобъемлющим справочником по языку SQL, который используется для организации запросов к базам данных, а также по особенностям реализации стандарта SQL в сервере MySQL. По сути — это официальная документация фирмы-производителя. В книге рассмотрен весь спектр вопросов, касающихся языковой структуры, допустимых типов столбцов, операторов, операций и функций, а также существующих расширений MySQL; кроме того, представлена информация, предназначенная для опытных программистов и администраторов.
Как известно, MySQL занимает лидирующие позиции среди множества систем управления базами данных с открытым исходным кодом. Благодаря высокой производительности и простоте настройки, богатому выбору API-интерфейсов, а также функциональным средствам работы с сетями, сервер MySQL стал одним из наиболее удачных вариантов для разработки Web-приложений, взаимодействующих с базами данных.
Книга MySQL Справочник по языку рассчитана на разработчиков Web-приложений и администраторов любой квалификации, а также на студентов и преподавателей соответствующих дисциплин.

Скачать книгу MySQL Справочник по языку

Автор: Ю.Н. Артеменко.
Форматы: PDF.
Размер: 11.43 Mb.

Секреты Oracle SQL 2003

Секреты Oracle SQL 2003  


Скачать книгу Секреты Oracle SQL 2003
Книги по SQL — Секреты Oracle SQL 2003
Секреты Oracle SQL 2003
Секреты Oracle SQL 2003. Описание книги по SQL
Эта книга, MySQL Справочник по языку, написанная специалистами компании MySQL AB, является всеобъемлющим справочником по языку SQL, который используется для организации запросов к базам данных, а также по особенностям реализации стандарта SQL в сервере MySQL. По сути — это официальная документация фирмы-производителя. В книге рассмотрен весь спектр вопросов, касающихся языковой структуры, допустимых типов столбцов, операторов, операций и функций, а также существующих расширений MySQL; кроме того, представлена информация, предназначенная для опытных программистов и администраторов.
Как известно, MySQL занимает лидирующие позиции среди множества систем управления базами данных с открытым исходным кодом. Благодаря высокой производительности и простоте настройки, богатому выбору API-интерфейсов, а также функциональным средствам работы с сетями, сервер MySQL стал одним из наиболее удачных вариантов для разработки Web-приложений, взаимодействующих с базами данных.
Книга MySQL Справочник по языку рассчитана на разработчиков Web-приложений и администраторов любой квалификации, а также на студентов и преподавателей соответствующих дисциплин.

Скачать книгу Секреты Oracle SQL 2003

Автор: Символ-Плюс.
Форматы: PDF.
Размер: 24.09 Mb

Структурированный язык запросов SQL

Структурированный язык запросов SQL

Что такое язык запросов SQL?

Язык запросов sql используется программистами наиболее широко. Причиной тому является повсеместное распространение динамических веб сайтов. Как правило, такие ресурсы имеют гибкую оболочку. Но основной костяк такого сайта составляют базы данных. Если вы начинающий программист, вы просто обязаны освоить структурированный язык запросов SQL.
Язык запросов SQL

Зачем нужно знать язык запросов SQL?

Освоив язык запросов sql, вы с легкостью сможете писать приложения для WordPress. Это один из самых популярных блоговых движков в мире. Вы сможете писать sql запросылюбой сложности, ведь писать sql запросы — это основное при изучении sql. На сайте запросы sql примеры найти не сложно, sql примеры Вы найдете в разделе SQL SELECT (запросы sql примеры).
Недавно появившийся веб ресурс sql-language.ru содержит массу информации касающейся языка запроса sql. По сути дела данный веб-сайт составляет огромный sql справочник. На сайте грамотно и в доступной форме рассмотрены запросы в sql.
Ресурс имеет раздел язык запросов sql для начинающих. Здесь вы можете получить начальные сведения о языке. Приведены основные возможности, которые будут доступны программистам на sql. В общих чертах это хранение и получение данных, их обработка и система команд. В данном разделе приведены типы команд, которые включает язык запросов sql и рассмотрено их назначение. Раздел описывающий данные входящие в язык запросов sql описывает строковые, числовые и прочие типы данных. На каждый тип приведено подробное описание и определена допустимая величина строки. Структурированный язык запросов sql предполагает аккуратное использование типов данных. Также в данном разделе содержится подробная информация по типам совместимым с Access и Oracle. Раздел привилегий языка запроса sql, расписывает как распределить или частично ограничить доступ к данным. Особенно это востребовано для веб сайтов с динамичным содержимым. Примером таких сайтов являются форумы или корпоративные сайты. Возможность редактирования отдельных данных допускается не для всех. Вот здесь то и пригодятся привилегии, которые допускает язык запросов sql. Вы сможете создать систему паролей и отсечь часть пользователей от активных действий. Раздел индексы, языка запроса sql, объясняет, как добиться максимальной производительности системы. Использование индексации позволит серверу легко и быстро находить данные. Структурированный язык запросов sql фактически создавался для этой цели. Простота и удобство в поиске данных, послужило быстрому признанию и распространению языка запроса sql. В восьмидесятых годах язык был признан стандартом для работы с базами данных. С тех пор язык запросов sql используется на большинстве серверов.
Еще один наиболее масштабный раздел сайта это команды. Пожалуй этот сектор рассмотрен на сайте sql-language.ru наиболее подробно. Как обычно, для начинающих приведена общая описательная часть о типах команд языка запроса sql. Рассмотрены такие общие типы как команды определения данных, команды языка управления, управление транзакциями и манипулирование данными. В дальнейшем, каждая из команд рассмотрена в деталях. Детально описан синтаксис команды, назначение, и конечный результат ее действия. Еще один серьезный раздел сайта посвящен условиям языка запроса sql. Здесь подробно описано как организовать обработку данных определенным образом. Возможны гибкие варианты, ограничения или исключения данных из процесса обработки.
Вся информация на сайте является абсолютно бесплатной. Сайт обладает достаточно простой навигацией. В структуре данных довольно легко ориентироваться даже неподготовленному человеку. Для новичков впервые осваивающих язык запросов sql веб сайт будет хорошим подспорьем. Оставьте закладку на sql-language.ru и вы всегда сможете найти необходимую информацию, касающуюся языка запроса sql. Для тех, кто уже сталкивался с программированием с использованием языка запроса sql, ресурс не будет лишним. Наверняка не всякий держит все тонкости языка в голове. Периодически возникают вопросы, требующие припоминания основ и деталей. Для зарегистрированных пользователей, на сайте предусмотрена возможность оставлять комментарии. Вы сможете задать вопрос, и прочитать, что по этому поводу думают другие. Удачи вам на поприще программирования.