第二次作业评判
第14号作业:综合练习(二)
1.问题复述
1、创建数据库CPXS,保存于E盘根目录下以自己学号+姓第一个字母(阿拉伯数字+大写字母)方式创建的文件夹中,
初始大小5MB,最大20MB,以10%方式增长,
日志文件存于同一文件夹,初始大小2MB,最大5MB,以1MB方式增长;
2、创建表CP,CPBH为主键,8位数字,CPMC,长度12个字符,JG为精确到小数点后2位,KCL为整数,除了KCL,其他都不能为空;
3、使用INSERT输入数据,具体数据如下:
(略)
3、显示CP所有记录
4、显示“产品名称”和“产品总值”,其中产品总值=JG*KCL
5、显示“产品名称”和“产品价格”,其中产品价格=JG*0.8
2.知识回顾
简单的单表查询
1.了解为何要"查询"
2.查询的主要语句:SELECT
3.SELECT语句的简单用法
本次作业涉及内容
代码方式创建库,表,插入数据,查找数据(符合条件的数据)列与列的运算.(主要内容)
3.评分标准(有部分改动)
1.代码规范:大小写应用合理,换行有缩进,正确使用注释(如确实需要注释的话),作业按照命名规范(如果作业中明确提出要求)。
-----------可评价分数为0、0.5及1,由评判者裁定。
2.程序完整:按照题目要求完成了所有功能代码,没有遗漏,如作业要求完成对多个条件的查询,如果遗漏则按规则减分。
-----------可评价分数为0、0.5及1,由评判者裁定。
3.语法正确:在查询分析器中运行语法检查通过与否。 -----------可评价分数为0和1,通过为1,否则为0。
4.执行正确:在查询分析器中执行代码,检验其通过与否。 -----------可评价分数为0和2,通过为2,否则为0。
5.复议:对于上一步得0的作业,如果针对题目的代码本身没有问题,因为没有添加基础代码,如运行查询时没有提供建立数据库和表的代码导致不能运行,则检验其添加基础代码后是否能够运行,如果可以运行给0.5,1否则给0。
判定为抄袭者记0分,涉嫌抄袭的请尽快与老师联系
4.优秀程序展示
注:对原程序略有改动
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 create database CPXS 2 on 3 (name='CPXS', 4 filename='E:\171590103\CPXS_data.mdf', 5 size=5mb, 6 maxsize=20mb, 7 filegrowth=10%) 8 log on 9 (name='COXS_log', 10 filename='E:\171590103\CPXS_log.ldf', 11 size=2mb, 12 maxsize=5mb, 13 filegrowth=1mb) 14 go
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 use CPXS 2 create table CP 3 (CPBH char(8) not null primary key, 4 COMC char(12)not null , 5 JG decimal(6,2) not null, 6 KCL int null 7 ) 8 go
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 use CPXS 2 insert into CP 3 values('10001100', '冰箱A_100', 1500.00, 500) 4 insert into CP 5 values('10002120', '冰箱A_200', 1850.00, 200) 6 insert into CP 7 values('20011001', '空调K_1200', 2680.00, 300) 8 insert into CP 9 values('20012000', '空调K_2100', 3200.00, 1000) 10 insert into CP 11 values('30003001', '冰柜L_150', 5000.00, 100) 12 insert into CP 13 values('10001200', '冰箱B_200', 1600.00, 1200) 14 insert into CP 15 values('10001102', '冰箱C_210', 1890.00, 600) 16 insert into CP 17 values('30004100', '冰柜L_210', 4800.00, 200) 18 insert into CP 19 values('20001002', '空调K_3001', 3800.00, 280) 20 insert into CP 21 values('20001600', '空调K_1600', 4200.00, 1500) 22 go
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 use CPXS 2 select CPBH,CPMC,JG,KCL from cp 3 go 4 select CPMC as '产品名称',JG * KCL as '产品总值' from CP 5 go 6 select CPMC as '产品名称',JG * 0.8 as '折扣价格' from CP 7 go 8 select CPMC as '产品名称',JG * KCL*0.8 as '折后总价' from CP 9 go
5.个体情况
1,4班各有一位同学未交作业
6.整体评价(问题的总结与解决,同学代码优秀之处)
优秀代码解析:
大小写统一(关键词均为小写,建议大写),命名规范,审题清晰,代码分块,作业文件命名清晰符合老师要求.go的用法与decimal的用法正确.(insert可以不用写那么多次)
集中问题:
Q1:不知如何正确的表示两(多)位小数,不会使用decimal(p,a)
Q2:go的用途不清
Q3:审题不清
Q4:借鉴别人作业现象突出
解决方法:
A1:左图展现的是一个带小数的数字它在SQL语言中应当用decimal数据类型来保存,才不会丢失数据(不会将小数点后的56丢失)decimal(a,b)是正确的储存方式,
A2:1.每个被go分隔的语句都是"隔离"的,一部分语句失败不会影响其它部分语句的执行(go是分批处理的意思)
2.优点:即使部分代码出错,结果也可能是对的
3.特殊用法:其中A为整数,意味着被go夹住的代码被重复执行A遍
1 go A 2 select * from CP
A3:请同学们不要"赶"作业,写作业时多思考,多试验,这样审题的问题应该能得以解决
A4:初期借鉴可以但是不能直接复制粘贴,会严查抄袭.