Инструменты пользователя

Инструменты сайта


examination:bd:question27

Вопрос №27. Создание таблиц БД с помощью SQL

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

 CREATE TABLE <имя_таблицы>

      (<имя_столбца> <тип_столбца>
                        [NOT NULL]
                        [UNIQUE | PRIMARY KEY]
                        [REFERENCES <имя_мастер_таблицы> [<имя_столбца>]]
        , ...)

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

  NOT NULL - в этом случае элементы столбца всегда должны иметь определенное значение 
  (не NULL)
  один из взаимоисключающих параметров UNIQUE - значение каждого элемента столбца должно
   быть уникальным или PRIMARY KEY - столбец является первичным ключом.
  REFERNECES <имя_мастер_таблицы> [<имя_столбца>] - эта конструкция определяет, что 
  данный столбец является внешним ключом и указывает на ключ какой мастер_таблицы он     ссылается.

Контроль за выполнением указанных условий осуществляет СУБД.

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

 CREATE DATABASE publications;

 CREATE TABLE authors (au_id INT PRIMARY KEY,
                       author VARCHAR(25) NOT NULL);
 CREATE TABLE publishers (pub_id INT PRIMARY KEY,
                          publisher VARCHAR(255) NOT NULL,url VARCHAR(255));
 CREATE TABLE titles (title_id INT PRIMARY KEY,
                      title VARCHAR(255) NOT NULL,
                      yearpub INT,
                      pub_id INT REFERENCES publishers(pub_id));
 CREATE TABLE titleautors (au_id INT REFERENCES authors(au_id),
                           title_id INT REFERENCES titles(title_id));
 CREATE TABLE wwwsites (site_id INT PRIMARY KEY,
                        site VARCHAR(255) NOT NULL,
                        url VARCHAR(255));
 CREATE TABLE wwwsiteauthors (au_id INT REFERENCES authors(au_id),
                              site_id INT REFERENCES wwwsites(site_id)); 


examination/bd/question27.txt · Последние изменения: 2014/01/15 12:11 (внешнее изменение)