论坛首页 入门技术论坛

oracle辅导(2--2)

浏览 1189 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-03  

数据库设计

 

数据库表设计,把业务需求转换成可操作的表。

1,需求分析,了解客户的业务需求(业务技能)。

2,设计,通过ER图(实体关系图)

3,建表

4,测试

5,形成产品

 

ER

将一类事物的共性抽象处来成为一个实体,并且表现出来实体间的关系。

‘*’ 非空的字段

‘#’ 要求字段的值不能重复

‘o’ 可空,值不唯一

unique identifier 唯一的值

primary with    '#*' 唯一且非空

indispensable    必要的(也就是要求必须非空)

 

实体关系

one to one 一对一关联,one to many 一对多关联,many to many 多对多关联

反射关联,自身的属性之间的关联

 

ER图转换成表

 

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

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

 

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

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

 

约束

 

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

 

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

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

 

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

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

 

not null 非空约束,

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

 

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

 

典型的一对多 class 对应多个学生。

 

class table(班级表)

 

Class_id

(PK)

 

class_num

class_desc

 

 

 

 

 

student table (学生表)                    

Id

(PK)

name

address

Class_id

(FK)

 

 

 

 

 

 

 

一对一

 

 

student tabel  (学生表)         

Id

(PK)

 

Name

Addesss

 

 

 

 

xueshengzheng table(学生证表)

X_id

(FK,PK)

 

desc

Xuhao

 

 

 

 

 

引用student表的主键,当作本身的主键,所以这个xueshengzheng表的主键,既是主键又是外键。

 

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics