SQL的题目 请帮帮
《SQL数据库应用》创建“货品销售系统”数据库,其结构信息如下:
供应商信息
字段名 数据类型 备注
编码 整型 以1为初值,增量为1的标识列;主键
名称 长度为20的字符串 不为空
联系人 长度为8的字符串 不为空
地址 长度为50的字符串
电话 长度为8的数字字符串
货品信息
字段名 数据类型 备注
编码 长度为3的数字字符串 主键
名称 长度为15的字符串 不为空
库存量 整形 默认为0
供应商编码 参照供应商信息表的编码字段
售价 整形 >0
成本价 整形 >0
部门信息
字段名 数据类型 备注
编号 长度为3的数字字符串 主键
名称 长度为15的字符串 不为空
经理 参照销售人员表的工号字段
人数 整形
销售人员
字段名 数据类型 备注
工号 长度为6的数字字符串 主键
部门号 参照部门信息表的编号字段
姓名 长度为8的字符串 不为空
地址 长度为50的字符串
电话 长度为8的数字字符串 不为空
性别 长度为2的字符串 只能取值为男|女
客户信息
字段名 数据类型 备注
编号 长度为3的数字字符串 主键
姓名 长度为8的字符串 不为空
地址 长度为50的字符串
电话 长度为8的数字字符串 不为空
订单信息
字段名 数据类型 备注
订单号 长度为3的数字字符串 主键
销售工号 参照销售人员表的工号
货品编码 参照货品信息表的编号
客户编号 参照客户信息表的编号
数量 整形 >0
订货日期 日期型 默认为系统当前日期
交货日期 日期型 不为空
对上述“货品销售系统”数据库的结构描述,生成表或其他对象,并在各表格中插入如下数据:
供应商信息
名称 联系人 地址 电话
朝阳文具实业公司 郑敏敏 哈尔滨市开发区 25152454
狂想电脑公司 赵明英 上海市浦东开发区 85475825
翱飞信息公司 章程东 深圳市龙岗区 3567288
神力电脑 王提新 重庆市长安路 95865241
飞翔汽车销售集团 许守国 天津市南开区 4567282
导向打印机销售公司 王打印 深圳市福田区 8596325
货品信息
编码 名称 库存量 供应商编码 售价 成本价
001 电脑台 80 1 1500 1100
002 打印机 900 6 800 600
003 移动办公软件 100 3 8000 6000
004 计算机 368 2 3000 2100
005 威驰轿车 20 5 140000 90000
006 电脑 20 4 140000 90000
部门信息
编号 名称 经理 人数
101 计算机销售部 101001
102 手机销售部 102002
301 打印机销售部 301003
销售人员
工号 部门号 姓名 地址 电话 性别
101001 101 李求一 北京市朝阳区 25152454 男
102002 102 王巧敏 北京市海淀区 25345656 女
301003 301 张零七 深圳市南山区 25152342 男
102004 102 钱守空 深圳市罗湖区 61254785 男
301005 301 周运 北京市魏公村 25369871 男
301006 301 鹏迎夏 北京市天坛 25154789 女
客户信息
编号 姓名 地址 电话
001 李暴烈 北京机车厂 3678288
002 任燕 深圳信息学院软件3班 95867412
003 李华 重庆长安厂 56487988
004 王兰 深圳信息学院软件4班 88459632
005 赵英 重庆电子学院 25154789
006 李红 上海大众 85475825
订单信息
订单号 销售工号 货品编码 客户编号 数量 订货日期 交货日期
001 101001 001 001 20 2003-05-05 2010-05-05
002 101001 006 002 10 2003-05-15 2009-02-15
003 301005 001 001 10 2003-05-14 2009-11-14
004 102002 004 003 5 2006-12-26 2009-12-26
005 102004 005 006 2 2004-01-08 2009-01-08
006 301005 003 005 2 2002-02-28 2009-02-28
完成下列操作:
1. 找出每份订单的销售人姓名,货品名,数量及销售金额;
2. 创建一存储过程CumOrderDays,根据订单号计算并返回离交货还剩多少天的剩余天数;
3. 如果销售人员每月的工资按基本工资(800元)+其在(本月内销售的总额-货品的成本)*10%计算,则统计一下每个销售人员2003-05月到手的工资(包括员工号,员工姓名,工资);
4. 统计每种货品的销售总数及总金额;
5. 找出2003年以来销售的货品名称及销售的总数;
6. 显示销售的订单总数大于等于2的员工所代理的客户信息;
7. 创建一触发器OrderInsertTrigger,当获得一订单(即在订单信息表中插入一行)时,若发现库存量不足,则不能插入,并给出提示信息,否则允许插入,同时修改库存量;并分别插入一行>库
存量的订单和<=库存量的订单用于验证;
8. 创建一触发器OrderDeleteTrigger,针对上题,若用户想要退单(即从订单信息表中删除一行),需离交货前一个月提出,若不足一月,则不允许退单;否则允许退单,同时修改货品的库存量
;分别进行验证;
9. 创建一函数PartSum,根据部门编号返回此部门的总人数;并通过此函数的调用设置部门信息表中每个部门的人数;
10. 创建一存储过程GustCursor,根据客户名,找出指定的客户信息,并以游标的方式返回其结果集。
[[it] 本帖最后由 凌舞 于 2008-12-14 10:49 编辑 [/it]]