建立表 定義約束

2021-10-06 06:25:23 字數 2059 閱讀 1525

--建立表

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...