Читаем MySQL 5.0. Библиотека программиста полностью

Это выражение означает, что столбец product_id (товар) таблицы Orders является внешним ключом, который ссылается на столбец id (идентификатор) родительской таблицы Products (Товары). При этом запрещается удаление строки таблицы Products, если на нее ссылается хотя бы одна строка таблицы Orders, а изменение значения в столбце id таблицы Products приводит к автоматическому обновлению значений столбца product_id таблицы Orders. Итак, мы изучили индексы и ключи, которые можно настроить при создании таблицы. Наконец, рассмотрим последнюю составляющую команды создания таблицы, а именно опциональные свойства таблицы. Опциональные свойства таблицы

При создании таблицы указывать опциональные свойства не обязательно. Тем не менее, рассмотрим некоторые свойства, которые вы можете задать для таблицы.

• ENGINE <Тип таблицы>.

Тип таблицы является наиболее важным из опциональных свойств таблицы. В MySQL существует множество типов таблиц, каждый из которых лучше всего подходит для решения определенной задачи. Основными типами таблиц являются InnoDB и MyISAM.

Таблицы InnoDB обеспечивают поддержку транзакций (транзакции мы рассматривали в главе 1, когда обсуждали понятие целостности данных) и блокировок отдельных строк, благодаря которым обеспечивается высокая производительность операций изменения данных в многопользовательском режиме.

Кроме того, как мы увидели в предыдущем подразделе, в таблицах InnoDB можно настроить внешние ключи для поддержания целостности связей между таблицами.

Таблицы MyISAM не поддерживают объединение нескольких операций в единую транзакцию, поэтому, в частности, невозможно автоматическое поддержание целостности связей между такими таблицами. Однако таблицы MyISAM также часто используются: их преимуществом является высокая скорость выполнения поисковых запросов и меньшая нагрузка на системные ресурсы. Если при настройке сервера MySQL (о ней вы узнали из главы 1) вы выбрали в качестве типа базы данных вариант Multifunctional Database (Многофункциональная база данных) или Transactional Database Only (Транзакционная база данных), либо если вы настраивали сервер в стандартном режиме (в этом случае тип базы данных был задан автоматически), то по умолчанию применяется тип таблиц InnoDB. В этом случае, если требуется создать таблицу с типом MyISAM, добавим в команду создания таблицы выражение ENGINE MyISAM. Если же при настройке вы предпочли вариант Non-Transactional Database Only (Нетранзакционная база данных), то по умолчанию применяется тип таблиц MyISAM, а таблицы типа InnoDB не поддерживаются.

Все таблицы нашего примера (см. листинги 2.2–2.4) были созданы с параметром ENGINE InnoDB. Это дало нам возможность настроить внешние ключи в таблице Orders (Заказы) для поддержания целостности связей этой таблицы с таблицами Customers (Клиенты) и Products (Товары). Вместо ключевого слова ENGINE можно использовать его синоним – слово TYPE.

• AUTO_INCREMENT <Начальное значение>.

Задание этого свойства для таблицы, в которой есть столбец со свойством AUTO_INCREMENT, позволяет начать нумерацию в этом столбце не с единицы, а с указанного вами значения. Например, если номера заказов должны начинаться с 1000, нужно в команду создания таблицы Orders (см. листинг 2.4) включить параметр AUTO_INCREMENT 1000.

• CHARACTER SET <Имя кодировки>.

Данный параметр определяет кодировку по умолчанию для символьных столбцов таблицы.

Все таблицы нашего примера (см. листинги 2.2–2.4) были созданы с параметром CHARACTER SET utf8. Поэтому все данные о клиентах и товарах будут храниться в этой кодировке.

Если не задана кодировка для таблицы, то по умолчанию используется кодировка, установленная для базы данных. Если и для базы данных кодировка не была указана, то используется кодировка, установленная по умолчанию при настройке MySQL. Подробнее о кодировках и правилах сравнения символьных значений было сказано в разделе «Создание базы данных».

• COLLATE <Имя правила сравнения>.

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

Если не задано правило сравнения для таблицы, то по умолчанию используется правило, установленное для базы данных.

• CHECKSUM 1.

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

• COMMENT \'Текст комментария\'.

Произвольное текстовое описание таблицы длиной до 60 символов. Например, описание для таблицы Customers (Клиенты) можно задать, включив в команду создания таблицы параметр

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных