Microsoft Outline n Data Integrity Enforcing Data Integrity
- Slides: 17
Microsoft
Outline Ö n Data Integrity Enforcing Data Integrity Types of Constraints ¨ Defining Constraints ¨ Disabling Constraints ¨ Using Defaults and Rules ¨ n Deciding enforcement method to use Microsoft
Data Integrity Tính toàn vẹn dữ liệu n n Tập các ràng buộc nhằm đảm bảo chất lượng dữ liệu trong các CSDL: dữ liệu là đúng đắn, tin cậy, nhất quán. Toàn vẹn miền giá trị Các kiểu toàn vẹn: Toàn vẹn định nghĩa Bởi người sử dụng (columns) Toàn vẹn thực thể (rows) Toàn vẹn liên kết (between tables) Microsoft
Types of Constraints n n n PRIMARY KEY constraints UNIQUE constraints CHECK constraints DEFAULT constraints FOREIGN KEY constraints Cascading referential integrity Microsoft
Cài đặt tính toàn vẹn dữ liệu n Cài đặt lúc khai báo lược đồ CSDL Khai báo thuộc tính các cột: PRIMARY KEY, NOT NULL, UNIQUE, DEFAULT, FOREIGN KEY ¨ Thêm vào các bảng: constraints, defaults, and rules ¨ n Cài đặt bằng các thủ tục q Microsoft scripts, triggers and stored procedures
Ràng buộc PRIMARY KEY n n PRIMARY KEY là một cột hoặc một tập các cột dùng để nhận diện (phân biệt) các bản ghi dữ liệu Mỗi bảng có nhiều nhất 1 PRIMARY KEY Các giá trị trên PRIMARY KEY là duy nhất, không được phép NULL Index tự động sinh ra trên PRIMARY KEY USE qlnv CREATE TABLE DMNN (Mann char (2) PRIMARY KEY, Tennn nvarchar(20)) CREATE TABLE DMNN (Mann char (2), Tennn nvarchar(20), CONSTRAINT PK_DMNN PRIMARY KEY (Mann) Microsoft ) USE qlnv CREATE TABLE TDNN (Manv char (6) NOT NULL, Mann char(2) NOT NULL, Tdo smallint); Alter TABLE TDNN ADD CONSTRAINT PK_TDNN PRIMARY KEY (Manv, Mann)
Ràng buộc UNIQUE n n Ràng buộc UNIQUE có thể định nghĩa trên một cột hoặc một tập các cột Cho phép 1 bản ghi có giá trị NULL Một bảng có thể có nhiều ràng buộc UNIQUE A unique Index tự động sinh ra trên cột UNIQUE USE qlnv; ALTER TABLE DMNN ADD CONSTRAINT U_Tennn UNIQUE NONCLUSTERED (Tennn) Microsoft USE qlnv; CREATE TABLE DMNN ADD CONSTRAINT U_Tennn UNIQUE NONCLUSTERED (Tennn)
Ràng buộc CHECK n Ràng buộc CHECK được định nghĩa trên một hoặc nhiều cột của cúng một bảng USE qlnv; CREATE TABLE Nhanvien ( Manv char (8) PRIMARY KEY, Ho. Ten nvarchar(50) NOT NULL, Ngaysinh datetime CHECK (Ngaysinh BETWEEN '01 -01 -1900' AND '01 -01 -2012'), maphong int ) USE qlnv; ALTER TABLE Nhanvien ADD CONSTRAINT CK_ngaysinh CHECK (ngaysinh > '01 -01 -1900' AND ngaysinh <‘ 01 -01 -2012’) Microsoft
Ràng buộc DEFAULT n n n Được thực hiện với các lệnh INSERT Mỗi cột chỉ có tối đa 1 ràng buộc DEFAULT Không sử dụng các cột có tính chất IDENTITY hoặc các cột có kiểu dữ liệu rowversion USE qlnv CREATE TABLE Phong ( Ma. Phong int PRIMARY KEY, Ten. Phong nvarchar(40) UNIQUE, Dia. Chi nvarchar(50) DEFAULT N'123 -Đống Đa - HN', Tel char (10) ) Microsoft USE qlnv CREATE TABLE Phong ( Ma. Phong int PRIMARY KEY, Ten. Phong nvarchar(40) UNIQUE, Dia. Chi nvarchar(50), Tel char (10) ) ALTER TABLE phong ADD CONSTRAINT DF_diachi DEFAULT ‘ 123 -Đống Đa - HN' FOR Dia. Chi
Ràng buộc Default n n Rang buộc DEFAULT cũng có thể được định nghĩa như các đối tượng độc lập Và gắn với cột hoặc kiểu dữ liệu người dùng CREATE DEFAULT [schema_name. ] default_name AS constant_expression [ ; ] EXEC sp_bindefault <default_name>, <Object_name> CREATE DEFAULT phone_no_default AS '(000)000 -0000' GO EXEC sp_bindefault phone_no_default, ‘Phong. Tel' Microsoft
Ràng buộc khóa ngoài FOREIGN KEY n n Phải tham chiếu đến thuộc tính là PRIMARY KEY or UNIQUE của bảng khác Phải có quyền SELECT or REFERENCES trên bảng tham chiếu đến CREATE TABLE TDNN (manv char(8), mann char(2), TDo smallint, PRIMARY KEY (manv, mann), CONSTRAINT FK_TDNN_Nhan. Vien FOREIGN KEY (manv) REFERENCES Nhanvien(manv), FOREIGN KEY (mann) REFERENCES DMNN(mann) ) Microsoft
Các loại ràng buộc tham chiếu n Khi xóa hoặc cập nhật khóa chính của một bảng, nếu khóa chính đó được tham chiếu từ bảng khác thì mặc định SQL server không cho phép xóa hoặc cập nhật khóa chính này. Tuy nhiên có thể lựa chọn: SET NULL, SET DEFAULT, CASCADE [ON DELETE {NO ACTION|CASCADE|SET NULL|SET DEFAULT}] [ON UPDATE {NO ACTION|CASCADE|SET NULL|SET DEFAULT}] ALTER TABLE TDNN DROP CONSTRAINT FK_TDNN_DMNN ALTER TABLE TDNN ADD CONSTRAINT FK_TDNN_DMNN FOREIGN KEY (Mann) REFERENCES DMNN(Mann) ON DELETE CASCADE Microsoft
Disabling Constraints n Disabling constraint checking on existing data Using WITH NOCHECK option when adding a new constraint ¨ Applied to CHECK and FOREIGN KEY constraints ¨ USE Northwind ALTER TABLE dbo. Employees WITH NOCHECK ADD CONSTRAINT FK_Employees FOREIGN KEY (Reports. To) REFERENCES dbo. Employees(Employee. ID) Microsoft
Disabling Constraints n Disabling constraint checking when loading new data Using NOCHECK option before loading new data ¨ Applied to CHECK and FOREIGN KEY Constraints ¨ USE Northwind ALTER TABLE dbo. Employees NOCHECK CONSTRAINT FK_Employees Microsoft
Rule Constraints CREATE RULE [schema_name. ] rule_name AS <condition_expression> GO EXEC sp_bindrule regioncode_rule, 'Customers. Region' CREATE RULE regioncode_rule AS @regioncode IN ('IA', 'IL', 'KS', 'MO') GO EXEC sp_bindrule regioncode_rule, 'Customers. Region' Microsoft Note: CREATE RULE may be not supported anymore in next version of SQL Server
Enforcement Method to Use Data integrity components Functionality Performance Before or after costs modification Constraints Medium Low Before Defaults and rules Low Before Triggers High Medium-High After Data types, Null/Not Null Low Microsoft Before
Summary n Các ràng buộc toàn vẹn dữ liệu là phương tiện đảm bảo tính đúng đắn, tính hợp lý và tính đầy đủ của dữ liệu n Cài đặt toàn vẹn dữ liệu giúp cho việc duy trì cơ sở dữ liệu luôn trong trạng thái hợp lý, đúng đắn và đầy đủ trong quá trình CSDL được cập nhật Using các ràng buộc toàn vẹn là quan trọng, …, nhưng chỉ khi cần thiết. n Microsoft
- Constraints in dbms
- Formal negative sanctions examples
- Sandwich quotation
- Microsoft official academic course microsoft word 2016
- Microsoft official academic course microsoft excel 2016
- Microsoft microsoft edge startwarren theverge
- Microsoft excel merupakan program aplikasi… *
- Microsoft official academic course microsoft word 2016
- Entity integrity ensures correctness of the data in a table
- Data integrity constraints are used to
- Sap laboratory information management system
- Data integrity in hadoop
- Data integrity in oracle
- Data integrity project
- Data processing integrity controls
- Data integrity and security in dbms
- Data integrity means
- Fda data integrity presentation