Oracle-表的创建与设计
来源:互联网 发布:ireader阅读器mac版 编辑:程序博客网 时间:2024/06/03 22:57
一、创建的表要保证数据库的完整性
完整性=唯一性+正确性
要保证数据库的完整性是使用五种约束来完成的:
1.主键约束(primary key):
用来保证表中的每一个实体都是唯一的,每张表都应该有主键的约束
特点:唯一,非空
如果一个实体能够找到明确的属性作为主键字段则直接使用它作为主键,如果一个实体找不到合适的属性作为主键,则我们给它添加一个id(唯一标识)。
主键不能手动添加,因为不知道现在的id写什么。
主键生成策略:sql server identify(1,1)
mysql increment uuid
oracle sequence(序列)
***序列:一张特别的table,这个table中只有一个字段一行数据,名字叫val,默认值为1.
序列完整公式:
create sequence <序列名>
[(maxvalue n|nomaxvalue)]
[(minvalue n|nominvalue)]
[increment by n] --步长
[start with n]
[(cycle|nocycle)] --循环
[(cache n|nocache)]
删除序列:drop sequence <序列名>;
约束可以在建表的时候直接添加,也可以在创建表之后修改表的结构添加。(例:alter table stedent add constraint PK_STUDENT_STUDENT_NO primary key(student_no));
2.非空约束(not null)
加上非空约束的字段不允许为空。
3.唯一约束(unique)
约束的是这一列数据不能重复。
唯一约束和主键约束区别在于唯一约束允许插入null,而主键约束不允许。
*注:oracle空值可以插入多次。
4.检查约束(check)
用于检查每个字段插入的值是否符合规则。
5.外键约束
foreign key(字段名) references <表名>(<字段名>);
1)用来约束两张表中的数据是否正确
2)指定两个实体间的关系
*注:先创建主表,在创建从表
先插入主表数据,再插入从表数据
先删除从表,再删除主表
数据库是面向关系的,实体与实体之间的关系一共有四种:一对多、一对一、多对一、多对多。这四种关系都是用主外键实现的。
二、数据库设计的三大范式(确保数据没有冗余)
1.确保每一个字段都具有原子性(不可再分)。
2.表中的字段都必须依赖于该表主键(每张表只能描述一个实体)
表中的每一个字段都应该是当前实体的属性
3.表中的字段都不能传递依赖于该表主键
- Oracle-表的创建与设计
- Oracle 临时表的创建与应用
- ORACLE表空间的管理与创建
- Oracle 对表的创建与管理
- Oracle表的创建与管理
- Oracle表空间的查询与创建
- ORACLE 04 表的创建与管理
- Oracle之表的创建与管理
- 【oracle】表的创建与管理
- Oracle表的创建
- Oracle表的创建
- oracle 数据库表空间、用户、权限的创建与删除
- Oracle表空间的查询,创建与删除
- Oracle学习:表的创建与主键自增长
- oracle与sqlserver中如何查看表的创建时间
- Oracle两种临时表的创建与使用详解
- Oracle实战——表的创建与约束
- Oracle 用户和表空间的创建与删除
- [翻译]Cygwin
- tar 解压缩命令
- ZeroMQ(java)之router/dealer
- (9~10)代码调优、空间节省
- Android 屏幕坐标/视图坐标/布局坐标三者间的关系
- Oracle-表的创建与设计
- 软件工程之软件计划
- less之简单介绍
- CSS for clean and fast web apps-Topcoat
- C的一些总结
- 字符串存在判定,以后不用自己写了,直接copy
- DBHelper c#
- Spring bean inheritance bean 继承
- sql order by 几个字段之外,还把特定几条记录提前