MSSql Server基礎学習シリーズ――データ制約


データ制約はデータベースに広く存在します
目的:データベースの整合性を保証する説明は、データベース内のデータが正しいことを保証するが、悪い点もある.それは性能の低下である.
--    (PK)
--     ,      
--sql    
alter table dbo.NewCourse add constraint PK_NewCourse primary key(Cid)

--    (UQ)
--         ,      
--    
--   ->  ->    ->  、 ->     
--sql      
alter table dbo.NewCourse1
add constraint UQ_NewCourse1_Cperiod unique(Cperiod)
--    
--   、qq            

--     (DF)
--         ,                     
--    
--   ->  ->    ->      
--sql      
alter table dbo.NewCourse1
add constraint DK_NewCourse1_Cname default ('123') for Cname

--    (CK)
--    
--   ->  ->    ->  ->check  ->       
--sql    
--                            
--                ,         ,    
alter table dbo.NewCourse
add constraint CK_NewCourse_Cperiod check(Cperiod<=5)

--    (FK)
--  :      ,         (           ,           ,         )
--    
--       ——>  ->      
--sql    
alter table dbo.NewCourse add constraint FK_newCourse_Uid foreign key(Uid)
references Student(Uid) on update no action

--      ,    insert  update    ,  delete update       no action
--                      insert update  
--              
--     ,        ,        
--     ,           ,        

--      
select * from Teacher
alter table Teacher Add 
	constraint DE_Teacher_tsex default(N' ') for tsex,
	constraint CK_Teacher_tsex Check(tsex=N' ' or tsex=N' '
	)
	
--      
alter table Teacher drop 
	constraint CK_Teacher_tsex,
	constraint DE_Teacher_tsex