Presentation is loading. Please wait.

Presentation is loading. Please wait.

Constraints cis 407 Types of Constraints & Naming Key Constraints Unique Constraints Check Constraints Default Constraints Misc Rules and Defaults Triggers.

Similar presentations


Presentation on theme: "Constraints cis 407 Types of Constraints & Naming Key Constraints Unique Constraints Check Constraints Default Constraints Misc Rules and Defaults Triggers."— Presentation transcript:

1 Constraints cis 407 Types of Constraints & Naming Key Constraints Unique Constraints Check Constraints Default Constraints Misc Rules and Defaults Triggers

2 What is a Constraint A constraint is a restriction. Placed at either column or table level, a constraint ensures that your data meets certain data integrity rules.

3 Types of Constraints Domain Constraints deal with one (or more) columns, e.g., “unit price > 0” –The domain of unit price is the positive integers. Dom(unitPrice) Entity Constraints: –Each row must have unique column or combination of columns called Keys. Referential Integrity Constraints –E.g., all parts must be supplied by a valid supplier

4 Constraint Naming You really should NAME each constraint you create (though SQL Server does not require this). See example for my naming convention or book pg 155. –E.g. CKPriceExceedsCost Prefer to create separately tables and constraints (scripts are easier to manage).

5 Key Constraints Primary Key Constraint for a table –Used with relating that table to another Relational databases relate tables by primary and foreign keys. Can create primary key during table creation (see example 156) Prime key implies unique

6 Prime Key on Existing Table Use Accounting Alter Table Employees add constraint PK_EmployeeID PRIMARY KEY (employeeID) Note use of constraint name PK_EmployeeID –Constraint can be addressed later for alternation or deletion Note naming convention (from MS)

7 Foreign Key Create TABLE orders ( orderID int identity not null, customerNO int not null ) Alter table orders add constraint FK_EmployeeCreatesOrder FOREIGN KEY (employeeID) references employees (employeeID)

8 Cascading Actions Be careful with foreign key constraints! Default SQL Server behavior is to restrict parent row from being deleted if any child rows exist –E.g. cannot delete supplies until all supplied parts deleted. However, can set thing up to auto delete child rows if parent row deleted Be careful of dependency chains!

9 Cascade (pg 162) Referential integrity action Alter table orderDetails add constraint FK_orderContainsDetails foreign key (orderid) references orders(orderid) on update no action no delete cascade

10 UNIQUE Constraint Unique does not automatically prevent null –must choose not null, but can only have one null in that column. Can add unique constraint on existing table, but if any rows already in table, may have problems Note exec sp_helpconstraint

11 Check Constraint Cross check within row Alter table customers add constraint CN_customerDateInSystem check (dateInSystem <= getDate() )

12 Default Default value if one not offered in insert statement Alter table customers add constraint CN_customerDefaultDateInSystem default getdate() for dateInSystem Alter table customers add constraint CN_customerAddress default ‘unknown’ for address1

13 Disabling Constraint Constraints can be temp turned off when doing bulk data loads –Must generate exception report and clean up data –Then can turn constraint back on

14 Constraints v. Exception Reports Can use exception reports instead of constraint –Constraint forces only good data to be entered in the system Slows down entry, customer service, etc –Exception report finds bad data You then allow bad data to be entered –e.g., part for which no supplier Must have gang of people to clean up mess MUCH BETTER TO ONLY HAVE CLEAN DATA IN DATABASE

15 Triggers Triggers can be used to create integrity constraints Triggers are like a stored procedure but fired when certain conditions in database met. Covered in a later chapter


Download ppt "Constraints cis 407 Types of Constraints & Naming Key Constraints Unique Constraints Check Constraints Default Constraints Misc Rules and Defaults Triggers."

Similar presentations


Ads by Google