Delphi7与数据库应用(二)

继续上一节,进行数据库的设计。
实体(7个):
电脑、内存、磁盘、显示器、主机(板)、CPU、其他(动态添加其他零件)
属性:
电脑<名称,电脑ID,内存ID,磁盘ID,显示器ID,主板ID,CPU ID,其他ID>
内存<名称,内存ID,电脑ID,生产日期,生产厂家,产品型号>
磁盘<名称,磁盘ID,电脑ID,生产日期,生产厂家,产品型号>
显示器<名称,显示器ID,电脑ID,生产日期,生产厂家,产品型号>
主板<名称,主板ID,电脑ID,生产日期,生产厂家,产品型号>
CPU<名称,CPU ID,电脑ID,生产日期,生产厂家,产品型号>
其他<名称,其他ID,电脑ID,生产日期,生产厂家,产品型号>

表设计(7张)
 电脑表
列名 数据类型 允许NULL
电脑ID nchar(30)
名称 nchar(20) √
内存ID nchar(30) √
磁盘ID nchar(30) √
主板ID nchar(30) √
显示器ID nchar(30) √
CPU ID nchar(30) √
其他ID nchar(30) √

 内存表
列名 数据类型 允许NULL
内存ID nchar(30)
名称 nchar(20) √
电脑ID nchar(30) √
生产日期 nchar(30) √
产品型号 nchar(30) √
生产厂家 nchar(30) √

 磁盘表
列名 数据类型 允许NULL
磁盘ID nchar(30)
名称 nchar(20) √
电脑ID nchar(30) √
生产日期 nchar(30) √
产品型号 nchar(30) √
生产厂家 nchar(30) √

 主板表
列名 数据类型 允许NULL
主板ID nchar(30)
名称 nchar(20) √
电脑ID nchar(30) √
生产日期 nchar(30) √
产品型号 nchar(30) √
生产厂家 nchar(30) √

 显示器表
列名 数据类型 允许NULL
显示器ID nchar(30)
名称 nchar(20) √
电脑ID nchar(30) √
生产日期 nchar(30) √
产品型号 nchar(30) √
生产厂家 nchar(30) √

 CPU表
列名 数据类型 允许NULL
CPU ID nchar(30)
名称 nchar(20) √
电脑ID nchar(30) √
生产日期 nchar(30) √
产品型号 nchar(30) √
生产厂家 nchar(30) √

 其他表
列名 数据类型 允许NULL
其他ID nchar(30)
名称 nchar(20) √
电脑ID nchar(30) √
生产日期 nchar(30) √
产品型号 nchar(30) √
生产厂家 nchar(30) √

规范到3NF,并证明
3NF即在2NF的基础上(非主键属性不能部分依赖于主键),非主键字段对任一主键不能传递函数依赖,非主键列必须直接依赖于主键,不能传递依赖。

本系统中,所有的表都只含一个主键(单主键表),所以满足2NF非主属性全部依赖于主属性,并且所有零部件表(内存表、磁盘表、显示器表、主板表、CPU表、其他表)的非主键列都直接依赖于对应表的主键列。在电脑表中,各零部件ID之间没有相互依赖,且都直接于电脑ID,所以整个系统满足3NF.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值