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

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


create

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
create [2021/01/30 23:01]
dja
create [2021/01/30 23:16] (текущий)
dja
Строка 1: Строка 1:
-Базовые таблицы создаются оператором CREATE TABLE:+Базовые таблицы создаются оператором **CREATE** **TABLE**: 
 +<code> 
 +1. CREATE TABLE <имя таблицы>(<список спецификаций столбцов и ограничений>);
  
-<sql> 1. [[http://www.sql-tutorial.ru/ru/book_firm_computer.html|CREATE<font inherit/inherit;;#2980b9;;inherit>TABLE <имя таблицы>(<список спецификаций столбцов и ограничений>); </sql> Спецификация столбца включает имя столбца и тип данных значений, которые могут находиться в этом столбце. Кроме того, некоторые ограничения могут быть заданы не только отдельными спецификациями, но и в спецификации столбца. Примерами могут служить ограничения первичного и внешнего ключей (простых, не составных), а также ограничение NOT NULL. Изучать аспекты языка, имеющие отношение к таблицам, мы будем на примерах таблиц учебных баз данных. В таблице Product из схемы «Компьютерная фирма]]» имеется три столбца – <font inherit/inherit;;inherit;;inherit>maker, model, type  все строкового типа данных VARCHAR(N). Чтобы создать эту таблицу мы можем написать следующий оператор: +</code>
-<sql> 1. <font inherit/inherit;;#2980b9;;inherit>CREATE<font inherit/inherit;;#2980b9;;inherit> TABLE Product (maker varchar(10), model varchar(50), type varchar(50)); </sql> Значение N указывает максимальное число символов, которое могут содержать данные в данном столбце. VARCHAR является переменным типом, это означает, что если мы зададим значение с числом символов меньше N, то записано на диск будет именно заданное количество символов. Альтернативой служит точный строковый тип <font inherit/inherit;;inherit;;inherit>CHAR</font>; для него отсутствующие символы дополняются пробелами справа, т.е. на диск будет всегда записано N символов.+
  
-Если значение не указано, то по умолчанию подразумевается 1, т.еодин символ.+Спецификация столбца включает имя столбца и тип данных значений, которые могут находиться в этом столбце. Кроме того, некоторые ограничения могут быть заданы не только отдельными спецификациями, но и в спецификации столбца. Примерами могут служить ограничения первичного и внешнего ключей (простых, не составных)а также ограничение NOT NULL.
  
-Как только таблица создана, в нее могут быть помещены данные с помощью [[http://www.sql-tutorial.ru/ru/book_operator_insert.html|оператора INSERT]]. Сделаем это:+Изучать аспекты языка, имеющие отношение к таблицам, мы будем на примерах таблиц учебных баз данных.
  
-<sql>+В таблице Product из схемы «[[http://www.sql-tutorial.ru/ru/book_firm_computer.html|Компьютерная фирма]]» имеется три столбца – maker, model, type все строкового типа данных VARCHAR(N). Чтобы создать эту таблицу мы можем написать следующий оператор: 
 +<code>
  
-</sql>+1. CREATE TABLE Product (maker varchar(10), model varchar(50), type varchar(50));
  
-  -+</code>
  
-INSERTINTO product VALUES+Значение N указывает максимальное число символов, которое могут содержать данные в данном столбце. VARCHAR является переменным типом, это означает, что если мы зададим значение с числом символов меньше N, то записано на диск будет именно заданное количество символов. Альтернативой служит точный строковый тип CHAR; для него отсутствующие символы дополняются пробелами справа, т.е. на диск будет всегда записано N символов.
  
-  -+Если значение N не указано, то по умолчанию подразумевается 1, т.е. один символ.
  
-('A''1232', 'PC'), +Как только таблица созданав нее могут быть помещены данные с помощью [[http://www.sql-tutorial.ru/ru/book_operator_insert.html|оператора INSERT]]. Сделаем это: 
- +<code>
-  +
- +
-('A', '1232', 'Printer'),+
  
-  -+1.    INSERT INTO product VALUES 
 +2.    ('A',    '1232',    'PC'), 
 +3.    ('A',    '1232',    'Printer'), 
 +4.    (NULL,    NULL,    NULL);
  
-(NULL, NULL, NULL);+</code>
  
 Данные успешно вставлены, но какие-то они неправильные. Во-первых, непонятно чем является модель 1232 – принтером или ПК? Во-вторых, имеется у нас еще одна модель, о которой вообще ничего неизвестно. Данные успешно вставлены, но какие-то они неправильные. Во-первых, непонятно чем является модель 1232 – принтером или ПК? Во-вторых, имеется у нас еще одна модель, о которой вообще ничего неизвестно.
Строка 32: Строка 34:
 Здесь следует сделать небольшое отступление, чтобы сказать о том, что, создавая таблицы, мы создаем реляционную модель предметной области. Нашей предметной областью является учет товаров в компьютерной фирме. Чтобы модель данных была адекватна предметной области, требуется так спроектировать таблицы, чтобы то, что происходит с объектами в реальном мире, могло быть отражено в модели, а то, чего не может быть в предметной области, не должно иметь места и в модели. Здесь следует сделать небольшое отступление, чтобы сказать о том, что, создавая таблицы, мы создаем реляционную модель предметной области. Нашей предметной областью является учет товаров в компьютерной фирме. Чтобы модель данных была адекватна предметной области, требуется так спроектировать таблицы, чтобы то, что происходит с объектами в реальном мире, могло быть отражено в модели, а то, чего не может быть в предметной области, не должно иметь места и в модели.
  
-Итак, в реальном мире модель не может быть одновременно и принтером, и ПК, а у нас это получилось. И тут мы приходим к понятиюцелостности данных и ее реализации посредством ограничений.+Итак, в реальном мире модель не может быть одновременно и принтером, и ПК, а у нас это получилось. И тут мы приходим к понятию<font inherit/inherit;;inherit;;inherit>целостности данных</font> и ее реализации посредством ограничений.
  
 [[http://www.sql-tutorial.ru/ru/book_creation_of_base_tables.html|Источник]] [[http://www.sql-tutorial.ru/ru/book_creation_of_base_tables.html|Источник]]
  
  
create.1612036912.txt.gz · Последнее изменение: 2021/01/30 23:01 — dja