* 10 - 39 макс. значення + (-) 3. 402823466 * 10 38 Дійсне число (з плаваючою точкою). Може мати параметр UNSIGNED, що забороняє негативні числа, але діапазон значень від цього не зміниться. M - кількість відводяться під число символів. D - кількість символів дробової часті.DOUBLE (M, D) 8 байтмін. значення + (-) 2.2250738585072015 * 10 - 308 макс. значення + (-) 1.797693134862315 * 10308 аналогічно попередньому, але з великим діапазоном.
1.7.2 Строкові типи даних
Тип даннихОб'ем памятіДіапазонОпісаніе CHAR (M) M сімволовM сімволовПозволяет зберігати рядок фіксованої довжини М. Значення М - від 0 до 65535. Приклади: CHAR (8) - зберігає рядки з 8 символів і займає 8 байтів. Наприклад, будь-яке з наступних значень: raquo ;, Іван , Ірина raquo ;, Сергій займатиме по 8 байтів пам'яті. А при спробі ввести значення Олександра raquo ;, воно буде усечено до Александ raquo ;, тобто до 8 сімволов.VARCHAR (M) L + 1 сімволовМ сімволовПозволяет зберігати змінні рядки довжиною L. Значення М - від 0 до 65535. Приклади: VARCHAR (3) - зберігає рядки максимум з 3 символів, але порожній рядок займає 1 байт пам'яті, рядок a - 2 байта, рядків aa - 3 байта, рядок aaa - 4 байта. Значення більше 3 символів буде усечено до 3.BLOB, TEXTL + 2 сімволов2 16 - 1 сімволовПозволяют зберігати великі обсяги тексту. Причому тип TEXT використовується для зберігання саме тексту, а BLOB - для зберігання зображень, звуку, електронних документів та т.д.MEDIUMBLOB, MEDIUMTEXTL + 3 сімволов2 24 - 1 символів Аналогічно попередньому, але з великим размером.LONGBLOB, LONGTEXTL + 4 сімволов2 32- 1 сімволовENUM ( value1 raquo ;, value2 raquo ;, ..., valueN ) 1 або 2 байта65535 елементовСтрокі цього типу можуть приймати тільки одне з значень зазначеного безлічі. Приклад: ENUM ( да raquo ;, немає ) - в стовпці з таким типом може зберігатися тільки одне з наявних значеній.SET ( value1 raquo ;, value2 raquo ;, ..., valueN ) до 8 байт64 елементаСтрокі цього типу можуть приймати будь-який або всі елементи зі значень зазначеного безлічі. Приклад: SET ( перший raquo ;, друга ) - в стовпці з таким типом може зберігатися одне з перерахованих значень, обидва відразу або значення може бути відсутнім зовсім.
1.7.3 Календарні типи даних
Тип даннихОб'ем памятіДіапазонОпісаніе DATE 3 байтаот 1000-01-01 до 9999-12-31 Призначений для зберігання дати. В якості першого значення вказується рік у форматі YYYY raquo ;, через дефіс - місяць у форматі ММ raquo ;, а потім день у форматі DD raquo ;. Як роздільник може виступати не тільки дефіс, а будь-який символ відмінний від ціфри.TIME3 байтаот - 838: 59: 59 до 838: 59: 59 Призначений для зберігання часу доби. Значення вводиться і зберігається в звичному форматі - hh: mm: ss, де hh - годинник, mm - хвилини, ss - секунди. Як роздільник може виступати будь-який символ відмінний від ціфри.DATATIME8 байтот 1000-01-01 00: 00: 00 до 9999-12-31 23: 59: 59 Призначений для зберігання і дати і часу доби. Значення вводиться і зберігається у форматі - YYYY-MM-DD hh: mm: ss. В якості роздільників можуть виступати будь-які символи відмінні від ціфри.TIMESTAMP4 байтаот 1970-01-01 00: 00: 00 до 2037-12-31 23: 59: 59 Призначений для зберігання дати та часу доби у вигляді кількості секунд, що пройшли з опівночі 1 січня 1970 (початок епохи UNIX) .YEAR (M) 1 байтот 1970 до 2069 для М =2 і від 1901 до 2 155 для М=4 Призначений для зберігання року. М - задає формат року. Наприклад, YEAR (2) - 70, а YEAR (4) - 1970. Якщо параметр М не зазначений, то за замовчуванням вважається, що він дорівнює 4.
2. Проектування та створення бази даних
2.1 Таблиця категорій товару
Для початку нам потрібно створити таблицю категорій товару. Назвемо її «cat» (cat - це скорочено від categories). У таблиці cat ми створимо 3 поля для зберігання наших даних.
1) cat_id - порядкові номер або лічильник наших категорій. Тип даних у cat_id ми зробимо tinyint (3), додамо ключове слово unsigned, щоб виключити негативні числа. Додамо атрибут AUTO_INCREMENT для автоматичного инкремента.
2) cat_name - поля для імені наших категорій. Тип даних varchar (40)
3) parent_id - поле parent_id вказує на тип категорії (Батьківська/Дочірня). Тип поля ми зробимо tinyint (3), додамо ключове слово unsigned, щоб виключити негативні числа. Також додамо атрибут DEFAULT 0 raquo ;, тим самим скажімо серверу, що за замовчуванням в це поле ми будемо класти значення 0.
Первинний ключ: Поле cat_id
Пояснення: Поле parent_id відповідає за тип кате...