题目

​ 设学校环境如下: 一个系有若干个专业,每一个专业只属于一个系。每个专业一年只招一个班,每个班有若干名学生。一个系的学生住在同一个宿舍区,每个学生可以参加几个学会,一个学会有若干学生。现在要建立关于系、学生、班级、学会的数据库,关系模式为:

班(班号,专业名,系名,班人数,入学年份)
学生(学号,姓名,出生日期,系名,班号,宿舍区)
系(系号,系名,办公室,系人数)
学会(学会名,成立时间,地点,会员数)
# 学生参加各学会要注明入会年份

题干

找出各个关系的候选码

  1. 班(班号,专业名,系名,班人数,入学年份)(班号)或(专业名,入学年份)
  2. 学生(学号,姓名,出生日期,系名,班号,宿舍区)(学号)
  3. 系(系号,系名,办公室,系人数)(系号)或(系名)(系号,系名)
  4. 学会(学会名,成立时间,地点,会员数)(学会名)

请写出每个关系模式的函数依赖,分析是否存在部分依赖,是否存在传递依赖.

  1. 班(班号,专业名,系名,班人数,入学年份)

    1. 班号→专业名, 班号→班人数, 班号→入学年份
    2. 专业名→系名
    • (专业名,入学年份)f→ 班号

    • 班号→专业名, 专业名≠>班号, 专业名→系名。班号 t→ 系名

  2. 学生(学号,姓名,出生日期,系名,班号,宿舍区)

    1. 学号→姓名, 学号→出生日期, 学号→班号
    2. 系名→宿舍区
    3. 班号→系名
    • 学号→系名,系名≠>学号,系名→宿舍区。学号 t→ 宿舍区
    • 班号→系名,系名≠>班号,系名→宿舍区。班号 t→ 宿舍区
    • 学号→班号,班号≠>学号,班号→系名。 学号 t→ 系名
  3. 系(系号,系名,办公室,系人数)

    1. 系号↔系名, 系号→办公室, 系号→系人数
  4. 学会(学会名,成立时间,地点,会员数)

    1. 学会名→成立时间, 学会名→地点, 学会名→会员数

对该关系模式进行规范化,并使规范化后的数据模型属于3NF关系模式

  1. 班(班号专业名,入学年份)
  2. 学生(学号,姓名,出生日期,班号
  3. 系(系名,系号,办公室, 宿舍区)
  4. 学会(学会名,成立时间,地点)
  5. 学号-学会(学号,学会名,入会年份)
  6. 专业(专业名系名

数据库三范式设计习题相关推荐

  1. 如何在数据库三范式的基础上进行数据库冗余设计

    数据库设计过程中不仅要考虑遵循第三范式,还要考虑是否冗余 很多数据库设计书籍都强调数据库设计三范式,而三范式的一个重要工作就是消除冗余,可以消除冗余在大多数情况下是正确的.当在实际的业务模型中,处理复 ...

  2. python学习笔记 day44 数据库三范式

    参考自 https://www.cnblogs.com/wangfengming/articles/7929118.html 1. 数据库三范式概念: 为了建立减少冗余,结构合理的数据库,涉及数据库时 ...

  3. 为什么我不喜欢数据库三范式

    插曲 最近,一个远房亲戚的小表弟准备选修专业 找到我问: "哥,现在学数据库有没有前途阿?""当然有啊,前途大大的呢""那我现在开始学数据库,需要先从 ...

  4. MySQL笔记(七)数据库三范式

    这是我在学习Mysql之路上做的笔记,今天将它粘出来.这一篇主要是数据库三范式.有错误的欢迎大家指出... 数据库三范式 (1)第一范式(1NF): 定义:每一列都是不可分割的原子数据项(强调的是列的 ...

  5. 数据库三范式 无重复列 完全依赖主键 属性不依赖非主属性

    参考:http://www.cnblogs.com/xrq730/p/5100442.html 细说数据库三范式 2.1 第一范式(1NF)无重复的列,保证每列的原子性,即每一列的各个属性值之间不能有 ...

  6. 数据库三范式通俗理解 -数据库三范式官方定义

    数据库三范式 官方定义 第一范式(1NF):数据库表中的字段都是单一属性的,不可再分. 第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖 第三范式(3NF):在第二范式的 ...

  7. MySql——数据库三范式

    用于自己学习时的简单解释 数据库三范式:是数据库的设计原则,主要目的是为了避免数据冗余. 数据库的设计应当遵循三范式 第一范式:任何一张表都应该有主键,每一个字段必须具有原子性不可再分 第二范式:在第 ...

  8. 三句话归纳数据库三范式

    数据库三范式,网友已经总结n多了,这里不再赘述. 其实,归纳起来,就三句话: 一:行不可再分 二:列不可再分 三:列不可重复

  9. 从数据库三范式角度分析一对多、多对多和一对一关系

    文章目录 前言 一.三范式的目的 二.三范式及其对应关系 1.第一范式 2.第二范式 3.第三范式 4.一对一关系 总结 前言 几乎绝大多数项目的最终目的都是通过操作数据库来实现的,所以,操作数据库的 ...

最新文章

  1. fastlane自动打包--详细介绍
  2. 总结FormsAuthentication的使用
  3. mysql5.7 too many_Mysql 错误too many connections解决方案
  4. don't run elasticsearch as root
  5. 效率低的日子怎么办?
  6. sql用户名数据迁移到mysql_如何将SQL Server数据迁移到MySQL
  7. 禁用linux的密码策略
  8. mysql 部署最佳实践_MySQL安装脚本最佳实践
  9. Google Chrome 所有版本下载
  10. 解决ojdbc7依赖下载失败
  11. snap7读写西门子plc1200步骤(python) PLC通讯
  12. android日记论文摘要,毕业设计(论文)-基于android的日记本的设计与开发.doc
  13. 番外篇 之 实现Unity和Android进行交互(基于Android Studio 3.1.1以及Jar包方式)
  14. 贝尔维尤游戏巨头融资2亿美元!
  15. 七大黄金定律与产品设计
  16. 必备的 6 大计算机网络基础知识点!会 3 个以上就很牛逼了
  17. 使用POI 删除批注
  18. android视频添加字幕,视频加字幕手机app
  19. 什么是404页面,如何正确设置制作404页面
  20. 用matlab代码写一下jackknife方法的校正步骤?、

热门文章

  1. 常用的时间复杂度所耗费的时间由小到大
  2. 应用统计学与R语言实现学习笔记(五)——参数估计
  3. python调用百度AI识别文字和表格
  4. windows10未激活更换壁纸
  5. 支付宝牵头,近30亿红包等你领,攻略全在这里了!
  6. [源码、文档、分享] iOS/iPhone学习系列、代码教程(转)
  7. win10 中文显示乱码解决
  8. 炽热如初 向新而生|ISC2022 HackingClub白帽峰会圆满举办
  9. 用python输出所有的玫瑰花数_python玫瑰花
  10. 用C#制作PDF文件全攻略 .