Oracle入门笔记(四)——Oracle表约束和表间关系

1.Oracle数据表要求

(1)必须以字母开头;
(2)长度不能超过30字符;
(3)避免使用关键字;
(4)会被自动转成大写(大小写不敏感),除非使用“”(不推荐,对数据表的使用不友好,而且能够突破非法字符检测限制):
在这里插入图片描述
(5)字符限制:a-z、A-Z、0-9、_&#

2.Oracle数据表约束

(1)主键约束(Primary Key constraint):唯一性,非空性;
(2)唯一约束(Unique constraint)唯一性,可以为空但是必须只有一个为空;
(3)检查约束(Check constraint):数据范围、格式等的限制;
(4)非空约束(Not NULL constraint):某些数据不允许为空。
(5)外键约束(Foreign Key constraint):表间关系约束。

3表间关系

    表间关系的核心是数据本身,不是表;

3.1一对一关系

    任何一方作为外键;

3.1一对多关系

    多方作为外键(允许重复,允许为空);eg:固定教师与上课学生;举例如下(developer太丑了没有办法):
在这里插入图片描述
删除教室101之后,学生表中的学生也被删除了,证明级联删除成功。虽然软件UI比较丑,但是功能还是比较多的,而且是更针对Oracle的数据库管理工具,多熟悉熟悉就好。

3.1多对多关系

    多方作为外键;举例学生选课系统中的学生和课程,由于学生人数肯定多余课程,因此将外键放到学生里面:
在这里插入图片描述
注意凡是外键,对应的需要为另一个表中的主键。最终得到如下设计:
在这里插入图片描述
这种数据库的设计比较接触,和Mysql如出一辙。但是需要注意一点,由于多对多的特点,”大佬选了数据结构“之后不能重复选择数据结构,否则就产生了数据冗余。处理方式设置将课程和学号一起使用unique约束:
在这里插入图片描述
熟能生巧,然后总结自己数据库的设计与别人的数据库设计相比的不足(当然需要明白数据库的设计不是唯一的),数据库的设计没有太多的捷径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌空暗羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值