数据库设计规范化:从E-R图到三大范式
需积分: 40 49 浏览量
更新于2024-08-15
收藏 2.32MB PPT 举报
"规范化示例--accp6.0-s2--MySchool数据库设计优化"
在数据库设计领域,规范化是一个至关重要的概念,它确保数据库结构的优化,避免数据冗余和异常,从而提高数据一致性、减少数据更新异常及保证数据完整性。在"规范化示例6-1"中,我们关注的是一个建筑公司的数据库设计,该公司的业务涉及到多个工程项目、职工信息以及工资计算。
首先,公司承担多个工程项目,每个工程包括工程号、工程名称和施工人员等信息。这暗示我们需要创建一个工程项目表,字段可能包括工程编号(主键)、工程名称、开工日期、预计结束日期等,以及关联施工人员的外键。
其次,公司有多名职工,每个职工有职工号、姓名、性别和职务。这意味着我们需要建立一个职工表,包含职工编号(主键)、姓名、性别、出生日期等字段,以及职务字段。职务可以进一步细分为工程师和技术员等,可能需要设立一个职务表,用于存储职务名称和对应的小时工资率。
在支付工资方面,工资由工时和小时工资率决定,而小时工资率取决于职工的职务。因此,我们需要在职工表中添加与职务表的关联,以便根据职工的职务查找相应的小时工资率。此外,可以创建一个工资计算表,记录职工的工时、工资率和工资总额等信息。
规范化的过程通常遵循一系列的范式,包括第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。1NF要求每个表的每个字段都不可再分;2NF要求消除部分依赖,即非主属性完全依赖于候选键;3NF要求消除传递依赖,即非主属性不依赖于其他非主属性。
在本章任务中,学生需要完成酒店管理系统和员工晋级系统的数据库结构设计。这涉及绘制E-R(实体-关系)图,这是一种直观表示实体(如工程项目、职工)及其相互关系的方法。E-R图通过实体、联系和属性来表达数据库的结构。然后,学生需要用三大范式对设计进行规范化,确保消除数据冗余和异常,最后将E-R图转化为关系模型,形成实际的数据库表结构。
学习本课程的目标是理解和熟练运用数据库设计的步骤,包括使用SQL语言创建数据库和表,理解数据库完整性的重要性,掌握各种SQL查询、事务处理、视图、存储过程的使用,以及如何通过规范化来优化数据库设计。这些技能对于成为专业的IT从业者至关重要,尤其是在开发和维护大型企业级应用时,良好的数据库设计能带来显著的性能提升和维护便利性。
2013-09-28 上传
2023-06-09 上传
2023-06-09 上传
2023-06-09 上传
2023-07-13 上传
2023-10-16 上传
2023-07-08 上传
2023-08-27 上传
Pa1nk1LLeR
- 粉丝: 62
- 资源: 2万+
最新资源
- WPF渲染层字符绘制原理探究及源代码解析
- 海康精简版监控软件:iVMS4200Lite版发布
- 自动化脚本在lspci-TV的应用介绍
- Chrome 81版本稳定版及匹配的chromedriver下载
- 深入解析Python推荐引擎与自然语言处理
- MATLAB数学建模算法程序包及案例数据
- Springboot人力资源管理系统:设计与功能
- STM32F4系列微控制器开发全面参考指南
- Python实现人脸识别的机器学习流程
- 基于STM32F103C8T6的HLW8032电量采集与解析方案
- Node.js高效MySQL驱动程序:mysqljs/mysql特性和配置
- 基于Python和大数据技术的电影推荐系统设计与实现
- 为ripro主题添加Live2D看板娘的后端资源教程
- 2022版PowerToys Everything插件升级,稳定运行无报错
- Map简易斗地主游戏实现方法介绍
- SJTU ICS Lab6 实验报告解析