您的当前位置:首页正文

数据库原理实践报告参考格式

2024-06-26 来源:星星旅游

数据库原理实践报告参考格式

数据库原理实践报告

学生学号:

学生姓名:

学生所在班级:

指导教师:

2014至20__年第一学期

实践任务

一、编程练习

假设有职工工资表:

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图

(4)全局E-R图

产品与材料之间的使用联系可由产品与零件之间的组装联系以及零件与材料之间的消耗联系推导出来,属于冗余联系,消除后得到全局E-R图。

3.逻辑结构设计(关系模式)

(1)实体集转换为关系模式产品(产品号,产品名,价格)零件(零件号,零件名,价格)材料(材料号,材料名,价格)

仓库(仓库号,仓库名,地址)

(2)联系集转换为关系模式组装(产品号,零件号,零件数)消耗(零件号,材料号,消耗量)存储(材料号,仓库号,存储量)

4.规范化设计(3NF)

上述7个关系中均不存在非主属性对候选码的部分函数依赖和传递函数依赖,因此均已达到3NF要求,不需要进一步分解。

5.创建数据库(SQL脚本)

CREATEDATABASE生产管理

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材料(材料号),

FOREIGNKEY(仓库号)REFERENCES仓库(仓库号)

6.SQL编程

说明:根据所选系统,设计功能,分别用存储过程、触发器和游标完成。

(1)存储过程

功能:根据指定仓库号和材料号查询指定仓库中指定材料的数量。USE生产管理

CREATEPROCEDURESTORE@sidINT,@midINT

以下省略

......

(2)触发器和游标(也可以分开设计功能)

USE生产管理

CREATETRIGGERSON存储FORUPDATE

以下省略

......

实践总结