一、数据库完整性
(一)介绍
数据库完整性是指数据的正确性(符合现实世界语义)和相容性(同一对象在不同关系表中的数据是合乎逻辑的)
(二)数据库在完整性方面应具备的功能
1. 提供定义完整性约束条件的机制
2. 提供完整性检查的方法
3. 违约处理
(三)实体完整性
1.实体完整性的定义
(1). 关系模型的实体完整性
设置主码 PRIMARY KEY,让每条记录相互可区分
(2). 主码为单属性
定义为列级约束条件
定义为表级约束条件
(3). 主码为多属性
定义为表级约束条件
2. 实体完整性检查和违约处理
(1). 检查的内容(按规则自动检查)
检查主码值是否唯一
检查主码的各个属性是否为空值
(2). 检查主码值的方法
全表扫描
B+树索引
(三)参照完整性
1.定义
在 CREAT TABLE 中用 FOREIGN KEY 定义哪些列为外码,用 REFERENCES 短语指明这些外码参照哪些表的主码
2. 参照完整性检查和违约处理
一个参照完整性将两个表中的相应元组联系起来,对被参照表和参照表进行增删改操作时都有可能破环参照完整性,必须进行完整性检查
(1). 处理规则
拒绝执行(NO ACTION)
级联操作(CASCADE)
设置为空值(SET-NULL)
(四)用户定义的完整性
针对某一具体应用的数据必须满足的语义要求
1. 属性上约束条件的定义
NOT NULL 、UNIQUE、CHECK
2.属性上约束条件的检查和违约处理
不满足则操作被拒绝
(五)元组上的约束条件(行)
1. 定义
在 CREAT TABLE 时用 CHECK 短语定义元组上的约束条件
元组级的限制可以设置不同属性之间的取值的相互约束条件
2. 元组上约束条件的检查和违约处理
不满足则操作被拒绝
(六)完整性约束命名子句
1. 完整性约束命名子句定义
格式:CONSTRAINT <完整性约束条件名> <完整性约束条件>
例:CONSTRAINT StudentKey PRIMARY KEY(Sno)
2. 修改表中的完整性限制
使用 ALTER TABLE 语句修改表中的完整性约束
可以先删除原来的约束条件,再增加新的约束条件
DROP CONSTRAINT <完整性约束条件名>
二、JavaSE复习
(一)Arrays类方法
- toString
- sort
- binarySearch
- copyOf
- fill
- equals
- asList
(二)System类方法
- exit
- arraycopy
- currentTimeMillis
- gc
(三)BigInteger和BigDecimal类方法
- 加减乘除:add、subtract、multiply、divide
- BigDecimal 使用除法时可能会出现无限循环小数,需要加 BigDecimal.ROUND_CEILING