The domain of empno is defined to be the set of strings of length at most
11. In addition, we have the column constraint not null, which means that
null cannot be used as a value of the attribute empno. The domains of the
other attributes have similar, obvious definitions that are discussed below. Note
that in the definition of INSTRUCTORS we impose a table constraint, namely
primary key(empno).
Similarly, the tabular variables STUDENTS and COURSES are created by:
create table STUDENTS(stno varchar2(10) not null,
name varchar2(35) not null,
addr varchar2(35),
city varchar2(20),
state varchar2(2),
zip varchar2(10), primary key(stno));
create table COURSES(cno varchar2(5) not null,
cname varchar2(30),
cr smallint, primary key(cno));
A script that creates all tabular variables of the college database is contained
in Appendix A.
Example 5.2.4 To express that the primary key of the table GRADES consists
of the attributes stno cno sem year we can say that this table satisfies the primary
key constraint:
constraint pkg primary key (stno, cno, sem, year)
Example 5.2.5 For the table EMPHIST, introduced in Example 3.3.5 we could
introduce the tuple conditions:
constraint pos_sal check(salary > 0)
and
constraint suf_sal check(position != ’Programmer’ or salary > 65000),
respectively. They express that the salary must be a positive number and that
somebody who is a programmer must be paid more than 65000 dollars, respec-
tively.
Thus, the creation of the table EMPHIST can be achieved by:
create table EMPHIST(empno integer not null references PERSINFO(empno),
position varchar2(30),
dept varchar2(20),
appt_date date,
term_date date,
salary float,
check(position != ’Programmer’ or salary > 65000),
constraint pos_sal check(salary > 0));
A script that creates the tables PERSINFO, EMPHIST, and REPORTING is con-
tained in Appendix C.
โดเมนของ empno ถูกกำหนดให้เป็นชุดของสตริงที่มีความยาวมากที่สุด
11 นอกจากนี้เรามีข้อ จำกัด คอลัมน์ไม่เป็นโมฆะซึ่งหมายความว่า
null ไม่สามารถนำมาใช้เป็นค่าของแอตทริบิวต์ empno โดเมนของ
คุณลักษณะอื่น ๆ ที่คล้ายกันมีคำจำกัดความที่ชัดเจนว่าจะมีการกล่าวถึงด้านล่าง หมายเหตุ
ว่าในความหมายของอาจารย์ที่เรากำหนดตารางข้อ จำกัด คือ
. คีย์หลัก (empno)
ในทำนองเดียวกันตัวแปรตารางนักเรียนและหลักสูตรที่ถูกสร้างขึ้นโดย:
นักเรียนสร้างตาราง (stno varchar2 (10) ไม่เป็นโมฆะ,
ชื่อ varchar2 (35) ไม่ได้ โมฆะ
addr varchar2 (35),
เมือง varchar2 (20),
รัฐ varchar2 (2),
ซิป varchar2 (10), คีย์หลัก (stno));
สร้างหลักสูตรตาราง (CNO varchar2 (5) ไม่เป็นโมฆะ,
CNAME varchar2 (30) ,
CR smallint, คีย์หลัก (CNO));
สคริปต์ที่สร้างตัวแปรตารางทั้งหมดของฐานข้อมูลวิทยาลัยที่มีอยู่
ในภาคผนวก A
ตัวอย่าง 5.2.4 เพื่อเป็นการแสดงว่าคีย์หลักของตารางเรียนประกอบด้วย
แอตทริบิวต์ stno CNO ปี SEM เราสามารถพูดได้ว่าตารางนี้สอดคล้องกับหลัก
ข้อ จำกัด ที่สำคัญ:
ข้อ จำกัด pkg คีย์หลัก (stno, CNO, Sem ปี)
ตัวอย่าง 5.2.5 สำหรับ EMPHIST ตารางแนะนำในตัวอย่างที่ 3.3.5 เราสามารถ
แนะนำเงื่อนไข tuple:
จำกัด การตรวจสอบ pos_sal (เงินเดือน> 0)
และ
การตรวจสอบ suf_sal จำกัด (ตำแหน่ง! = 'โปรแกรมเมอร์' หรือเงินเดือน> 65000)
ตามลำดับ พวกเขาแสดงว่าเงินเดือนจะต้องเป็นจำนวนบวกและว่า
คนที่เป็นโปรแกรมเมอร์จะต้องจ่ายมากกว่า 65,000 ดอลลาร์ตามลํา
ดับ.
ดังนั้นการสร้าง EMPHIST ตารางสามารถทำได้โดย:
สร้างตาราง EMPHIST (จำนวนเต็มไม่เป็นโมฆะ empno อ้างอิง PERSINFO (empno)
varchar2 ตำแหน่ง (30),
ลึก varchar2 (20),
วันที่ appt_date,
วันที่ term_date,
ลอยเงินเดือน
กา (ตำแหน่ง! = 'โปรแกรมเมอร์' หรือเงินเดือน> 65000)
จำกัด การตรวจสอบ pos_sal (เงินเดือน> 0)) ;
สคริปต์ที่สร้างตาราง PERSINFO, EMPHIST และการรายงานเป็น con-
tained ในภาคผนวกค
การแปล กรุณารอสักครู่..
โดเมนของ empno ถูกกำหนดเป็นชุดของสตริงของความยาวที่สุด
11 นอกจากนี้เรายังมีคอลัมน์ข้อจำกัดไม่ null ซึ่งหมายความว่า
โมฆะไม่สามารถใช้เป็นค่าของแอททริบิวต์ empno . โดเมนของ
คุณสมบัติอื่น ๆมีความคล้ายคลึงกัน ความหมายชัดเจนว่า มีการกล่าวถึงด้านล่าง หมายเหตุ
ในความหมายของอาจารย์เรากำหนดตาราง ข้อจำกัด คือ คีย์หลัก (
empno )พบว่า ตัวแปรตารางนักศึกษาและหลักสูตรที่ถูกสร้างขึ้นโดย :
สร้างนักเรียนโต๊ะ ( stno varchar2 ( 10 ) ไม่ null
ชื่อ varchar2 ( 35 ) ไม่ใช่ null
varchar2 บาป ( 35 ) , เมือง varchar2 ( 20 ) ,
varchar2 รัฐ ( 2 ) ,
ซิป varchar2 ( 10 ) , คีย์หลัก ( stno ) ) ;
สร้างหลักสูตรตาราง ( CNO varchar2 ( 5 ) ไม่ null
CNAME varchar2 ( 30 ) ,
CR smallint , คีย์หลัก ( CNO )
) ;สคริปต์ที่สร้างตัวแปรตารางทั้งหมดของวิทยาลัยฐานข้อมูลที่มีอยู่ในภาคผนวก ก.
ตัวอย่าง 5.2.4 แสดงว่าคีย์หลักของตารางคะแนนประกอบด้วย
ของแอตทริบิวต์ stno CNO SEM ปีเราสามารถพูดได้ว่า โต๊ะนี้ได้ตอบสนองต่อคีย์หลัก
:
ข้อจำกัด pkg คีย์หลัก ( stno CNO , SEM , , ปี )
ตัวอย่าง 5.2.5 สำหรับตาราง emphist แนะนำในตัวอย่าง 3.3.5 เรา
แนะนำเงื่อนไข tuple :
ข้อจำกัด pos_sal ตรวจสอบ ( เงินเดือน > 0 )
suf_sal ตรวจสอบและจำกัด ( ตำแหน่ง = ' โปรแกรมเมอร์ ' หรือเงินเดือน > 65 , 000 ) ,
) พวกเขาแสดงให้เห็นว่าเงินเดือนต้องเป็นจำนวนบวกและ
ใครที่เป็นโปรแกรมเมอร์จะต้องจ่ายมากกว่า 65 , 000 ดอลลาร์ มี respec -
.
ดังนั้นการสร้างตาราง emphist สามารถทำได้โดย :
สร้างตาราง emphist ( empno จำนวนเต็มไม่ null อ้างอิง persinfo ( empno )
ตำแหน่ง varchar2 ( 30 ) , แผนก varchar2
appt_date ( 20 ) , วันที่ , วันที่ term_date
เช็คเงินเดือน , ลอย ( ตำแหน่ง = ' โปรแกรมเมอร์ ' หรือเงินเดือน > 65 , 000 ) ,
ข้อจำกัด pos_sal ตรวจสอบ ( เงินเดือน > 0 ) ;
สคริปต์ที่สร้างตาราง persinfo emphist , และการรายงานเป็น con -
tained ในภาคผนวก ซี
การแปล กรุณารอสักครู่..