您好,欢迎访问三七文档
关系数据库›在关系数据库中,信息存储在二维表格中;一个关系数据库包含一个或多个二维表格;一个表格又包含若干行和列。关系数据库中的几个基本概念›行:也称元组,记录,不允许两行中的元素相同。›列:也称字段,属性,有列名,不能重复。›关键字:通称为主键,唯一的表示了表中的一行。›外键:另外表的关键字,表示表间的联系。如何设计出合理的数据库表格呢?数据库范式了解数据库范式的概念和分类理解数据库三大基本范式创建满足三大范式的数据库表为了减少数据冗余、避免操作异常,我们在设计数据库时必须遵循一定的规则,这种规则称为范式第一范式(1NF)第二范式(2NF)三大基本范式第三范式(3NF)Boyce-Codd范式(BCNF)第四范式(4NF)第五范式(5NF)工号姓名职位工资001李刚总经理15000002韩东副经理10000003张伟,宋鑫工程师10000第一范式是指数据库表中的所有字段都是不可分的数据项,同一列中不能有多个值表:员工工资表不满足1NF案例:“工资”实际由“基本工资”和“岗位津贴”组成“姓名”列不能包含多个值工号姓名职位基本工资岗位津贴001李刚总经理100005000002韩东副经理70003000003张伟工程师50000004宋鑫工程师50000调整:将“工资”拆分为“基本工资”和“岗位津贴”;拆分张伟和宋鑫表:员工工资表读者ID图书ID图书名称读者姓名工作单位借阅日期归还日期D001T001JAVA李爽华南科技2013/7/12013/7/31D002T002C#韩勇东泰科技2013/7/152013/8/15D003T003数据库张刚亚星科技2013/7/312013/8/31数据库表满足第一范式,并且每一列都依赖主键,联合主键时每一列不能只与主键的部分相关,我们称满足第二范式(2NF)不满足2NF案例:“图书名称”,“借阅日期”,“归还日期”仅与图示ID相关表:读者资料表读者编号读者姓名工作单位D001李爽华南科技D002韩勇东泰科技D003张刚亚星科技图书编号图书名称借阅日期归还日期T001JAVA2013/7/12013/7/31T002C#2013/7/152013/8/15T003数据库2013/7/312013/8/31表:读者资料表表:图书信息表调整:拆分为“读者资料表”,“图书信息表”订单ID商品名称客户姓名单价数量总额D001笔记本电脑孙立50001050000D002激光打印机催顺8000216000D003喷墨打印机岳祥300039000D004笔记本电脑宋鑫5000525000数据库表已经满足第一范式,并且每一列数据都和主键直接依赖,非主键字段不存在函数依赖关系,我们称满足第三范式(3NF)表:订单信息表不满足3NF案例:“订单额”与主键不是直接相关,依赖于单价和数量订单ID商品名称数量总额D001S0011050000D002S002216000D003S00339000D004S001525000调整:拆分为“订单信息表”和“商品价格表”表:订单信息表商品ID商品名称单价S001笔记本电脑5000S002激光打印机8000S003喷墨打印机3000表:商品价格表1NF字段不能再分2NF不能部分依赖3NF不可以有函数传递依赖管理员仓库管理工号姓名投影机笔记本打印机根据如下关系模式设计仓库管理系统的数据表,一个管理员仅管理一个仓库,一个仓库仅存放一类物品
本文标题:三大范式
链接地址:https://www.777doc.com/doc-5490057 .html