Oracle 数据完整性

本文介绍了数据库设计的基础知识,强调了主键和唯一约束在确保数据唯一性中的作用。讨论了索引对于查询效率的提升,并提及了Oracle数据库在频繁操作时如何维护索引。此外,解释了表间关系的一对一、一对多和多对多概念,并通过ER图分析了不同关系。最后,探讨了如何通过外键建立表之间的关联以及如何根据ER图判断表关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.数据不可重复

2.主键 :

创建表的时候,每一个表都要有主键 ,主键起到唯一标识的作用

例如:学生的学号是不一样的,学生的名字是一样的

 

3.主键约束:

只要在cid上添加了主键约束 ,在插入数据的时候,id值是不能重复的

保证了数据的唯一。

在name上添加了唯一约束,插入数据的时候,name不可以重复。

某个值可以为null。

当我们在某一列上添加主键约束的时候,数据库会在这一列上添加二叉树索引。

索引:可以理解为一本书的目录。

 

索引的目的是微利提高查询的效率。

注意:频繁的增删改查数据的时候,oracle会重新生成新的二叉树索引。

4.域名的完整性

5. 表之间的的关联关系

一对一、多对多、多对一、多对多

表之间的关系是分方向的 。

 6.分析ER图

一个学生可以选修多门课程;反过来啊,一门课程可以被多个学生选修。

这种情况下,学生表和课程表之间是多对多。

 

一个医生治多个病人是一对多,多个病人只对应一个医生。

这种关系是一对多,多对一

从医生到病人是一对多,从病人到医生是多对一

假设私人医生

一个医生对应一个病人,一个病人对应一个医生

这种关系叫做一对一关系

 7.如何建表

 

目前这两张表不存在关联关系,想要关联,通过外键进行关联。

所以接下来要设置外键

病人表的外键对应医生表的主键

 插入数据的时候,会拿外键的值,去主键所在的表中查找 是否存在此值。如果存在,则插入成功,否则,报错

 

怎么看出来表之间的关系是一对多多对一?

  1. 看ER图
  2. 看数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值