Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая ЗИНИН АС.docx
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
570.07 Кб
Скачать

1.7.3 Календарные типы данных

Тип данных

Объем памяти

Диапазон

Описание

DATE

3 байта

от '1000-01-01' до '9999-12-31'

Предназначен для хранения даты. В качестве первого значения указывается год в формате "YYYY", через дефис - месяц в формате "ММ", а затем день в формате "DD". В качестве разделителя может выступать не только дефис, а любой символ отличный от цифры.

TIME

3 байта

от '-838:59:59' до '838:59:59'

Предназначен для хранения времени суток. Значение вводится и хранится в привычном формате - hh:mm:ss, где hh - часы, mm - минуты, ss - секунды. В качестве разделителя может выступать любой символ отличный от цифры.

DATATIME

8 байт

от '1000-01-01 00:00:00' до '9999-12-31 23:59:59'

Предназначен для хранения и даты и времени суток. Значение вводится и хранится в формате - YYYY-MM-DD hh:mm:ss. В качестве разделителей могут выступать любые символы отличные от цифры.

TIMESTAMP

4 байта

от '1970-01-01 00:00:00' до '2037-12-31 23:59:59'

Предназначен для хранения даты и времени суток в виде количества секунд, прошедших с полуночи 1 января 1970 года (начало эпохи UNIX).

YEAR (M)

1 байт

от 1970 до 2069 для М=2 и от 1901 до 2155 для М=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', тем самым скажем серверу, что по умолчанию в это поле мы будем класть значение 0.

Первичный ключ: Поле cat_id

Пояснение: Поле parent_id отвечает за тип категории. Если в поле parent_id значение 0 – значит категория Родительская, иначе значение parent_id равно значению родительской категории, тем самым данная категория становится дочерней.

Теперь мы напишем код SQL для создание таблицы cat в нашей базе данных.

Код:

CREATE TABLE IF NOT EXISTS `cat` (

`cat_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,

`cat_name` varchar(40) NOT NULL,

`parent_id` tinyint(3) unsigned NOT NULL DEFAULT '0',

PRIMARY KEY (`cat_id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

Результат:

Мы создали в нашей базе данных таблицу категорий товара.

Таблица категорий

Для наглядности наполним таблицу категорий следующим содержимым:

  1. Двигатель

    1. Выхлопная система

    2. Карбюратор

    3. ЦПГ

    4. КПП

    5. Прочее

  1. Электрика

  2. Ходовая часть

3.1) Колеса

3.2) Тормоза

3.3) Амортизаторы

3.4) Вилка, маятник

3.5) Прочее

  1. Внешний Вид

4.1) Сидения

4.2) Бак

4.3) Бардачки

4.4) Подножки

4.5) Дуги

4.6) Светотехника

Для этого мы напишем следующий SQL код:

INSERT INTO `cat` (

`cat_id` ,

`cat_name` ,

`parent_id`

)

VALUES

(1 , 'Двигатель', '0'),

(2 , 'Выхлопная система', '1'),

(3 , 'Карбюратор', '1'),

(4 , 'ЦПГ', '1'),

(5 , 'КПП', '1'),

(6 , 'Прочее', '1'),

(7 , 'Электрика', '0'),

(8 , 'Ходовая часть', '0'),

(9 , 'Колеса', '8'),

(10 , 'Тормоза', '8'),

(11 , 'Амортизаторы', '8'),

(12 , 'Вилка, маятник', '8'),

(13 , 'Прочее', '8'),

(14 , 'Внешний Вид', '0'),

(15 , 'Сидения', '14'),

(16 , 'Бак', '14'),

(17 , 'Бардачки', '14'),

(18 , 'Подножки', '14'),

(19 , 'Дуги', '14'),

(20 , 'Светотехника', '14'),

(21 , 'Прочее', '14');

В результате мы получили наполненную таблицу категорий товара.

Наполненная таблица категорий