Spec-Zone .ru
спецификации, руководства, описания, API
|
Создание базы данных является легкой частью, но в этой точке это пусто, как SHOW TABLES
говорит Вам:
mysql> SHOW TABLES;
Empty set (0.00 sec)
Более твердая часть решает, какова структура Вашей базы данных должна быть: что представляет Вас в виде таблицы потребность и чем столбцы должны быть в каждом из них.
Вы хотите таблицу, которая содержит запись для каждого из Ваших домашних животных. Это можно вызвать pet
таблица, и это должно содержать, как пустой минимум, имя каждого животного.
Поскольку имя отдельно не очень интересно, таблица должна содержать другую информацию. Например, если больше чем
один человек в Вашем семействе сохраняет домашних животных, Вы могли бы хотеть перечислить владельца каждого
животного. Вы могли бы также хотеть записать некоторую основную дескриптивную информацию, такую как
разновидности и пол.
Как о возрасте? Это могло бы представлять интерес, но это не хорошая вещь сохранить в базе данных. Изменения возраста как время передают, что означает, что необходимо бы часто обновлять свои записи. Вместо этого лучше сохранить фиксированное значение, такое как дата рождения. Затем, всякий раз, когда Вы нуждаетесь в возрасте, можно вычислить его как различие между текущей датой и датой рождения. MySQL обеспечивает функции для того, чтобы они сделали арифметику дат, таким образом, это не является трудным. У хранения даты рождения, а не возраста есть другие преимущества, также:
Можно использовать базу данных для задач, таких как генерирование напоминаний на предстоящие любимые дни рождения. (Если Вы думаете, что этот тип запроса несколько глуп, отметьте, что это - тот же самый вопрос, Вы могли бы попросить в контексте деловой базы данных идентифицировать клиенты, которым Вы должны отослать поздравления дня рождения на текущей неделе или месяц для того машинного индивидуального подхода.)
Можно вычислить возраст относительно дат кроме текущей даты. Например, если Вы храните смертельную дату в базе данных, можно легко вычислить, какого возраста домашнее животное было то, когда это умерло.
Можно, вероятно, думать о других типах информации, которая была бы полезна в pet
таблица, но те идентифицируемые до сих пор достаточны: имя, владелец, разновидности, пол, рождение, и смерть.
Используйте a CREATE TABLE
оператор, чтобы определить расположение Вашей таблицы:
mysql>CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
->species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
VARCHAR
хороший выбор для name
, owner
, и species
столбцы, потому что значения столбцов изменяются по длине. Длины в тех
определениях столбца не должны все быть тем же самым, и не должны быть 20
. Можно
обычно выбирать любую длину от 1
к 65535
, независимо
от того, что кажется самым разумным Вам. Если Вы делаете плохой выбор, и оказывается позже, что Вы нуждаетесь в
более длинном поле, MySQL обеспечивает ALTER
TABLE
оператор.
Несколько типов значений могут быть выбраны, чтобы представить пол в записях животных, такой как 'm'
и 'f'
, или возможно 'male'
и 'female'
. Является самым простым использовать
единственные символы 'm'
и 'f'
.
Использование DATE
тип данных для birth
и death
столбцы являются довольно
очевидным выбором.
Как только Вы составили таблицу, SHOW
TABLES
должен произвести некоторый вывод:
mysql> SHOW TABLES;
+---------------------+| Tables in menagerie |+---------------------+| pet |+---------------------+
Чтобы проверить, что Ваша таблица была составлена путем, Вы ожидали, используйте a DESCRIBE
оператор:
mysql> DESCRIBE pet;
+---------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+---------+-------------+------+-----+---------+-------+| name | varchar(20) | YES | | NULL | || owner | varchar(20) | YES | | NULL | || species | varchar(20) | YES | | NULL | || sex | char(1) | YES | | NULL | || birth | date | YES | | NULL | || death | date | YES | | NULL | |+---------+-------------+------+-----+---------+-------+
Можно использовать DESCRIBE
любое время, например, если Вы забываете имена столбцов в Вашей таблице
или что вводит, они имеют.
Для получения дополнительной информации о типах данных MySQL, см. Главу 11, Типы данных.