--建立表
use bhgs;
--確保sql server是在指定資料庫中建立物件
goif object_id(
'dbo.employee'
,'u')is
null
drop
table dbo.employee;
create
table dbo.employee
(empid int
notnull
,firstname varchar(30
)not
null
,lastname varchar(30
)not
null
,hiredate date
notnull
,mgrid int
null
,ssn varchar(20
)not
null
,salary money not
null);
--定義資料完整性
--主鍵約束:強制行的唯一性,在約束屬性中也不允許使用null標記。約束屬性值的每組唯一值僅能在表**現一次,且設定語句要在一行中。
alter
table dbo.employee
addconstraint pk_employee
primary
key(empid)
--唯一約束:強制行的唯一性,允許你在自己的資料庫中實現關係模型的備用鍵概念。與主鍵不同,可以在同乙個表內定義多個唯一約束。
alter
table dbo.employee
addconstraint unq_employee_ssn
unique
(ssn)
;--外來鍵約束:強制引用完整性。此約束定義了引用表中的乙個或多個屬性指向被引用表(父表)中候選鍵(主鍵或唯一約束)
if object_id(
'dbo.orders'
,'u')is
notnull
drop
table dbo.orders;
create
table dbo.orders
(orderid int
notnull
,empid int
notnull
,custid varchar(10
)not
null
,orderts datetime2 not
null
,qty int
notnull
,constraint pk_orders
primary
key(orderid));
--限制由orders表中empid列支援的值要存在於employ表的empid列中
alter
table dbo.orders
addconstraint fk_orders_employee
foreign
key(empid)
references dbo.employee(empid)
;--限制employee表中mgrid列中的值存在於同一表的empid列中
alter
table dbo.employee
addconstraint fk_employee_employee
foreign
key(mgrid)
references dbo.employee(empid)
;--check約束:定義乙個謂詞,要進入到表中的行或是被修改的行必須滿足此要求。
alter
table dbo.employee
addconstraint chk_employee_salary
check
(salary>0)
;alter
table dbo.orders
addconstraint def_orders_orderts
default
(sysdatetime())
for orderts;
oracle建立表 約束
圖書資訊表 圖書編號,圖書名稱,出版社,出版日期,圖書 圖書作者,借出標識,讀者編號,描述 主鍵 constraint pk name primary key 外來鍵 constraint fk name foreign key column name reference table name co...
sql server 建立表與約束
表是儲存資料的基本資料庫物件,設計資料庫的最主要的工作是設計表結構。在sql server中,表分為永久表和臨時表兩種。資料通常儲存在永久表中,如果使用者不手動刪除,永久表和其中的資料將永久存在。臨時表儲存在 tempdb資料庫中,當不再使用時系統會自動刪除臨時表 臨時表分為本地臨時表和全域性臨時表...
實驗2 建立表和定義完整性約束
實驗名稱 建立模式 表和定義完整性約束。實驗內容 在實驗1建立的資料庫的基礎上,參照圖3 4和表3 10建立表和定義完整性約束。實驗目的 熟練掌握表的建立和資料完整性速描定義方法,實踐dbms提供的資料完整性功能,加深對資料完整性的理解。實驗方法 在實驗一建立資料庫的基礎上用create table...