数据库设计

第一范式,所有的属性都是单一值,属性只表示单一的意义。(记录可以重复,没有任何限制)没有任何约束

第二范式,某属性要求唯一且非空,(记录不可重复,但是数据可能会出现冗余)。主键约束

第三范式,非主属性只能依赖于主属性,不能依赖于其他非主属性。(解决数据冗余问题)

主键约束,属性分表,外键引用

约束

约束是针对表中的字段进行定义的,为了保证数据的完整性。

primary key (主键约束 PK)保证实体的完整性,保证记录的唯一

主键约束,唯一且非空,并且每一个表中只能有一个主键,有两个字段联合作为主键,只有两个字段的值放在一起可唯一标识记录,叫做联合主键。

foreign key (外建约束 FK)保证引用的完整性,

外键约束,外键的取值是受另外一张表中的主键或唯一值约束的,不能够取其他值,只能够引用主键或唯一键的值,被引用的表,叫做parent table(父表),引用方的表叫做child table(子表),要想创建子表,就要先创建父表,后创建子表,记录的插入也是如此,先父表后子表,删除记录,要先删除子表记录,后删除父表记录,要修改记录,如果要修改父表的记录要保证没有被子表引用。要删表时,要先删子表,后删除父表。

not null 非空约束,

unuque key(唯一键),值为唯一

index(索引)是数据库特有的一类对象,view(示图)

check约束

检查约束,可以按照指定条件,检查记录的插入。check中不能使用尾列,不能使用函数,不能引用其他字段。

例:create table sal (a1 number , check(a1>1000));


创建脚本
class table


create table class(

cid number,

class_num number,

desc varchar2(32),

primary key(cid)

);

student table



create table student(

id number,

name varchar2(32),

address varchar2(32)

class_id number,

primary key(id),

foreign key (class_id) references class(cid)

);


数据字典



数据字典是由系统维护的,包含的数据库的信息



数据字典示图

user_XXXXX 用户示图

all_XXXXX 所有示图

dba_XXXXX 数据库中所有示图

v$_XXXXX 动态性能示图

dist或 distionary 表示数据字典的数据字典。

user_constraints 用户的表中约束的表

其中有constraints_name字段存放的是约束名,r_constraints_name字段表示外键引用子何处

这两个字段之间有自连接的关系,也就是约束名和外键约束名之间的自连接。

user_cons_column表,是用户的列级约束表


alter table命令

alter table 命令用于修改表的结构(这些命令不会经常用):

增加字段:

alter table 表名 add(字段字,字段类型)

删除字段:

alter tbale 表名 drop column 字段; (8i 以后才支持)

修改字段

alter table 表名 modify( 字段,类型)

(此时应注意的问题,更改时要看具体值情况之间的转达换, 改为字符类型时,必须要为空)

not null约束是使用alter table .. modify (..,not null),来加上的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值