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.表中的字段都不能传递依赖于该表主键


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 移动宽带密码重置后认证失败怎么办 移动光纤不记得账号和密码怎么办? 宽带为什么交了钱还是不能用怎么办 小孩被虎牙直播诱导支付了款怎么办 房间里4g网络信号差怎么办 移动4g网络信号不满格怎么办 大风号无法上传视频暂停服务怎么办 过了竞牌保证金交付时间怎么办 亚马逊产品上架后货物没到怎么办 工行企业网银证书过期了怎么办 海淘转运地址国家填错了怎么办 集装箱实重与申报重量不一样怎么办 微博复制的淘口令找不到了怎么办 买了移动手机不能用联通卡怎么办 移动手机用联通卡网速慢怎么办 移动手机插联通卡没反应怎么办 移动手机办了联通大王卡怎么办 qq被冻结但是有至尊宝怎么办 qq被冻结了有至尊宝怎么办 移动电话卡注销了里面的钱怎么办 罗麦的oa上经理喜报没截图怎么办 工行融e联登录密码忘了怎么办 融e借有额度秒拒怎么办 工行银行柜台办理融e借怎么办 地球末日生存破解版金币没了怎么办 手机被别人骗走了里面的微信怎么办 在微信里面被做微商的骗了钱怎么办 在qq上骗了人50怎么办 被3m多酶清洗液滴到皮肤怎么办 做3m赔了9万怎么办 在携程网上订的酒店发票怎么办 滴滴滴取消订单电话打不通怎么办 百度云容量2068g满了怎么办 淘宝电脑端描述图片间隔大怎么办 手机上下载游戏自动扣费怎么办 苹果手机下载游戏自动扣费怎么办 用手机账号登陆游戏换手机怎么办 在qq上被骗充q币怎么办 微信借钱后删了好友怎么办 财付通绑定了其它人的身份证怎么办 微信支付密码忘了没绑银行卡怎么办