Вимоги до об'єму пам'яті для стовпців кожного типу, підтримуваного MySQL, перераховані нижче по категоріях.
Вимоги до пам'яті для числових типів приведені в таблиці 4.7
Таблиця 3.7. Вимоги до пам'яті для числових типів
Тип стовпця Необхідна пам'ять
TINYINT 1 байт
SMALLINT 2 байти
MEDIUMINT 3 байти
INT 4 байти
INTEGER 4 байти
BIGINT 8 байтів
FLOAT(X) 4, якщо X <= 24 або 8, якщо 25 <= X <= 53
FLOAT 4 байти
DOUBLE 8 байтів
DOUBLE PRECISION 8 байтів
REAL 8 байтів
DECIMAL(M,D) M+2 байт, якщо D > 0, M+1 байт, якщо D = 0 (D+2, якщо M < D)
NUMERIC(M,D) M+2 байт, якщо D > 0, M+1 байт, якщо D = 0 (D+2, якщо M < D)
Вимоги до пам'яті для типів дати і часу приведені в таблиці 3.8.
Таблиця 3.8. Вимоги до пам'яті для типів дати і часу
Тип стовпця Необхідна пам'ять
DATE 3 байти
DATETIME 8 байтів
TIMESTAMP 4 байти
TIME 3 байти
YEAR 1 байт
Вимоги до пам'яті для символьних типів приведені в таблиці 4.9.
Таблиця 3.9.
Вимоги до пам'яті для символьних типів
Тип стовпця Необхідна пам'ять
CHAR(M) M байт, 1 <= M <= 255
VARCHAR(M) L+1 байт, де L <= M і 1 <= M <= 255
TINYBLOB, TINYTEXT L+1 байт, де L < 2^8
BLOB, TEXT L+2 байт, де L < 2^16
MEDIUMBLOB, MEDIUMTEXT L+3 байт, де L < 2^24
LONGBLOB, LONGTEXT L+4 байт, де L < 2^32
ENUM('value1','value2'...) 1 або 2 байт, залежно від кількості перераховуваних величин (максимум 65535)
SET('value1','value2'...) 1, 2, 3, 4 або 8 байт, залежно від кількості елементів множини (максимум 64)
Практична частина
Перегляньте вибрані вами типи даних для полів таблиць майбутньої бази даних. При необхідності перепризначуйте вибрані вами типи. На підставі наявної інформації, розрахуйте точний початковий розмір кожного файлу (один файл міститиме одну таблицю), виходячи з того, що спочатку файл міститиме тільки один запис. Максимальний розмір файлу слід розраховувати на підставі загальної кількості записів.
Зрештою вимагається розрахувати початковий і допустимий розмір заповненої бази даних.
Контрольне питання
На які категорії можна розділити типи даних в MySQL?
Які саме типи можна віднести до кожної з категорій?
Дайте коротку характеристику наступним позначенням:
M
D
Квадратні дужки ('[' і ']')
Дайте коротку характеристику числовим типам даних.
Які типи можна вважати числовими? Приведіть не менше 3х прикладів даних для зберігання в кожному з типів полів.
В чому полягає відмінність зберігання знакових і беззнакових величин?
В чому полягає особливість зберігання наближених значень?
Вкажіть діапазони типів даних, що часто використовуються.
Які типи даних використовуються для зберігання дати і часу?
Чим обумовлено, на вашу думку, таку кількість типів даних?
Опишіть тип даних TIMESTAMP. В чому особливість його обробки?
Чим відрізняються всі типи даних, призначені для роботи з часом і датою?
Опишіть ті, що всі використовуються в MySQL символьні і текстові типи даних.
В чому особливості використовування кожного з них?
Підберіть не менше 3х прикладів полів для кожного з символьних або текстових даних.