1某商场商品销售数据库有下面三个表.docx
《1某商场商品销售数据库有下面三个表.docx》由会员分享,可在线阅读,更多相关《1某商场商品销售数据库有下面三个表.docx(12页珍藏版)》请在冰豆网上搜索。
1某商场商品销售数据库有下面三个表
1某商场商品销售数据库有下面三个表
1.某商场商品销售数据库有下面三个表,EMP雇员表,ENO表示雇员号、ENAME表示雇员名、SALARY表示工资。
PRODUCT产品表,PNO表示产品号、PNAME表示产品名、PRICE表示产品价格。
SALE为销售表,ENO表示雇员号、PNO表示商品号、QTY表示雇员销售某种商品的数量。
各表的数据如下:
EMP表PRODUCT表
ENOENAMESALARYPNOPNAMEPRICE
101李勇999.5A3微波炉1800
102刘辰1000.5A1电视机2000
104欧阳长风500.55A4洗衣机800
103王敏800A2电冰箱1500
SALE表
ENOPNOQTY
104A42
102A43
过来(注意要保证数据库的完整性且对于SALE表中的数据不能删除只能修改)。
2.有一个学生选课数据库,其中包括下面3个表,Student表记录学生信息、Course表记录课程信息、SC表记录学生选课信息。
表1.1Student表数据
Sno
Sname
Ssex
Sage
Sdept
95001
李勇
男
20
CS
95002
刘晨
女
19
IS
95003
王敏
女
18
MA
95004
张立
男
19
IS
表1.2Course表数据
Cno
Cname
Cpno
Ccredit
1
数据库
5
4
2
数学
2
3
信息系统
1
4
4
操作系统
6
3
5
数据结构
7
4
6
数据处理
2
7
PASCAL语言
6
4
表1.3SC表数据
Sno
Cno
Grade
95001
1
52
95001
2
85
95001
3
88
95002
2
90
95002
3
80
95003
4
87
95003
5
92
试使用SQL语句在SQLServer中建立一个名为Student的数据库,在该数据库中建立上面3个表,要求每个表都建立主键,相应的表建立外键,并输入表中的数据并用SQL语句完成下列操作:
注意:
在做下面每个题时首先在E盘根目录下建一个文本文件,文件名规则为“年级+班级+姓名”,如你是03级1班的张三,文件名为“2003_01_张三”,同时将每题的SQL语句复制到该文件中。
(1)查询信息系(IS)全体学生的姓名。
(2)求年龄大于19岁的学生的学号。
(3)求计算机系年龄大于19岁的学生的学号。
(4)查询选修1号课的学生姓名。
(5)查全体男生的姓名,要求查询结果按所在系升序排序,对相同系的学生按年龄降序排序。
(6)查询每门课程的课程号及间接先修课号。
(7)查询既选修了1号课又选修了3号课的学生学号(用自身连接)。
(8)查询至少有两人选修的课程号(用自身连接)。
(9)查询一门课也没选的学生信息。
(用外连接)
(10)查询选修了“数据库”课且成绩不及格的学生姓名。
3.现要为学校建立一个数据库,设学校环境如下:
一个系有若干个专业,每个专业一年只招一个班,每个班有若干个学生。
.现要建立关于系、学生、班级的数据库,关系模式为:
学生STUDENT(学号,姓名,年龄,班号)
班CLASS(班号,专业名,系名,入学年份)
系DEPARTMENT(系号,系名)
试用SQL语言完成以下操作:
(1)建表,在定义中要求声明:
①每个表的主外码。
②学生的年龄介于15到40岁之间。
③学生姓名不能为空。
(2)插入如下数据
CLASS表的数据如下:
101,软件,计算机,1995; 102,微电子,计算机,1996;
111,无机化学,化学,1995; 112,高分子化学,化学,1996;
121,统计数学,数学,1995; 131,现代语言,中文,1996;
141,国际贸易,经济,1997; 142,国际金融,经济,1996;
STUDENT表的数据如下:
8101,张三,18,101; 8102,钱四,16,121;
8103,王玲,17,131; 8105,李飞,19,102;
8109,赵四,18,141; 8110,李可,20,142
8201,张飞,18,111; 8302,周瑜,16,112;
8203,王亮,17,111; 8305,董庆,19,102;
8409,赵龙,18,101; 8510,李丽,20,142)
DEPARTMENT表的数据如下:
001, 数学;
002, 计算机;
003, 化学;
004, 中文;
05,经济;
注意:
在做下面每个题时首先在E盘根目录下建一个文本文件,文件名规则为“年级+班级+姓名”,如你是03级1班的张三,文件名为“2003_01_张三”,同时将每题的SQL语句复制到该文件中。
(3)用SQL语句完成以下查询功能
①找出所有姓李的学生,并按其年龄由小到大排序。
②列出所有开设的专业超过两个的系的名字。
③列出学生人数大于等于2的系的编号和名称。
(4)学校又新增加了一个物理系,编号为006。
(5)学生张三转到化学系111班,请更新相关的表。
4.某商场商品库存数据库有下面三个表,WAREHOUSE仓库表,WNO表示仓库号、WNAME表示仓库名、WAREA表示仓库面积。
PRODUCT商品表,PNO表示商品号、PNAME表示商品名、PRICE表示商品价格。
STORE为库存表,WNO表示仓库号、PNO表示商品号、QTY表示仓库存放某种商品的数量。
各表的数据如下:
WAREHOUSE表PRODUCT表
WNOWNAMEWAREAPNOPNAMEPRICE
101东安门999.5A3微波炉1800
102西街1000.5A1电视机2000
104南桥500.55A4洗衣机800
103北塔800A2电冰箱1500
STORE表
WNOPNOQTY
104A42
102A43
102A13
103A23
101A33
101A11
102A35
102A21
使用SQL语句完成下列操作:
注意:
在做下面每个题时首先在E盘根目录下建一个文本文件,文件名规则为“年级+班级+姓名”,如你是03级1班的张三,文件名为“2003_01_张三”,同时将每题的SQL语句复制到该文件中。
(1)建立一个名为DEPARTMENT的数据库。
(2)在数据库中建立上述三个表(要求定义主码和外码)。
(3)将上面表中的数据插入到表中。
(4)在PRODUCT表的PRICE列上建立一索引,索引名为I_PRICE。
(5)定义一视图V1,要求从视图中能查询出面积最大的仓库的名称及仓库面积。
(6)定义一视图V2,要求从视图中能查询出存放商品”电视机”的仓库的情况。
(7)定义一视图V3,要求从视图中能查询出每个仓库的仓库名及所存放商品的总金额。
(8)WAREHOUSE表的”西街”仓库的仓库号应为”105”,请将其修改过来(注意要保证数据库的完整性且对于STORE表中的数据不能删除只能修改)。
5.建立一个名为TEACHING的数据库,包含下面三个表S、C和SC,它们分别表示学生、课程和学生选课。
SC:
S#
C#
GRADE
1001
C1
80
1001
C3
85
2001
C4
90
3002
C2
76
试用SQL语言完成下面操作:
注意:
在做下面每个题时首先在E盘根目录下建一个文本文件,文件名规则为“年级+班级+姓名”,如你是03级1班的张三,文件名为“2003_01_张三”,同时将每题的SQL语句复制到该文件中。
(1)建立TEACHING数据库,在其中建立上面3个表,要求为每个表定义主键,有关表定义外键。
定义下面完整性约束:
①学号范围为1000到9999;
②性别只能取“男”或“女”;
③成绩在0到100之间。
(2)查询选修“数据库”课程的学生姓名及成绩,要求成绩从高到低排列。
(3)查询至少有两人选修的课程号。
(4)查询至少选修“C1”和“C2”课程的学生学号。
(5)查询所有选修“周明”老师所教课程的学生姓名。
(6)查询“周明”老师所教各门课程的平均成绩。
(7)将选修“数据库”课程的学生成绩提高10%。
6.用SQL语句建立一个名为SPJ的数据库,其中包含下面四个表,要求定义主码和外码:
S(SNO,SNAME,CITY)
P(PNO,PNAME,COLOR,WEIGHT)
J(JNO,JNAME,CITY)
SPJ(SNO,PNO,JNO,QTY)
S表中有如下数据:
SNOSNAMECITY
S1精益天津
S2东方红北京
S3长虹上海
P表中有如下数据:
PNONAMECOLORWEIGHT
P1螺母红12
P2螺栓绿14
P3螺丝刀蓝10
J表中有如下数据:
JNOJNAMECITY
J1三建沈阳
J2造船厂长春
J3半导体厂哈尔滨
SPJ表中有如下数据:
SNOPNOJNOQTY
S1P1J1100
S1P2J1200
S2P2J2120
S3P3J180
S3P1J3100
用SQL语句完成下面查询:
注意:
在做下面每个题时首先在E盘根目录下建一个文本文件,文件名规则为“年级+班级+姓名”,如你是03级1班的张三,文件名为“2003_01_张三”,同时将每题的SQL语句复制到该文件中。
(1)查询所有供应商名及所在城市。
(2)查询所有零件的名称、颜色、重量。
(3)查询供应工程J1零件的供应商号码SNO;
(4)查询供应工程J1零件P1的供应商号SNO;
(5)查询使用供应商S1所供应零件的工程号码。
(6)查询供应工程J1红色零件的供应商号SNO;
(7)查询工程项目J2使用的各种零件的名称及其数量。
(8)查询上海厂商供应的所有零件的号码。
(9)查询使用上海产的零件的工程名称。
(10)查询没有使用天津供应商生产的红色零件的工程号JNO;
7.某软件公司聘任了若干雇员,每个雇员(EMP)的薪水根据其职务(TITLE)确定;公司承揽了若干工程(PROJ),每个工程有多个雇员参加,雇员也可以参加到多个项目中;公司需要记录雇员在项目中所负的责任(RESP)以及雇员参加项目的时间(DUR)。
公司为管理这些信息建立了一个名为COMPANY数据库,其中包含下面4个表:
EMP(雇员表)、PROJ(工程表)、PAY(薪水表)和ASG(雇员参加工程表),这4个表及具体数据如下:
PNO
PNAME
BUDGET
P1
中间件开发
500000
P2
数据库开发
300000
P3
网站设计
150000
P4
销售管理系统
200000
表1.1EMP表数据表1.2PROJ表数据
ENO
ENAME
TITLE
E01
刘小明
T3
E02
王大海
T2
E03
赵志广
T3
E04
李胜男
T1
E05
张黎明
T4
E06
钱坤
T2
E07
张英明
T1
E08
沈忱
T3
表1.3ASG表数据表1.4PAY表数据
ENO
PNO
RESP
DUR
E01
P1
经理
12
E02
P1
分析员
24
E02
P2
分析员
6
E03
P3
顾问
10
E03
P4
工程师
48
E04
P2
程序员
18
E05
P2
经理
24
E06
P4
经理
48
E07
P3
工程师
36
E08
P3
经理
40
TNO
TNAME
SAL
T1
系统分析员
40000
T2
软件设计师
34000
T3
程序员
27000
T4
数据库管理员
45000
试使用SQL语句在SQLServer中建立一个名为COMPANY的数据库,在该数据库中建立上面4个表,要求每个表都定义主码,相应的表定义外码,插入表中的数据并用SQL语句完成下列操作:
注意:
在做下面每个题时首先在E盘根目录下建一个文本文件,文件名规则为“年级+班级+姓名”,如你是03级1班的张三,文件名为“2003_01_张三”,同时将每题的SQL语句复制到该文件中。
(1)修改EMP表,增加一列EDATE用来记录雇员进入公司的日期。
(2)查询所有雇员的姓名、职务和年薪。
(3)查询年薪超过35000的雇员名。
(4)查询参加“数据库开发”项目的雇员名。
(5)在ASG表上建立一个名为RESP_DUR的索引,要求按RESP升序、DUR降序。
(6)查询参加2个(包括2个)以上项目的雇员信息。
(7)查询既参加了“P2”又参加了“P3”项目的雇员信息。
(8)查询至少有两人参加的项目号(用自身连接)。
(9)建立一个名为view_1的视图,要求能查询出没有参加任何项目的雇员信息。
(用外连接)
(10)建立一个名为view_2的视图,要求能查询参加“P3”项目且时间超过2年(24个月)的雇员信息。