- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数据库原理实践报告
学生学号:
学生姓名:
学生所在班级:
指导教师:
2014至2015年第一学期
实践任务
一、编程练习
假设有职工工资表:
R(职工号,姓名,基本工资,附加工资,房租,水电,应发工资,税款,实发工资)
缴纳个人所得税的规定如下:
个人收入5000,税率20%
个人收入2000,税率10%
个人收入800,税率5%
个人收入800,免税
工资的计算方法:
(1)应发工资=基本工资+附加工资
(2)采取分段计算税款的算法,超出5000部分收20%,2000~5000之间部分收10%,以此类推。
(3)实发工资=应发工资-税款
试编写一个简单SQL脚本程序,创建工资表并完成计算实发工资的任务。
二、案例设计
自主选择一种系统,完成需求分析、概念设计、逻辑结构设计、规范化(3NF)及数据库的创建。
1.需求分析(业务规则)
生产管理系统的业务规则如下:
(1)一件产品可以由多个零件组成,一个零件可以组装多件不同的产品。
(2)一件产品可以使用多种材料,一种材料可以用于多件不同的产品。
(3)一个零件可以消耗多种材料,一种材料可以用于多个不同的零件。
(4)一个仓库可以存放多种材料,一种材料可以存放在多个仓库中。
2.概念结构设计(E-R图)
(1)实体集:工程、零件、供应商。
(2)联系集:产品实体与零件实体之间是多对多联系“组装”,产品实体与材料实体之间是多对多联系“使用”,零件实体与材料实体之间是多对多联系“消耗”,仓库实体与材料实体之间是一对多联系“存储”。
(3)局部E-R图
产品产品号
产品
产品号
产品名
价格
零件
零件号
零件名
价格
材料
材料号
材料名
价格
仓库
仓库号
仓库名
地址
产品
零件
材料
组装
m
n
消耗
m
n
产品
材料
仓库
使用
m
n
存储
m
n
产品与材料之间的使用联系可由产品与零件之间的组装联系以及零件与材料之间的消耗联系推导出来,属于冗余联系,消除后得到全局E-R图。
产品零件
产品
零件
组装
m
n
材料
仓库
存储
m
n
存储量
零件数
消耗
m
n
消耗量
(1)实体集转换为关系模式
产品(产品号,产品名,价格)
零件(零件号,零件名,价格)
材料(材料号,材料名,价格)
仓库(仓库号,仓库名,地址)
(2)联系集转换为关系模式
组装(产品号,零件号,零件数)
消耗(零件号,材料号,消耗量)
存储(材料号,仓库号,存储量)
4.规范化设计(3NF)
上述7个关系中均不存在非主属性对候选码的部分函数依赖和传递函数依赖,因此均已达到3NF要求,不需要进一步分解。
5.创建数据库(SQL脚本)
CREATEDATABASE生产管理
GO
USE生产管理
CREATETABLE产品
(产品号INT,
产品名CHAR(10),
价格INT,
PRIMARYKEY(产品号)
)
CREATETABLE零件
(零件号INT,
零件名CHAR(10),
价格INT,
PRIMARYKEY(零件号)
)
CREATETABLE材料
(材料号INT,
材料名CHAR(10),
价格INT,
PRIMARYKEY(材料号)
)
CREATETABLE仓库
(仓库号INT,
仓库名CHAR(10),
地址CHAR(10),
PRIMARYKEY(仓库号)
)
CREATETABLE组装
(产品号INT,
零件号INT,
零件数INT,
PRIMARYKEY(产品号,零件号),
FOREIGNKEY(产品号)REFERENCES产品(产品号),
FOREIGNKEY(零件号)REFERENCES零件(零件号)
)
CREATETABLE消耗
(零件号INT,
材料号INT,
消耗量INT,
PRIMARYKEY(零件号,材料号),
FOREIGNKEY(零件号)REFERENCES零件(零件号),
FOREIGNKEY(材料号)REFERENCES材料(材料号)
)
CREATETABLE存储
(材料号INT,
仓库号INT,
存储量INT,
PRIMARYKEY(材料号,仓库号),
FOREIGNKEY(材料号)REFERENCES材料(材料
文档评论(0)