Large-Object Types 大对象类型,分为blob(二进制大对象)和clob(文本大对象)两种,当查询
需要返回大对象类型的时候,取而代之的是一个代表大对象的指针
Index索引
语法 create index index_name on table_name(attribute)
在对应的表和属性中建立索引,加快查询的速度
Transactions 事务
一系列查询等操作的集合
Atomic transaction 原子事务:只能被完全执行或者回滚(roll back)
2.6 Integrity
完
整
性
控
制
单个关系上的约束
主键 primary key, unique, not null
check子句:写在数据表的定义中
check(P) 检查某个属性是否为特定的一些值
Domain constraints 值域的约束
在domain的定义中加入check
语法 create domain domain_name constraints check_name check(P)
Referential Integrity 引用完整性
被引用表中主键和外键的关系
其实PPT里这一段讲了半天就是在说要在定义表的时候定义主键和外键进行约束
Cascading action(不知道这一段在讲什么狗屁)
on update
on delete
对于整个数据库的约束
Assertions(Mysql不支持)
对于数据库中需要满足的关系的一种
预
先
判
断
create assertion <assertion-name> check <predicate> 下面是一段例子
Trigger触发器
在修改了数据库时会自动执行的一些语句
时间节点的选择
referencing old row as 对旧的行进行操作,用于删除和更新
referencing new row as 对新的行进行操作,用于插入和更新
trigger event触发事件
insert/delete/update等操作都可以触发设置好的trigger
create assertion credits_constaint check
( not exists(
select *
from student S
where total_cred <>(
select sum(credits)
from takes nature join course
where takes.ID = S.ID and grade is not null and grade
<> 'F'
)
)
)
1
2
3
4
5
6
7
8
9
10
11