Пример создания базы данных

Перед созданием базы необходимо отметить наличие в пакете утилиты MySqlManager, которая позволяет в графическом интерфейсе писать запросы к базам данных Перед созданием таблиц необходимо создать базу данных, используя утилиту WinMySQLadmin. Для этого в окне утилиты необходимо выбрать вкладку Databases и, вызвав правой кнопкой мыши контекстное меню поля Databases, выбрать пункт Create Database (см. рис.). Затем ввести имя базы (в нашем примере - Widget-DB)

Окно утилиты MySqlManager



Далее действия выполняются с помощью утилиты MySqlManager, после запуска которой необходимо выбрать созданную базу и через контекстное меню вызвать менеджер запросов

Создание базы данных в утилите MySQLadmin



Далее необходимо создать таблицу Widget_Table.

Создание таблицы Widget_Table



Первая строка сообщает СУБД MySQL, что мы определяем таблицу по имени Widget_Table. Следующие шесть строк определяют поля, которые таблица содержит, тип данных, которые входят в них, и какие атрибуты эти поля имеют.

Одна из множества основных концепций в хорошем проекте реляционной базы данных это то, что нельзя хранить избыточные данные. В случае Widget_Table это отражено в полях Widget_color_id и widget_size_id. Эти два поля могли бы быть строками. Взамен можно сделать их указателями на другие таблицы, которые будут содержать одну запись для каждого возможного значения, которое может содержать такое поле.

Это сделано по двум причинам:

  • непротиворечивость;
  • централизация сложности.


  • Widget_id поле - среда (3 байт) установленное по размеру целое число. Это имеет специальные атрибуты NOT NULL и AUTO_INCREMENT. NOT NULL является ANSI SQL стандартом и определяет что, когда кто-то вводит widget информацию в эту таблицу, они должны дать некоторое значение для этого поля. Если не дали, MySQL назначит полю значение по умолчанию. Конечно, если значение по умолчанию было определено, то будет использоваться оно, когда не задано никакого значения. Если же оно не определено, то поле получит значение, исходя из его типа.

    AUTO_INCREMENT специфический атрибут MySQL. Если вставить ноль в это поле, MySQL автоматически назначит значение, которое на единицу выше, чем самое высокое предыдущее значение, назначенное к этому полю в этой таблице.

    Мы также определяем несколько ключей. Когда Вы назначаете полю атрибут AUTO_INCREMENT, необходимо также определить это поле как первичный ключ. Вы можете иметь только один первичный ключ на таблицу. Только одно поле на таблицу может иметь AUTO_INCREMENT атрибут.

    Также создается вторичные индексы использованием слова KEY. Индексирование значительно увеличивает быстродействие запросов и объединений. Индексы могут включать больше чем одно поле. Если имеется индекс, который включает больше чем одно поле, то появляется необходимость в создании другого индекса с первым полем в составном индексе.

    Остальные таблицы создаются по тому же принципу.