part8. 高级SQL特性

2019-01-07  本文已影响0人  katelin

第22课 高级SQL特性

约束

1.约束:管理如何插入或管理数据库数据的规则
DBMS通过在数据库表上施加约束来实施引用完整性

  1. 主键:
CREATE TABLE Vendors
(
    vend_id  CHAR(10)  NOT NULL  PRIMARY KEY,
    vend_name  CHAR(50)  NOT NULL,
...
)
ALTER TABLE Vendors
ADD CONSTRAINT PRIMARY KEY (vend_id);
  1. 外键:
ALTER TABLE Orders
ADD CONSTRAINT
FOREIGN KEY(cust_id) REFERENCES Customers(cust_id);
  1. 唯一约束UNIQUE
    表可包含多个唯一约束,唯一约束列可包含NULL值,可修改或更新,可重复使用,不能用来定义外键

  2. 检查约束

quantity  INTEGER  NOT NULL  CHECK (quantity>0)
ADD CONSTRAINT CHECK (gender LIKE '[MF]')

索引

CREATE INDEX prod_name_ind
ON Products (prod_name);

触发器

CREATE TRIGGER customer_state
ON Customers
FOR INSERT, UPDATE
AS
UPDATE Customers
SET cust_state=UPPER(cust_state)
WHERE Customers.cust_id=inserted.cust_id;
上一篇下一篇

猜你喜欢

热点阅读