Управл_данными / 08-SQL
.pdfУправление данными
Языки баз данных. Язык SQL
Зудилин А.Э. 2013
Язык SQL
SQL ( Structured Query Language ) — Структурированный Язык Запросов — стандартный язык запросов по работе с реляционными БД.
SQL нельзя к традиционным языкам программирования,
•он не содержит операторы, управляющие ходом выполнения программы,
•операторы описания типов и многое другое,
•он содержит только набор операторов доступа к данным, хранящимся в базе данных.
Операторы SQL встраиваются в базовый язык программирования, которым может быть любой стандартный язык типа C++, PL , COBOL и т. д.
Кроме того, операторы SQL могут выполняться непосредственно в интерактивном режиме.
SQL является самым популярным языком баз данных.
2
Достоинства и недостатки SQL
|
Достоинства: |
1) |
Повсеместная распространенность (стандарт) |
2) |
Быстрое обучение в простых случаях |
3) |
Связывание с различными языками программирования |
4) |
Поддержка ODBC и JDBC |
5) |
Фактор времени: научились хорошо реализовывать. |
|
Недостатки: |
1)Не полное соответствие реляционной модели данных (наличие дубликатов, необязательность первичного ключа, возможность упорядочения результатов)
2)Недостаточно продуманный механизм неопределенных значений
3)Сложность формулировок и громоздкость
3
Основные операторы SQL
Операторы языка SQL можно условно разделить на два подъязыка:
И язык манипулирования данными (Data Manipulation Language - DML)
Операторы: SELECT, UPDATE, INSERT, DELETE
Язык определения данных (Data Definition Language - DDL)
- Все остальные операторы
4
Типы данных SQL
- Тип разрешенных для хранения данных.
Каждому столбцу базы данных присваивается тип
Типы данных ограничивают характер информации, которую можно хранить в столбце
Изменение типов данных в заполненной БД — задача нетривиальная. Кроме того, при этом возможна потеря данных.
5
|
Типы данных позволяют ограничить разновидности |
|
данных, которые могут храниться в столбце. Например, |
|
столбцы с данными числового типа будут принимать только |
|
числовые данные. |
|
Типы данных позволяют более эффективно |
|
организовывать хранение. Числовые значения и значения |
|
даты/времени могут храниться в более компактном формате, чем |
|
текстовые строки. |
Типы данных позволяют изменять порядок сортировки.
Если все данные трактуются как строки, то 1 предшествует 10, а 10 предшествует 2.
(Строки сортируются в лексикографической последовательности, по одному символу за один раз, начиная слева).
Если выполняется числовая сортировка, то числа будут располагаться по возрастанию.
6
Совместимость типов данных
К сожалению, в разных СУБД используются существенно разные типы данных.
Обратитесь к документации своей СУБД и выясните, какие в точности типы данных она поддерживает и каким образом.
Типы данных и их названия являются одним из основных источников несовместимости в SQL.
Основные типы данных обычно поддерживаются всеми СУБД, в отличие от некоторых расширенных
типов. Более того, иногда вы будете сталкиваться с тем фактом, что один и тот же тип данных в разных СУБД называется по-
разному.
7
Строковые типы данных
Cтроковые данные двух видов:
Строки фиксированной длины относятся к типу данных, которые могут состоять из фиксированного числа (до 255) символов, это число определяется при создании таблиц.
CHAR(n); CHARACTER( n ); NCHAR(n)
Строки переменной длины – в них можно хранить столько символов, сколько необходимо (максимальное значение ограничивается типом данных и СУБД)
VARCHAR; NVARCHAR; TEXT
8
Числовые типы данных
INT; INTEGER SMALLINT
TINYINT
DECIMAL;
NUMERIC
FLOAT; NUMBER REAL
4-байтовые целые значения, поддерживаются числа от -2147483648 до 2147483647
2-байтовые целые значения, поддерживаются числа от -32768 до 32767
1-байтовые целые значения, поддерживаются числа от 0 до 255
Значения с фиксированной или плавающей запятой различной степени точности
Значения с плавающей запятой
4-байтовые значения с плавающей запятой
9
Денежные типы данных
В большинстве СУБД поддерживается особый числовой тип данных для хранения денежных значений.
Обычно он называется MONEY или
CURRENCY.
Эти типы данных обычно относятся к типу DECIMAL, Но со специфическими диапазонами, делающими их удобными для хранения денежных значений.
10