Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Центральное место среди команд DML занимает команда создания таблиц CREATE TABLE




 

CREATE TABLE <table name>

( { <column name> <data type> I<size>]

[<colcnstrnt> ...]} .,.. );

[<tabconstrnt>] .,.. );

 

где

 

¦ ЭЛЕМЕНТ ¦ ОПРЕДЕЛЕНИЕ ¦

¦ ¦ ¦

¦<table name> ¦ Имя таблицы создаваемой этой командой. ¦

¦ ¦ ¦

¦<column name> ¦ Имя столбца таблицы. ¦

¦ ¦ ¦

¦<data type> ¦ Тип данных который может содержаться в столбце. ¦

¦ ¦ Может быть любым из следующих: ¦

¦ ¦ INTEGER (ЦЕЛОЕ ЧИСЛО), ¦

¦ ¦ CHARACTER (СИМВОЛЬНОЕ), ¦

¦ ¦ DECIMAL (ДЕСЯТИЧНОЕ), ¦

¦ ¦ NUMERIC (ЧИСЛОВОЕ), ¦

¦ ¦ SMALLINT (НАИМЕНЬШЕЕ) ¦

¦ ¦ FLOAT (С ПЛАВАЮЩЕЙ ТОЧКОЙ) ¦

¦ ¦ REAL (РЕАЛЬНОЕ), ¦

¦ ¦ DOUBLE PRECISION (УДВОЕННАЯ ТОЧНОСТЬ С ¦

¦ ¦ ПЛАВАЮЩЕЙ ТОЧКОЙ), ¦

¦ ¦ LONG * (ДЛИННОЕ *), ¦

¦ ¦ VARCHAR * (ПЕРЕМЕННОЕ СИМВОЛЬНОЕ) *, ¦

¦ ¦ DATE (ДАТА *), ¦

¦ ¦ TIME (ВРЕМЯ) ¦

¦ ¦ ¦

¦ ¦( * - указывает на нестандартный для SQL тип данных)¦

¦ ¦ ¦

¦ ¦ ¦

¦<size> ¦ Размер.Его значение зависит от <data type>. ¦

¦ ¦ ¦

¦<colconstrnt> ¦ Может быть любым из следующих: ¦

¦ ¦ NOT NULL (НЕ НУЛЕВОЙ), ¦

¦ ¦ UNIQUE (УНИКАЛЬНЫЙ), ¦

¦ ¦ PRIMARY KEY (ПЕРВИЧНЫЙ КЛЮЧ), ¦

¦ ¦ CHECK(<predicate>) (ПРОВЕРКА предиката), ¦

¦ ¦ DEFAULT = (ПО УМОЛЧАНИЮ = ¦

¦ ¦ <value expression> значимому выражению) ¦

¦ ¦ REFERENCES <table name> (ССЫЛКА НА имя таблицы ¦

¦ ¦ [(<column name> .,.. )] [( имя столбца) ] ) ¦

¦ ¦ ¦

¦<tabconstrnt> ¦ Может быть любым из следующих: ¦

¦ ¦ UNIQUE (УНИКАЛЬНЫЙ), ¦

¦ ¦ PRIMARY KEY (ПЕРВИЧНЫЙ КЛЮЧ), ¦

¦ ¦ CHECK (ПРОВЕРКА предиката ) ¦

¦ ¦ FOREIGN KEY(<column name>) (ВНЕШНИЙ КЛЮЧ) ¦

¦ ¦ ¦

¦ ¦ REFERENCES <table name> (ССЫЛКА НА имя таблицы¦

¦ ¦ [(<column name> .,.. )] [( имя столбца) ]. ¦

+-------------------------------------------------------------------+

 

Create Table Customer

(ID integer Primary Key NOT NULL,

NAME char(20),

CITY char(20),

CREDIT decimal,

BIRTHDAY date

)

Create Table Employee

(ID integer Primary Key NOT NULL,

NAME char(20),

CITY char(20),

COMM decimal,

BIRTHDAY date

)

 

Create Table Orders

(ID integer NOT NULL,

Cust_Ref integer NOT NULL References Customers,

Emp_Ref integer NOT NULL References Employee,

START date,

FINISH date

Check Start<Finish

)

 

Create Table Item

(Order_Ref integer NOT NULL References Orders,

Product_Ref integer NOT NULL References Product,

Amount integer

Update of Orders Cascades,

Delete of Orders Cascades

Delete of Product Restricted

)

 

Create Table Product

(Id integer Primary Key,

Name char(30),

Price decimal,

Type char(10)

)

 

Как уже отмечалось выше, стандартность различных версий SQL далека от идеальной. Различные диалекты языка используют различные скалярные типы, функции и предикаты, поддерживают (или не поддерживают) различные опции команд и самый разнообразный синтаксис для них. В своем изложении языка мы следуем стандарту ANSI SQL.

 

Щадя читателя и следуя принципу "разумной достаточности", мы далее немного упрощаем синтаксис - в основном, за счет исключения синонимии и редко используемых опций. С другой стороны, мы стараемся упомянуть наиболее часто встречающиеся на практике опции; такие языка, отсутствующие в стандарте (и, возможно - в используемой читателем версии) расширения SQL отмечены символом *.

 


Поделиться:

Дата добавления: 2015-01-29; просмотров: 121; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты