Вход/Регистрация
Основы программирования в Linux
вернуться

Мэтью Нейл

Шрифт:

Таблица исполнителей (

artist
) очень проста; сохраните в ней только имя исполнителя и уникальный идентификационный номер (id) исполнителя. Таблица дорожек (
track
) также чрезвычайно проста; вам нужен только ID компакт-диска, чтобы знать, к какому CD относится дорожка, номер дорожки и название дорожки.

Сначала таблица компакт-диска:

CREATE TABLE cd (

 id INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,

 title VARCHAR(70) NOT NULL,

 artist_id INTEGER NOT NULL,

 catalogue VARCHAR(30) NOT NULL,

 notes VARCHAR(100)

);

Приведенный программный код создает таблицу с именем

cd
со следующими столбцами:

 столбец

id
, содержащий целое число, которое автоматически увеличивается и представляет собой первичный ключ таблицы;

 столбец

title
длиной до 70 символов;

 столбец

artist_id
— целое число, которое будет использоваться в таблице
artist
;

 столбец

catalogue
— номер длиной до 30 символов;

 столбец

notes
до 100 символов.

Учтите, что только столбец

notes
может быть
NULL
; у всех остальных должны быть значения.

Теперь таблица

artist
:

CREATE TABLE artist (

 id INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,

 name VARCHAR(100) NOT NULL

);

И снова у вас столбец

id
и еще один для имени исполнителя.

И наконец, таблица

track
:

CREATE TABLE track (

 cd_id INTEGER NOT NULL,

 track_id INTEGER NOT NULL,

 title VARCHAR(70),

 PRIMARY KEY(cd_id, track_id)

);

Обратите внимание на то, что на этот раз вы объявили первичный ключ несколько иначе. Таблица

track
необычна тем, что ID каждого компакт-диска будет появляться несколько раз, ID любой заданной дорожки, скажем, дорожки 1, также будет появляться несколько раз в разных компакт-дисках. Но их комбинация всегда будет уникальной, поэтому объявите ваш первичный ключ как комбинацию двух столбцов. Такой ключ называют составным, поскольку он состоит из нескольких столбцов, участвующих в комбинации.

Сохраните эти SQL-операторы в текущем каталоге, в файле, названном create_tables.sql, и затем двигайтесь дальше и создайте базу данных и таблицы в ней. Готовый пример сценария содержит дополнительные строки, по умолчанию помеченные как комментарий, в них удаляются эти таблицы, если они уже существуют.

$ mysql -u rick -р

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

mysql> use blpcd;

Database changed

mysql> \. create_tables.sql

Query OK, 0 rows affected (6.04 sec)

Query OK, 0 rows affected (0.10 sec)

Query OK, 0 rows affected (0.00. sec)

mysql>

Обратите внимание на применение команды

\.
для получения ввода из файла create_tables.sql.

Вы могли бы создать таблицы, выполнив операторы SQL или просто набирая данные с помощью обозревателя запросов MySQL Query Browser.

После того как таблицы созданы, их можно просмотреть, используя MySQL Administrator (рис. 8.9), в котором вы проверяете таблицу индексов базы данных

blpcd
(или схему, если вы предпочитаете этот термин).

Выбрав редактирование таблицы (щелчок правой кнопкой мыши или двойной щелчок мышью имени таблицы на вкладке Tables (Таблицы)) позволит увидеть дополнительные сведения о столбцах (рис. 8.10).

Рис. 8.9

Рис. 8.10 

Вы заметили два значка ключа рядом со столбцами

cd_id
и
track_id
на рис. 8.10? Это означает, что они оба участвуют в формировании составного первичного ключа. Разрешив названию дорожки быть равным
NULL
(условие
NOT NULL
не проверяется), вы допускаете наличие нетипичной, но иногда встречающейся дорожки компакт-диска, не имеющей названия.

  • Читать дальше
  • 1
  • ...
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: