实验题目:存储过程

实验题目:存储过程

实验目的:熟悉存储过程的定义和使用,熟练运用 select  ,update ,insert ,delete 命令完成对学生信息数据库的查询、更新、添加、删除操作。

实验内容及要求(从下面10个题目中选一个)

题目一:

学生(学号,年龄,性别,系名)

课程(课号,课名,学分,学时)

选课(学号,课号,成绩)

根据上面基本表的信息定义一个存储过程,完成下面功能:

入口参数:学号

1 显示学生的选课信息

2 如果学生没选课,让他选1号课,插入一条选课记录,成绩为0

3 如果学生所有课都不及格,删掉该学生记录

题目二:

图书(书号,书名,价格,出版社)

读者(卡号,姓名,年龄,所属单位)

借阅(书号,卡号,借阅日期)

根据上面基本表的信息定义一个存储过程,完成下面功能:

入口参数:书号

1 显示图书借阅信息

2 如果没人借,删除该书记录

3 如果价格5元以下,涨价至5元。

题目三:

商品(编号,品名,进价,库存,售价,厂商编号)

顾客(卡号,姓名,电话,积分)

厂商(编号,厂址,名称、电话)

销售(顾客卡号,商品编号,数量,日期)

根据上面基本表的信息定义一个存储过程,完成下面功能:

入口参数:商品编号

1 显示商品信息

2 如果没人买,删除该商品记录

3 如果价格低于10元,涨价至10元。

题目四:

图书(书号,书名,作者编号,价格,出版社编号)

作者(编号,姓名,电话)

出版社(编号,出版社名称,地址)

根据上面基本表的信息定义一个存储过程,完成下面功能:

入口参数:出版社编号

1 显示出版社信息

2 如果没书出版,删除该记录

3 如果该出版社的图书平均价格低于20元,所有书涨价10%。

题目五:

零件(编号,名称,颜色)

车间(编号,名称,人数,主任)

产品(编号,名称,车间编号)

使用(产品编号,使用零件编号,个数)

根据上面基本表的信息定义一个存储过程,完成下面功能:

入口参数:零件编号

1 显示零件信息

2 如果没有产品用,删除该零件记录

3 如果颜色为红色,改为粉红。

题目六:

药品(编号,名称,价格,厂商)

处方(药品编号,数量,医生编号)

医生 (编号,姓名,科室,职称)

根据上面基本表的信息定义一个存储过程,完成下面功能:

入口参数:药品编号

1 显示药品信息

2 如果没有处方开此药,删除该药品记录

3 如果价格高于10元,降价至10元。

题目七:

学生(学号,年龄,性别,系名)

教材(编号,书名,出版社编号,价格)

订购(学号,书号,数量)

出版社(编号,名称,地址)
根据上面基本表的信息定义一个存储过程,完成下面功能:

入口参数:教材编号

1 显示教材信息

2 如果没人买,删除该教材记录

3 如果价格低于10元,涨价至10元。

题目八:

员工(编号,姓名,性别,年龄,部门编号,年薪)

部门(编号,名称,人数,负责人)

项目(编号,名称,负责部门编号)

根据上面基本表的信息定义一个存储过程,完成下面功能:

入口参数:员工编号

1 显示员工信息

2 如果没有参加项目,调入1号项目所属部门

3 如果年薪低于1万元,涨价至1万元。

use 雇员信息数据库
go
create procedure ManageMedical @id int
as
if @id not in(select 员工编号 from 员工)
begin
print('没有该员工')
return 
end

select * 
from  员工 
where 员工编号 = @id

declare @count int
select @count = COUNT(*) from 员工 where 员工编号 = @id

if(@count = 0)  
update 员工
set 部门编号 = 01
from 员工
where 员工编号= @id;

else
begin
    declare @price money
    select @price = 年薪
    from 员工 
    where 员工编号 = @id
    
    if (@price <10000) 
    update 员工 
    set 年薪 = 10000 
    where 员工编号 = @id
end
go

题目九:

帐户(编号,姓名,余额,建立日期,储蓄所编号)

储蓄所(编号,名称,地址,人数,所属城市)

借贷(帐户,借贷类型,金额,日期)

根据上面基本表的信息定义一个存储过程,完成下面功能:

入口参数:储蓄所编号

1 显示储蓄所信息

2 如果没有帐户,删除该储蓄所记录

3 如果帐户余额总额低于100万元,开一个新帐户,。

题目十:

仓库(编号,保管员编号,面积)

保管员(编号,姓名,年龄,电话、月薪)

商品(编号,品名,仓库编号、数量,单价)

根据上面基本表的信息定义一个存储过程,完成下面功能:

入口参数:仓库编号

1 显示仓库信息

2 如果没有商品存放,删除该记录

3 如果面积低于100平米,设为100。

实验指导

1  变量的申请和使用

 例: Declare @var1   int  ,@ var2   money

         Select   @var1=100 ,@ var2=$29.95

           Select   @var1 ,@ var2

2  定义存储过程

   例1:create procedure check-contact  @pare  varchar(40)

       As

              If ( select contact from authors where au-lname =@pare)

              Return 1

              Else

Return  -100

实验报告要求:

1 定义存储过程的步骤

2 写出存储过程的定义、测试数据、执行结果。

遇到的问题及解决方法

注意事项:

1 定义存储过程后,数据库中数据对象的变化,及其调试过程出错,如何修改存储过程。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
实验报告:数据预处理 实验题目:数据预处理 实验目的和要求: 1、掌握数据合并的基本原理与方法 2、掌握数据清洗的基本方法 3、掌握数据标准化方法 4、掌握数据转换的常用方法 实验过程: 数据预处理是数据分析的第一步,也是最为重要的一步。因为在数据分析过程中,原始数据往往存在着各种问题,例如:缺失值、异常值、重复值等,这些问题会对数据分析的结果产生较大的影响。因此,进行数据预处理是非常必要的。 本次实验的数据集包括两个表格,一个是“销售数据表格”,一个是“产品数据表格”。我们需要进行的任务是将这两个表格进行合并,并进行数据清洗、标准化和转换。 首先,我们需要将两个表格进行合并。在本次实验中,我们使用的是R语言中的dplyr包进行数据合并。具体代码如下: sales_data <- read.csv("sales_data.csv", header = T, stringsAsFactors = F) product_data <- read.csv("product_data.csv", header = T, stringsAsFactors = F) library(dplyr) merge_data <- inner_join(sales_data, product_data, by = "Product_ID") 上述代码中,我们首先使用read.csv函数读取了两个表格中的数据,并将其存储在sales_data和product_data中。然后,我们使用dplyr包中的inner_join函数将这两个表格按照Product_ID进行合并,并将结果存储在merge_data中。 接下来,我们需要对数据进行清洗。在本次实验中,我们需要处理的问题是缺失值和异常值。具体代码如下: # 缺失值处理 merge_data[is.na(merge_data$Sales), "Sales"] <- mean(merge_data$Sales, na.rm = T) # 异常值处理 q1 <- quantile(merge_data$Sales, 0.25, na.rm = T) q3 <- quantile(merge_data$Sales, 0.75, na.rm = T) iqr <- q3 - q1 merge_data <- merge_data[merge_data$Sales >= q1 - 1.5 * iqr & merge_data$Sales <= q3 + 1.5 * iqr, ] 上述代码中,我们首先使用is.na函数判断Sales列是否存在缺失值,如果存在则使用mean函数将缺失值填充为Sales列的平均值。然后,我们使用quantile函数计算Sales列的四分位数(q1和q3),并计算出IQR(iqr = q3 - q1)。最后,我们使用逻辑运算符&过滤出Sales列中不超过1.5倍IQR的数据。 接下来,我们需要对数据进行标准化。在本次实验中,我们使用的是z-score标准化方法。具体代码如下: # 标准化处理 merge_data$Sales <- (merge_data$Sales - mean(merge_data$Sales)) / sd(merge_data$Sales) 上述代码中,我们使用mean函数计算Sales列的平均值,并使用sd函数计算Sales列的标准差。然后,我们将Sales列中的每个值减去平均值,并除以标准差,即可完成z-score标准化。 最后,我们需要对数据进行转换。在本次实验中,我们需要对Sales列进行对数转换。具体代码如下: # 对数转换处理 merge_data$Sales_log <- log(merge_data$Sales + 1) 上述代码中,我们使用log函数对Sales列进行对数转换,并将结果存储在Sales_log列中。 实验结果: 通过本次实验,我们成功实现了数据预处理的任务,包括数据合并、数据清洗、数据标准化和数据转换。最终得到的数据集可以用于进行进一步的数据分析,如建立回归模型、聚类分析等。 结论: 数据预处理是数据分析的第一步,也是最为重要的一步。通过对数据进行合并、清洗、标准化和转换,可以提高数据的质量和可靠性,从而更好地支持后续的数据分析工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值