Новини високих технологій
» » SQL (типи даних): таблиця

SQL (типи даних): таблиця

13-12-2016, 16:01
4 587
У сучасному світі налічується велика кількість засобів і технологій, призначених для зберігання інформації. Одним з найбільш поширених способів є бази даних, для роботи з якими використовуються різні системи управління. Даний спосіб зберігання передбачає, що всі дані чітко структуровані і занесені в спеціальні таблиці. Вони, в свою чергу, складаються зі стовпців-атрибутів певного типу даних.

Тип даних – що це?

Сьогодні існує кілька визначень, що пояснюють поняття терміну «тип даних». Однак кожне з них має один загальний зміст. Тому тип даних можна умовно позначити як групу даних, характеризується її значеннями (символьні, числові і т. д.), а також операціями, застосовуваними до досліджуваних значень.


Сфера застосування типів даних багатогранна. Вони використовуються не тільки для зберігання інформації, але також і в програмуванні для вирішення різних завдань. При проектуванні програм широко поширена практика розробки і використання власних типів даних з певним набором операцій. Однак в основі користувальницьких завжди лежать базові типи даних. SQL-стандарт також ґрунтується на використанні найбільш поширених базових типів, але з рядом певних доповнень.

Класифікація типів даних

Групування даних за їх типом виникла давно і була викликана необхідністю структурування інформації для більш зручної обробки. В даний час основу існуючих типів даних утворюють два: символьний і числовий.


На їх базі була розроблена сучасна класифікація, що включає в себе покажчики, логічний, цілочисельний, число з плаваючою точкою і рядковий типи даних. SQL - класифікація повністю охоплює все перераховане вище. Однак для деяких сучасних СУБД існують додаткові надбудови. До них належать Oracle та MySQL.

Базові типи даних

Використовуються при створенні атрибутів таблиць, що відповідають стандартам мови SQL, типи даних розподіляються на 4 класи: рядкові значення; дробу; целочиселенние значення; значення дати і часу.

Рядковий тип даних

Перша група значень дозволяє зберігати будь-які дані, представлені у вигляді символів.
Це можуть бути спеціальні символи, цифри і букви, які в своїй сукупності будуть оброблятися як рядки в будь-якому SQL-запиті. Типи даних, таблиця з перерахуванням яких представлена нижче, утворюють першу групу.

CHAR (size)



Використовується для зберігання рядків. Параметр в дужках дозволяє фіксувати довжину збереженої рядка. Максимальний розмір у байтах, який можна задати для рядка, – 255.



VARCHAR (size)



Аналогічно попереднього типу дозволяє зберігати рядки довжиною до 255 символів. Однак відміну від CHAR в тому, що для зберігання значення даного типу виділяється необхідна кількість пам'яті. Тобто для рядка, що складається з 5-ти символів, потрібно 6 байт пам'яті. У першому ж випадку пам'ять для значення буде виділена відповідно до зазначеного параметру.



TINY ТЕХТ



Використовується для зберігання строкових даних розміром до 255 символів.



ТЕХТ



Використовується для зберігання текстової інформації, розмір якої не перевищує 65535 букв.



BLOB



Розглянутий тип даних аналогічний типу ТЕХТ і дозволяє зберігати в базі текстову інформацію, обсяг якої може досягати 65535 символів. Але на практиці використовується для зберігання звукових даних, малюнків, електронної документації та ін.



MEDIUM ТЕХТ



Був розроблений на базі типу ТЕХТ, але дозволяє зберігати більше даних за рахунок збільшеного розміру до 16777215 літер або символів.



MEDIUM BLOB



Використовується для збереження у базі електронних документів, розмір яких не перевищує позначку в 16777215 знаків.



LONG ТЕХТ



Функціонально аналогічний попереднім типам, але із збільшеним об'ємом пам'яті до 4 гб.



LONG BLOB



Дозволяє поміщати в базу дані великих обсягів (4294967 295 символу).



ENUM (a, b, c, etc.)



Спеціальний тип даних, що використовується для завдання списку можливих значень. Дозволяє вказати 65535 значень. Рядки розглянутого типу можуть приймати єдине значення з зазначених у множині. У випадку, коли буде відбуватися додавання значень, які не присутні в заданому списку, таблиці будуть записані порожні значення.



SET



Задає безліч допустимих значень. На відміну від попереднього типу, використовується для утримання 64 параметрів, які можуть бути проинициализировани будь-яким або декількома елементами з заданих аргументів.

Таблиця дробових типів даних

Дробові SQL типи даних використовуються для зберігання чисел з плаваючою точкою. На практиці, як правило, задають різні фінансові показники. Залежно від необхідної точності застосовують один з трьох представлених:


FLOAT (size, d)



Дозволяє утримувати дробові числа йдеться точності d.



DOUBLE size, d)



Використовується для зберігання дробових чисел з подвійною точністю.



DECIMAL(size, d)



Зберігання дробових значень у вигляді рядків.

Наприклад, в банківських розрахунках точність дробової частини досягає значення у 8-й або 10-ть знаків. Перші два типи не можуть бути задіяні в даній області.
Зберігання фінансових показників у вигляді рядків значно полегшує розв'язання багатьох завдань. Однак при вирішенні фінансових питань чи проведення різних операцій SQL перетворення типів даних має величезне значення. Розробники повинні обов'язково враховувати тип зберігання і способи обробки, щоб дані завжди залишалися незмінними.

Цілочисельний тип даних

Цілі числа – окрема група чисел, що утворює один з основних класів. Цілочисельні типи даних SQL ґрунтуються на використанні базового типу INTEGER з деяким розширенням його властивостей.

INT (size)



Зберігання цілочисельних значень, що утворюють діапазон[-231; 231-1]



TINYINT (size)



Служить для зберігання чисел в діапазоні від -128 до 127



SMALLINT (size)



Характеризується збільшеним діапазоном збережених значень у розмірі від -32768 до 32767



MEDIUMINT (size)



Використовується для зберігання чисел розмірністю від -2 2 3 до 2 2 3 -1



BIGINT (size)



Охоплює діапазон цілих чисел, починаючи з -2 63 і закінчуючи 2 63 -1

Вибравши правильний тип даних, можна значно заощадити пам'ять і зменшити витрати серверного часу, коли виконуються необхідні SQL-запити. Типи даних, а точніше їх діапазон, визначають кількість необхідного місця для зберігання.
SQL (типи даних): таблиця
Тому розробникам баз даних важливо пам'ятати, що використання великих діапазонів для атрибутів спричиняє збільшення витрат на пам'ять. Необхідно чітко аналізувати завдання, які вирішуються і виявляти випадки, де відомий приблизний діапазон та визначено умову використання чисел зі знаком. Якщо діапазон використовуваних аргументів невеликий, а всі числа будуть позитивними, то буде коректніше використовувати беззнаковий тип, утворений атрибутом UNSIGNED.

Типи даних дати й часу

При вивченні основ SQL типи даних дати й часу представляють особливий інтерес.
Використання нижченаведених типів надає додаткові переваги при розробці систем, робота яких залежить від часових показників.

DATE



Головне призначення - зберігання дати у форматі РІК-МІСЯЦЬ-ДЕНЬ ("РРРР-ММ-ДД" або "уууу-mm-dd" ). Зазвичай значення розділені через «-», проте в якості роздільника може бути задіяний будь-який символ, крім цифр.



TIME



Дозволяє заносити в клітинку таблиці тимчасові значення. Всі значення задаються форматом «hh:mm:ss»



DATETIME



Об'єднує функції попередніх двох типів. Формат зберігання представлений наступним чином: «уууу-mm-dd hh:mm:ss».



TIMESTAMP



Зберігає дату і час, який обчислюється кількістю секунд, що пройшли починаючи з півночі 1011970 року і до заданого значення.



YEAR (M)



Використовується для зберігання річних значень двох - або чотиризначному форматі.

Що ще потрібно знати?

Всі ці типи даних детально систематизовано компанією Microsoft. SQL типи даних нею розроблені більш детально. Наприклад, фірмою детально розписаний, який обсяг пам'яті в байтах виділяється при використанні кожного типу. Вивчивши наявну інформацію, розробникам простіше проектувати структуру таблиць і всієї бази виходячи з апаратних можливостей сервера.

Спеціальний покажчик – NULL

Іноді при заповненні бази даних виникає ситуація, коли при додаванні записів у таблицю необхідність вносити інформацію в усі стовпці відсутня. Для цього застосовується спеціальний покажчик порожнього значення – NULL , який в якості допоміжного засобу використовують мову SQL. Типи даних стовпців, які не обов'язково повинні бути заповнені, при створенні таблиць вказуються з оператором, що дозволяє включення порожніх значень. В іншому випадку оператор NULL з додатковою приставкою NOT може бути задіяний для вказівки обов'язкового заповнення всіх значень.
Покажчик NULL не має типу, а просто вказує на значення null в таблицях баз даних. Тому він може бути скомбінованим з будь-яким з перерахованих вище типів.
Цікаво по темі
MySQL - запит у запиті. MySQL: приклади запитів. Вкладені запити MySQL
MySQL - запит у запиті. MySQL: приклади запитів. Вкладені запити MySQL
Основні особливості вкладених запитів. Як побудувати в MySQL запит в запиті. Для чого необхідні вкладені запити. Приклад вкладеного запиту MySQL.
Використання MySQL: insert into
Використання MySQL: insert into
Ефективне використання інформації часто визначається якістю структури бази даних і алгоритмів формування її змісту. Правильно додати запис в базу -
BigInteger Java: робота з великими числами
BigInteger Java: робота з великими числами
Для роботи з числами, які не можуть зберігається в стандартних примітивних типів, в Java є спеціальний клас BigInteger. Він не тільки інкапсулює їх
Java Узагальнення: опис і методи
Java Узагальнення: опис і методи
Узагальнені типи або узагальнення в Java представляють собою потужний інструмент уніфікації коду та забезпечення безпеки типів даних. У даній статті
Перетворення типів. Функції Round і Trunc в "Паскаль"
Перетворення типів. Функції Round і Trunc в "Паскаль"
Перетворення типів в Pascal дозволяє реалізувати більш широкий клас задач та виконувати операції над величинами різних типів.
Файрвол для «Андроїда»: типи додатків і їх можливості
Файрвол для «Андроїда»: типи додатків і їх можливості
Захист від стеження або збереження конфіденційності абсолютно для всіх комп'ютерних і мобільних пристроїв є нагальною проблемою. Для цього