- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库原理实践报告
学生学号:
学生姓名:
学生所在班级:
指导教师:
2013至2014年第一学期
实践任务
一、编程练习
假定有员工薪资表:
R(员工号,,基本薪资,附带薪资,房租,水电,应发薪资,税款,实发薪资)
缴纳个人所得税的规定以下:
个人收入5000,税率20%
个人收入2000,税率10%
个人收入800,税率5%
个人收入800,免税
薪资的计算方法:
1)应发薪资=基本薪资+附带薪资
2)采纳分段计算税款的算法,高出5000部分收20%,2000~5000之间部分收10%,以此类推。
3)实发薪资=应发薪资-税款
试编写一个简单SQL脚本程序,创立薪资表并达成计算实发薪资的任务。
二、事例设计
自主选择一种系统,达成需求剖析、观点设计、逻辑构造设计、规化(
的创立。
1.需求剖析(业务规则)
3NF)及数据库
生产管理系统的业务规则以下:
(1)一件产品能够由多个部件构成,一个部件能够组装多件不一样的产品。
(2)一件产品能够使用多种资料,一种资料能够用于多件不一样的产品。
(3)一个部件能够耗费多种资料,一种资料能够用于多个不一样的部件。
(4)一个库房能够寄存多种资料,一种资料能够寄存在多个库房中。
2.观点构造设计(E-R图)
1)实体集:工程、部件、供给商。
2)联系集:产品实体与部件实体之间是多对多联系“组装”,产品实体与资料实体之间是
多对多联系“使用”,部件实体与资料实体之间是多对多联系“耗费”,库房实体与资料实体之间是一对多联系“储存”。
3)局部E-R图
产品部件
产品号产品名价钱部件号部件名价钱
资料库房
资料号资料名价钱库房号库房名地点
m
组装
n
m
n
产品
部件
耗费
资料
m
使用
n
m
n
产品
资料
储存
库房
4)全局E-R图
产品与资料之间的使用联系可由产品与部件之间的组装联系以及部件与资料之间的消
耗联系推导出来,属于冗余联系,除去后获得全局E-R图。
部件数
产品
m
n
组装
部件
m
耗费
耗费量
n
资料
m
n
储存
库房
储存量
3.逻辑构造设计(关系模式)
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(FOREIGNKEY(
产品号产品号部件号
,部件号),
)REFERENCES产品(产品号
)REFERENCES部件(部件号
),
)
)
CREATETABLE耗费
(部件号INT,
资料号INT,
耗费量INT,
PRIMARYKEY(
部件号,资料号),
FOREIGNKEY(
部件号)REFERENCES部件(部件号),
FOREIGNKEY(
资料号)REFERENCES资料(资料号)
)
CREATETABLE储存
(
资料号库房号储存量
INT,
INT,
INT,
PRIMARYKEY(FOREIGNKEY(FOREIGNKEY(
资料号资料号库房号
,库房号),
)REFERENCES资料(资料号
)REFERENCES库房(库房号
),
)
)
GO
6.SQL编程
说明:依据所选系统,设计功能,分别用储存过程、触发器和游标达成。
1)储存过程
功能:依据指定库房号和资料号查问指定库房中指定资料的数目。
USE生产管理
GO
CREATEPROCEDURESTOREsidINT,midINT
AS
IFEXISTS(SELECT库房号FROM库房WHERE库房号=sid)ANDE
文档评论(0)