A slightly more general form (that ignores certain details related to the
physical design of databases), the directive that creates a tabular variable is
create table and has the form: following syntax:
create table [schema.]table name
[(hattr def | table constraint | table ref clause i
{,hattr def | table constraint | table ref clause i})],
where the attribute definition attr def has the syntax:
attribute name domain [default expr] [column ref clause]{column constraint}
As a result of the execution of this directive, an initial amount of space
is reserved in secondary memory to accommodate future values of the tabular
variable, and the metadata aremodified to reflect the addition of the new tabular
variable. Specialized SQL constructions, discussed later (insert, delete, and
update) can be used to modify the value of this variable.
Creation of tabular variables permits placing restrictions, called constraints
on the contents of any value that the tabular variable may assume. The con-
straints that follow have a global character (which means that they apply to
the contents of a table in its entirety) and apply to any value that the tabular
variable may assume.
Definition 5.2.2 A primary key constraint has the form
[constraint constraint name] primary key(list of attributes)
when the primary key consists of the attributes of the list.
Alternate keys of tables can be specified using unique constraints. The syntax
of this type of constraints is:
[constraint constraint name] unique(list of attributes)
This indicates that no two rows of a table that is a value of the tabular variable
may have the same values for the attributes specified in the list.
A constraint of the form cC that involves conditions C that are a Boolean
combination of conditions involving only components of tuples and constants is
denoted by:
[constraint constraint name] check(C)
When a constraint involves more than one attribute it is considered a table
constraint ; otherwise, it is a column constraint. Referential integrity can be
imposed by using the column constraint references in the definition of an
attribute. To prevent certain components of tuples from assuming a null value
we can impose the column constraint not null.
Example 5.2.3 To create the tabular variable INSTRUCTORS of the college
database we use the following create table directive:
create table INSTRUCTORS(empno varchar(11) not null,
name varchar(35),
rank varchar(25),
roomno integer,
telno varchar(4), primary key(empno));
รูปแบบทั่วไปมากขึ้นเล็กน้อย (ที่ไม่สนใจรายละเอียดบางอย่างที่เกี่ยวข้องกับ
การออกแบบทางกายภาพของฐานข้อมูล) คำสั่งที่สร้างตัวแปรตารางคือ
สร้างตารางและมีรูปแบบ: ไวยากรณ์ต่อไปนี้:
สร้างตาราง [. สคี] ชื่อตาราง
[(hattr def | ข้อ จำกัด ตาราง | ข้ออ้างอิงตารางฉัน
{, hattr def | ข้อ จำกัด ตาราง | อ้างอิงตารางข้อ i})]
ที่ def attr นิยามแอตทริบิวต์มีไวยากรณ์:
โดเมนชื่อแอตทริบิวต์ [เริ่มต้น expr] [ข้ออ้างอิงคอลัมน์] {} จำกัด คอลัมน์
ในฐานะที่เป็น ผลจากการดำเนินการของคำสั่งนี้, จำนวนเงินเริ่มต้นของพื้นที่
ที่สงวนไว้ในหน่วยความจำรองที่จะรองรับค่าในอนาคตของตาราง
ตัวแปรและเมตาดาต้า aremodified สะท้อนให้เห็นถึงการเพิ่มขึ้นของตารางใหม่
ตัวแปร การก่อสร้าง SQL เฉพาะกล่าวถึงในภายหลัง (แทรกลบและ
ปรับปรุง) สามารถใช้ในการปรับเปลี่ยนค่าของตัวแปรนี้.
สร้างตัวแปรตารางอนุญาตให้วางข้อ จำกัด ข้อ จำกัด ที่เรียกว่า
เนื้อหาของค่าใด ๆ ที่ตัวแปรตารางอาจสันนิษฐาน con-
straints ที่เป็นไปตามที่มีตัวละครระดับโลก (ซึ่งหมายความว่าพวกเขานำไปใช้กับ
เนื้อหาของตารางอย่างครบถ้วน) และนำไปใช้ค่าใด ๆ ที่ตาราง
ตัวแปรอาจสันนิษฐาน.
นิยาม 5.2.2 ข้อ จำกัด ที่สำคัญหลักมีรูปแบบ
[ ชื่อ จำกัด จำกัด ] คีย์หลัก (รายการของคุณลักษณะ)
เมื่อคีย์หลักประกอบด้วยคุณลักษณะของรายการ.
กุญแจสำรองของตารางสามารถระบุได้โดยใช้ข้อ จำกัด ที่ไม่ซ้ำกัน ไวยากรณ์
ของชนิดของข้อ จำกัด นี้:
[ชื่อของข้อ จำกัด ข้อ จำกัด ] ไม่ซ้ำกัน (รายการของคุณลักษณะ)
นี้บ่งชี้ว่าไม่มีสองแถวของตารางที่มีค่าของตัวแปรตาราง
อาจมีค่าเดียวกันสำหรับแอตทริบิวต์ที่ระบุไว้ในรายการ
ข้อ จำกัด ของ cC รูปแบบที่เกี่ยวข้องกับเงื่อนไข C ที่มีบูลีน
รวมกันของเงื่อนไขที่เกี่ยวข้องกับชิ้นส่วนเดียวของ tuples และค่าคงที่มีการ
แสดงโดย:
[ชื่อของข้อ จำกัด ข้อ จำกัด ] การตรวจสอบ (C)
เมื่อข้อ จำกัด ที่เกี่ยวข้องกับการมากกว่าหนึ่งแอตทริบิวต์ก็ถือว่าตาราง
จำกัด ; มิฉะนั้นจะเป็นข้อ จำกัด คอลัมน์ ความสมบูรณ์ของ referential สามารถ
กำหนดโดยใช้การอ้างอิงคอลัมน์ข้อ จำกัด ในความหมายของ
แอตทริบิวต์ เพื่อป้องกันไม่ให้บางส่วนของ tuples จากสมมติว่าค่า null
เราสามารถกำหนดข้อ จำกัด คอลัมน์ไม่เป็นโมฆะ.
ตัวอย่าง 5.2.3 เพื่อสร้างตัวแปรตารางอาจารย์ของวิทยาลัย
ฐานข้อมูลที่เราใช้ต่อไปนี้คำสั่งสร้างตาราง:
อาจารย์สร้างตาราง (empno varchar (11 ) ไม่เป็นโมฆะ,
ชื่อ varchar (35),
อันดับ varchar (25),
จำนวนเต็ม roomno,
telno varchar (4), คีย์หลัก (empno));
การแปล กรุณารอสักครู่..
แบบฟอร์มทั่วไปเล็กน้อย ( ที่ไม่สนใจรายละเอียดบางอย่างที่เกี่ยวข้องกับ
การออกแบบทางกายภาพของฐานข้อมูล ) , คำสั่งสร้างตารางสร้างตารางตัวแปรคือ
และมีรูปแบบ : ตามไวยากรณ์ :
สร้างตาราง [ รูปแบบ ] ชื่อตาราง
[ ( hattr . | ตารางตารางอ้างอิงข้อจำกัด |
{ ฉัน , hattr . | ตารางตารางอ้างอิงข้อจำกัด | ผม } ) ] ,
ที่แอตทริบิวต์นิยาม attr . มีไวยากรณ์ :
Attribute ชื่อโดเมน [ expr ] [ เริ่มต้นคอลัมน์อ้างอิงข้อ ] { ต่อ } คอลัมน์
เป็นผลจากการทำงานของคำสั่งนี้ จํานวนเงินเริ่มต้นของพื้นที่
สงวนไว้ในหน่วยความจำสำรอง เพื่อรองรับค่าในอนาคตของตัวแปรตาราง
, และเมตาดาต้า aremodified เพื่อสะท้อนให้เห็นถึงการเพิ่มของตัวแปรตาราง
ใหม่ ผู้เชี่ยวชาญ SQL ก่อสร้าง กล่าวภายหลัง ( แทรก , ลบ , และ
ปรับปรุง ) สามารถใช้ในการปรับเปลี่ยนค่าของตัวแปรนี้ .
สร้างตัวแปรตารางให้วางจำกัด เรียกว่าข้อจำกัด
บนเนื้อหาของค่าใด ๆที่ตัวแปรตารางอาจถือว่า ต่อต้าน -
straints ที่ตามได้ ( ตัวละคร ( ซึ่งหมายความว่าพวกเขาใช้
เนื้อหาของตารางอย่างครบถ้วน ) และใช้ค่าใด ๆ ที่ตัวแปรตาราง
อาจจะถือว่าคำนิยาม 5.2.2 เป็นคีย์หลักบังคับ มีรูปแบบการบังคับ
[ ชื่อ ] คีย์หลัก ( รายการแอตทริบิวต์ )
เมื่อคีย์หลักประกอบด้วยคุณลักษณะของรายการ
แป้นสลับของตารางสามารถกำหนดข้อ จำกัด การใช้ที่ไม่ซ้ำกัน ไวยากรณ์
ของข้อจำกัดของประเภทนี้ :
[ ชื่อ ] ข้อจำกัดข้อจำกัดเฉพาะตัว ( รายชื่อแอตทริบิวต์ )
นี้บ่งชี้ว่าไม่มีสองแถวของตารางที่เป็นค่าของตัวแปรตารางอาจมี
ค่าเดียวกันสำหรับคุณสมบัติที่ระบุไว้ในรายการ เป็นข้อจำกัดของรูปแบบ
CC ที่เกี่ยวข้องกับเงื่อนไข C ที่มีการรวมกันของเงื่อนไขที่เกี่ยวข้องกับตรรกะ
เฉพาะส่วนของทูเปิลและค่าคงที่คือ
[ แสดงโดย ข้อจำกัดการตรวจสอบ ( C )
ชื่อ ]เมื่อข้อจำกัดที่เกี่ยวข้องมากกว่าหนึ่งแอททริบิวต์ มันเป็นโต๊ะ
ข้อจำกัด มิฉะนั้นมันเป็นคอลัมน์ จำกัด ความสมบูรณ์ของ referential สามารถกำหนดโดยใช้คอลัมน์
ขาดการอ้างอิงในคำนิยามของ
คุณลักษณะ เพื่อป้องกันองค์ประกอบบางอย่างของทูเปิลจากทะลึ่ง
ค่า null เราสามารถกำหนดคอลัมน์ข้อจำกัดไม่ null .
ตัวอย่าง 5.2 .3 เพื่อสร้างตารางตัวแปรของอาจารย์วิทยาลัย
ฐานข้อมูลที่เราใช้สร้างตารางคำสั่งต่อไปนี้ :
สร้างอาจารย์โต๊ะ ( empno VAIO HK ( 11 ) ไม่ใช่ null
ชื่อ VAIO HK ( 35 ) ,
VAIO HK อันดับ ( 25 )
roomno จำนวนเต็ม telno VAIO HK ( 4 ) คีย์หลัก ( empno ) ;
การแปล กรุณารอสักครู่..