E10 数据库设计与实现
-
选择一个应用局部,根据需求设计ER(EER)模型,并将其转换为关系模式。最后,在Mysql中创建一个数据库并添加一些初始数据。
-
问题1
自己找一个局部应用领域,列出它的需求,至少包含8个实体。
职员往往会涉及诸多的方面。人事职员负责一个职员的辞职;一个部门经理管理多位职员,每个职员必定会被部门经理管理;出勤记录将会管辖职员、人事职员以及部门经理的出勤,每位职员、人事职员以及部门经理都会有自己的多条出勤记录;发票需要职员自己申请报销,每个职员可能会有不止一条报销,有的可能就没有报销行为;发票经过会计审核后产生对应的销售记录,并送往财务职员处,财务职员审核后形成对应的财务记录。
财务记录具有以下属性:记录ID、记录人员、日期时间、内容;财务职员具有以下属性:职员ID;销售记录具有以下属性:记录ID、客户ID、日期时间、销售额;发票具有以下属性:发票ID、发票内容;职员具有以下属性:职员ID、职位、姓名、部门ID;部门经理具有以下属性:职员ID、管理部门ID;人事职员具有以下属性:职员ID;出勤记录具有以下属性:记录ID、日期时间、职员ID。 -
问题2
用软件工具按上述需求绘制能ER模型。
-
问题3
将ER模型转换为关系模式,结合规范化理论,设计关系模式,定义每个关系的主键和外键。每个模式至少满足3NF,请说明你设计的关系模式的规范化程度.
-
问题4
在Mysql中创建一个数据库实现以上所有的关系,并组织进合适的初始数据。并给出数据库实现的所有相关MYSQL脚本。
创建数据库以及表实现以上所有的关系:
financial_records表中插入合适的初始数据:
invoice表中插入合适的初始数据:
division_manager表中插入合适的初始数据:
financial_staff表中插入合适的初始数据:
sales_record表中插入合适的初始数据:
staff表中插入合适的初始数据:
personal_staff表中插入合适的初始数据:
attendence_record表中插入合适的初始数据: