数据库笔记--关系模式

  关系模式,只涉及到第三范式,是些很初步的一些东西,希望不会见笑大方 :-)

  1NF 是最基本的范式,没必要再说什么;对于一个已经满足 1NF 的关系模式,当消除了非主属性对码的部分函数依赖后,就属于 2NF 了;当消除了主属性对码的部分和传递依赖函数,它就属于 3NF 了。(因为软考只关心到第三范式,我也就到此为止)。

  光说理论总让人感觉很难受,举个例子的话会更好很多。
  下面这个关系隶属于1NF,因为所有属性都是简单属性。

    教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩)-主码是学号

  但是这个关系中有两个属性(课程名、成绩)不依赖于它的码(学号),即学号!→课程名,学号!→成绩,而应该是(学号,课程名)→成绩。所以我们接着分解使之满足 2NF 。

    学生_系(学号,姓名,年龄,性别,系名,系主任)-主码是学号
    选修(学号,课程名,成绩)-主码是学号+课程名

  在这个模式中,所以有非主属性都依赖于主码,但是,在“学生_系”中,还出现了一个传递依赖关系,学号→系名→系主任,再把这个传递依赖消除,所有的关系便满足 3NF 了。分解如下:

  学生(学号,姓名,年龄,性别,系名)-主码是学号
  系(系名,系主任)-主码是系名
  选修(学号,课程名,成绩)-主码是学号+课程名

  分解到这里,现在拥有的三个关系就是可以使用的关系了,因为第三范式基本上就是满足使用要求的最低范式了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值