文档库 最新最全的文档下载
当前位置:文档库 › 数据库上机题

数据库上机题

数据库上机题
数据库上机题

一、要求:

1、上机前写好题目答案,上机验证;

2、上机后写好实验报告(手写),内容是题目结果;

3、每个同学做的ACCESS程序,文件名为姓名学号,每班一个文件夹,压缩后发给我。

二、内容

实验一

在ACCESS环境下写出创建如下3张表的SQL语句:

(1)“图书表”结构如下:

书号:文本型,长度为6,主码;

书名:文本型,长度为30,非空;

第一作者:文本型,长度为10,非空;

出版日期:日期时间型;

价格:定点小数,小数部分1位,整数部分3位。

(2)“书店表”结构如下:

书店编号:文本型,长度为6,主码;

店名:文本型,长度为30,非空;

电话:文本型,8位长,每一位的取值均是0-9的数字;

地址:文本型,40位长;

邮政编码:文本型,6位长。

(3)“图书销售表”结构如下:

书号:文本型,长度为6,非空;

书店编号:文本型,长度为6,非空;

销售日期:日期时间型,非空;

销售数量:整型,大于等于1;

主码为(书号,书店编号,销售日期);

其中“书号”为引用“图书表”的“书号”的外码;

“书店编号”为引用“书店表”的“书店编号”的外码。

实验二

请参照实验一设计图书借阅系统。

要求实现:

1、在ACCESS下设计相应的数据表。

2、在表中添加数据,比如“图书表”中添加几本图书信息等。

3、在ACCESS下设计表之间的关系。

4、在ACCESS下设计查询:根据书名模糊查询图书信息,根据销售时间查询销

售数据。

实验三

在ACCESS下写出创建Student、Course和SC表的SQL语句,并建立数据库1、Student:

Sno 学号文本长度7 主键

Sname 姓名文本长度10 非空

Ssex 性别文本长度2

Sage 年龄整数

Sdept 系文本长度20

2、Course:

Cno 课程号文本长度6 主键

Cname 课程名文本长度20

Credit 学分整数

Semster 学期整数

3、SC:

Sno 学号文本长度7 主键,引用student外码

Cno 课程号文本长度6 主键,引用Course外码

Grade 成绩实数

实验四

采用上文的Student、Course和SC表,添加相应的数据,在ACCESS下实现如下查询操作。

1、查询学生选课表中的全部数据。

2、查询计算机系的学生的姓名、年龄。

3、查询成绩在70-80分之间的学生的学号、课程名和成绩。

4、查询计算机系年龄在18-20之间且性别为“男”的学生的姓名、年龄。

5、查询课程号为“c01”的课程的最高的分数。

6、查询计算机系学生的最大年龄和最小年龄。

7、统计每个系的学生人数。

8、统计每门课程的选课人数和考试最高分。

9、统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。

10、查询总成绩超过200分的学生,要求列出学号、总成绩。

11、查询选修了“c02”号课程的学生的姓名和所在系。

12、查询成绩80分以上的学生的姓名、课程名和成绩,并按成绩降序排列结果。

13、查询哪些学生没有选课,要求列出学号、姓名和所在系。

14、查询与VB在同一学期开设的课程的课程名和开课学期。

15、查询查询与李勇年龄相同的学生的姓名、所在系和年龄。

16、用子查询实现如下查询:

(1)查询选修了“c01”号课程的学生的姓名和所在系。

(2)查询数学系成绩80分以上的学生的学号、姓名、课程号、成绩。

(3)查询计算机系考试成绩最高的学生的姓名。

(4)查询数据结构考试成绩最高的学生的姓名、所在系、性别和成绩。

17、查询没有选修VB课程的学生的姓名和所在系。

18、查询计算机系没有选课的学生的姓名和性别。

19、将第2学期开设的所有课程的学分增加2分。

20、将信息系学生的“计算机文化学”课程的考试成绩加5分。

数据库上机实验报告

数据库实验 (第三次) 题目1 实验内容: 1. 检索上海产的零件的工程名称; 2. 检索供应工程J1零件P1的供应商号SNO; 3. 检索供应工程J1零件为红色的供应商号SNO; 4. 检索没有使用天津生产的红色零件的工程号JNO; 5. 检索至少用了供应商S1所供应的全部零件的工程号JNO; 6. 检索购买了零件P1的工程项目号JNO及数量QTY,并要求对查询的结果按数 量QTY降序排列。

1 select jname from j where jno in (select jno from spj where sno in (select sno from s where city ='上海' ) ); 2 select sno from spj where jno ='j1'and pno ='p1' 3

selectdistinct sno from spj where pno in (select pno from p where color='红'and pno in (select pno from spj where jno ='j1' ) ); 4 selectdistinct jno from spj where pno notin (select pno from p where color ='红'and pno in (select pno from spj where sno in (select sno from s where city ='天津' ) ) )

5 select jno from spj where sno ='s1' 6 select jno,qty from spj where pno ='p1' orderby qty desc 四﹑思考题 1.如何提高数据查询和连接速度。 建立视图 2. 试比较连接查询和嵌套查询 有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比 嵌套查询高出很多 当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。但是相比于连接运算,目前商用关系数据库管理系统对嵌套查询的优化做的还不够完善,所以在实际应用中,能够用连接运算表达的查询尽可能采用连接运算。

全国计算机三级数据库技术上机试题100道

1.【考点分析】本题考查对4位整数的排序。考查的知识点主要包括:数组元素的排序算法,if判断语句和逻辑表达式,以及求余算术运算。 【解题思路】此题属于4位数排序问题。本题需主要解决3个问题:问题1如何取4位数的后3位进行比较;问题2如何按照题目要求的条件(按照每个数的后3位的大小进行降序排列,如果后3位相等,则按照原始4位数的大小进行升序排列)排序;问题3如何将排完序的前10个数存到数组bb中去。 本题的解题思路为:使用双循环对数组按条件进行排序,然后将排完序的前10个数存到数组bb中。对于问题1可以通过算术运算的取余运算实现(aa[i]%1000);问题2通过包含if判断语句的起泡排序法就可以实现。 【参考答案】 void jsSort() { int i,j; /*定义循环控制变量*/ int temp; /*定义数据交换时的暂存变量*/ for(i=0;i<199;i++) /*用选择法对数组进行排序*/ for(j=i+1;j<200;j++) { if(aa[i]%1000aa[j]) /*则要按原4位数的值进行升序排序*/ { temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; } } for(i=0;i<10;i++) /*将排序后的前10个数存入数组b中*/ bb[i]=aa[i]; } 【易错提示】取4位数后三位的算法,if判断语句中逻辑表达式的比较运算符。 2.【考点分析】本题主要考查的知识点包括:C语言循环结构,if判断语句和逻辑表达式,以及分解多位整数的算术运算。 【解题思路】分析题干,本题除给出条件"SIX+SIX+SIX = NINE+NINE"之外,还可得出2个隐含的条件:条件1:SIX和NINE分别是3位和4位的正整数;条件2:SIX的十位数字等于NINE的百位数字,NINE的千位数字和十位数字相等。 本题解题思路:通过嵌套的循环结构可以遍历到所有的3位和4位数,对于每一个3位数及4位数的组合进行题设条件(SIX+SIX+SIX = NINE+NINE)的判断,满足条件的对其分解得到各数位的数字,再进一步判断各位数字是否满足本题隐含的条件(条件1及条件2),如果满足则个数加1,并将该3位数及4位数添加到和值中。 【参考答案】 void countValue() { int i,j; int s2; int n2,n3,n4; for(i=100;i<1000;i++)

数据库SQL实验题目

实验一数据定义操作 实验目的 1.掌握数据库和表的基础知识 2.掌握使用创建数据库和表的方法 3.掌握数据库和表的修改、查看、删除等基本操作方法 实验内容和要求 一、数据库的创建 在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示: Grademanager数据库参数表 参数参数值参数参数值 存储的数据文件路 径 D:\db\ 存储的日志文件路径D:\db\ 数据文件初始大小5MB 日志文件初始大小2MB 数据文件最大值20MB 日志文件最大值15MB 数据文件增长量原来10% 日志文件增长量2MB 二、表的创建、查看、修改和删除 1.表的创建 在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构 字段名称数据类型长度精度小数位数是否允许 Null值 说明 Sno Char 10 0 0 否学号,主码 Sname Varchar 8 0 0 是姓名 Ssex Char 2 0 0 是性别,取值:男或女 Sbirthday Date 8 0 0 是出生日期 Sdept Char 16 0 0 是系名 Speciality Varchar 20 0 0 是专业名 特别注意: 为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。

图1 设置性别的约束 (2)Course表(课程名称表)的表结构 字段名称数据类型长度精度小数位数是否允许Null值说明 Cno Char 5 0 0 否课程号,主码Cname Varchar 20 0 0 否课程名 (3)SC表(成绩表)的表结构 字段名称数据类 型 长 度 精 度 小数位 数 是否允许Null值说明 Sno Char 10 0 0 否学号,外码 Cno Char 5 0 0 否课程号,外码 Degree Decimal 5 5 1 是成绩,0~100之间 特别注意: ①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100 ②为SC表设置外键Sno和Cno的方法: 右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。按照相同的方法,将属性Sno也设置为外键。

数据库实验上机题

一、要求: 1、上机前写好题目答案,上机验证; 2、上机后写好实验报告(手写),内容是题目结果; 3、每个同学做的ACCESS程序,文件名为姓名学号,每班一个文件夹,压缩后发给我。 二、内容 实验一 在ACCESS环境下写出创建如下3张表的SQL语句: (1)“图书表”结构如下: 书号:文本型,长度为6,主码; 书名:文本型,长度为30,非空; 第一作者:文本型,长度为10,非空; 出版日期:日期时间型; 价格:定点小数,小数部分1位,整数部分3位。 (2)“书店表”结构如下: 书店编号:文本型,长度为6,主码; 店名:文本型,长度为30,非空; 电话:文本型,8位长,每一位的取值均是0-9的数字; 地址:文本型,40位长; 邮政编码:文本型,6位长。 (3)“图书销售表”结构如下: 书号:文本型,长度为6,非空; 书号编号:文本型,长度为30,非空; 销售日期:小日期时间型,非空; 销售数量:整型,大于等于1; 主码为(书号,书店编号,销售日期); 其中“书号”为引用“图书表”的“书号”的外码; “书店编号”为引用“书店表”的“书店编号”的外码。 实验二 请参照实验一设计一个图书借阅系统。 要求实现: 1、在ACCESS下设计相应的数据表。 2、在表中添加数据,比如“图书表”中添加几本图书信息等。 3、在ACCESS下设计表之间的关系。 4、在ACCESS下设计查询:根据书名模糊查询图书信息,根据销售时间查询销 售数据。 实验三 在ACCESS下写出创建Student、Course和SC表的SQL语句,并建立数据库1、Student: Sno 学号文本长度7 主键 Sname 姓名文本长度10 非空

数据库上机实验

创建数据表与数据输入 Part I. 使用SQL Server Management Studio创建数据表和输入数据1. 在SQL Server Management Studio中创建数据表 P69 1.(1)-(6) 2. 为数据表输入数据 P76 4.(1)-(4) 3. 数据浏览 P77 1. (1)-(2) 2. (1)-(3) Part II. 使用SQL语句创建数据表和输入数据 1. 使用SQL语句创建数据表 P72. 例3-2 2.使用SQL语句输入数据 P82. 例3.8 习题:P.105 (1)(2)insert

数据操作Insert、Update、Delete P105 3. 上机练习题(2)(4) Insert (100001, 1000, 2002-12-18 0:00:00) (100002, 2000, 2010-3-20 0:00:00) Update (100001, 1500, 2002-12-18 0:00:00) (100002, 2000, 2012-9-25 0:00:00) Delete

1.将teaching数据库中score表的studentno列设置为引用表student的外键。 ALTER TABLE Score ADD CONSTRAINT FK_score_student FOREIGN KEY (studentno) REFERENCES student(studentno) 2.将teaching数据库中class表的classname创建UNIQUE约束。 ALTER TABLE class ADD CONSTRAINT UQ_class UNIQUE(classname) 执行如下插入语句,查看提示信息 INSERT INTO class VALUES(‘090602’, ’计算机0902’, ’计算机学院’, ’马文斐’) 3. 为teaching数据库中student表的birthday列创建CHECK约束,规定学生的年龄在17-25岁之间。 ALTER TABLE student ADD CONSTRAINT CK_birthday CHECK(YEAR(GETDATE())-YEAR(birthday)) BETWEEN 17 AND 25 执行如下插入语句,查看提示信息 INSERT INTO student(studentno, sname, sex, birthday, classno) VALUES (‘0922221328’, ’张源’, ’男’, ’1983-04-05’, ’090501’) 提示:表达式YEAR(GETDATE())-YEAR(birthday) 4. 为teaching数据库创建规则prof_rule,规定教师职称取值只能为’助教’,’讲师’,’副教授’,’教授’,并将其绑定到teacher表的prof列上。 CREATE RULE prof_rule AS @prof IN(’助教’,’讲师’,’副教授’,’教授’) EXEC sp_bindrule ‘prof_rule’, ‘teacher.prof’ 执行如下插入语句,查看提示信息 INSERT INTO teacher VALUES(‘t05002’, ’张源’, ’软件工程’, ’工程师’, ’计算机学院’) 提示:表达式IN(职称列表) 5. 编写程序,输出在1-3000之间能被17整除的最大数值 提示:可使循环控制变量从最大值开始,逐步减少,第一个满足被17整除的数值即为所求解的结果,可通过BREAK语句跳出循环。(如果使循环控制变量从小到大逐步增加,则循环次数将大大增加,程序执行效率将下降。)PRINT ‘1-3000之间能被17整除的最大数值为:’ +CAST(@i AS CHAR(4)) DECLARE @s INT, @i INT SELECT @s=0, @i=3000 WHILE @i>=1 BEGIN IF @i%17=0 BEGIN PRINT ‘1-3000之间能被17整除的最大数值为:’ + CAST(@i AS CHAR(4)) BREAK END @i = @i-1 END

《数据库》上机练习题

数据库期中上机考试题 1、在E:\学教管理系统\的路径下建立“学教管理”数据库 2、从服务器jsj上的“jxgl1“库中导入数据到“学教管理”数据库中。 3、在‘学教管理’数据库中增加两个数据表Scholarship-class (奖学金等级,平均最低成绩,金额),Scholarship(学号,奖学金等级,获奖时间),并建立相应的主码、外码和关联。 4、创建“学教管理”数据库中表之间的关系。 5、根据“学教管理”数据库中的基本数据表,进行下列各操作 1)修改Grade表,添加主码、外部码及关联,以及成绩限制在0~100之间。 2)在课程表中增加一个‘先修课号’属性,用于指定在学本课之前必须先修的课程,如果为空,则表示该课没有要求的先修课程。 3)向Student表中录入一条新记录(2005061,赵五,男) 4)分别向Class和grade表中录入一些2009信管管理、2009工商管理、2009旅游管理、2009数理经济四个班级的信息,以及四个班级的一些同学的选课信息。。 5)将李勇的计算机网络成绩置空。 6)找出所有被学生选修了的课程号。 7)查询01311班女同学的个人信息。 8)查询没有选修1号课程的学生姓名与班级号,并按班级号分组和排序。 9)查询姓李的学生的所有信息。 10)查询2009信息管理专业学生的数据库成绩 11)求选修了所有课程的学生学号和姓名。 12)求选修了数据库课程的学生人数。 13)列出每门课程的选修人数。 14)查询选修了3门课以上的学生学号和姓名 15)查询学生张婷婷选修的课程号、课程名和成绩 16)找出2009数理经济班所学数据库的平均分、最高分、最低分 17)找出与李勇在同一班级的学生基本情况信息 18)找出年龄介于李勇的年龄和25之间的学生信息 19)TOM已退学,从数据库删除有关他的相应记录。

Access上机练习题

Access上机练习 一、Access的基本练习 1.学习Access的启动和退出; 2.通过上机熟悉Access的用户界面(包括Access窗口和数据库窗口的组成); 二、数据库的创建 1.在桌面创建一个TEST.Mdb数据库; 2.在上述所建数据库中创建如下三张数据表

【操作步骤】 (1)在“数据库”窗口中,单击“对象”栏下的“表”,然后双击“使用设计器创建表”快捷方式。 (2)弹出表“设计视图”对话框,在“字段名称”列中输入字段名,在“数据类型”列中选择数据类型。 (3)在窗口下部的“字段属性”区中,利用“常规”选项卡设置字段大小。 3.将学生表的“学号”字段定为主键,课程表的“课程号”定为主键,成绩表使用学号和课程号的组合作为主键。 【操作步骤】

(1)在学生表的设计视图下,单击学号所在的行,再单击“工具栏”上的主键按钮; (2)在课程表的设计视图下,单击课程号所在的行,再单击“工具栏”上的主键按钮; (3)在成绩表的设计视图下,按下Shift键分别单击学号和课程号所在的行,再单击“工具栏”上的主键按钮; 4.向表中输入数据。 【操作步骤】 (1)在数据库窗口中双击要输入数据的表,进入“数据表”视图。 (2)在“数据表”视图中可进行数据的输入。 5.建立上述三个表之间的关系,在建立过程中要求选择“实施参照完整性”。 【操作步骤】 (1)按F11键切换到“数据库”窗口。 (2)单击工具栏上的“关系”按钮,打开“关系”窗口;同时出现“显示表”对话框,其中将有上述所建的三个表。 (3)分别双击“学生”表、“成绩”表和“课程”表;然后关闭“显示表”对话框。 (4)用鼠标按住“学生”表中的“学号”(主键),将其拖动“成绩”表的“学号”(外键)上;在弹出的“编辑关系”对话框中选择“实施参照完整性”,然后单击“确定”按钮。 (5)再用鼠标按住“课程”表中的“课程号”(主键),将其拖动“成绩”表的“课程号”(外键)上;在弹出的“编辑关系”对话框中选择“实施参照完整性”,然后单击“确定”按钮。 二、使用用设计视图对TEST.mdb数据库建立相关查询对象。 1.根据以下要求创建一个名为“一般选择查询”的选择查询对象。 (1)查询所有同学的有关基本信息和考试成绩。 (2)查询显示字段为:学号、姓名、出生日期、课程号、课程名、成绩。 【操作步骤】 (1)按F11键切换到“数据库”窗口。 (2)在“数据库”窗口中,单击“对象”栏下的“查询”,然后双击“在设计视图中创建查询”快捷方式,此时出现“设计”窗口和“显示表”对话框,“显示表”对话框中显示上述所建的三个数据表。 (3)分别双击三个表,将它们添加到查询“设计”窗口中作为查询数据源,然

数据库上机实验(有答案)

数据库上机实验内容及要求(第二部分) 1.建立工厂管理数据库 工厂(包括厂名和厂长名)需要建立一个管理数据库存储以下信息: (1)一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和联系电话; (2)一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种; (3)一个车间生产多种产品,产品有产品号和价格;每种产品只能由一个车间生产; (4)一个车间制造多种零件,一种零件也可能为多个车间制造。零件有零件号、重量和价格; (5)一种产品可由多种零件组成,一种零件也可以装配出多种产品; (6)产品和零件均存入仓库; (7)厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。 根据以上需求分析结果,按照下述要求,设计并建立工厂管理数据库。 ◆分析实体及联系,设计E-R图。 ◆将E-R图转换成关系模式,并规范化到3NF。 ◆在Microsoft SQL Server2000中基于“企业管理器”建立数据库及相关对象(主 码,外码,索引,约束等)。 ◆测试数据入库 2.基于“查询分析器”,完成并保存下述题目的SQL脚本 (1)建立“工种”是“钳工”的所有职工详细信息的视图; create view View_工人_钳工 as select* from职工表 where工种='钳工' with check option (2)建立“车间号”是“CJ01”的钳工详细信息的视图; create view View_钳工_CJ01 as select* from View_工人_钳工 where车间号='CJ01' (3)建立使用了“零件号”是“LJ0002”的所有产品详细信息的视图; create view View_产品_零件LJ0002 as select产品表.产品号,价格,车间号,仓库号 from装配表,产品表 where装配表.产品号=产品表.产品号and零件号='LJ0002'(4)对零件表按照“零件号”建立唯一索引; create unique index Index_U_零件号on零件表(零件号) (5)对职工表按照“性别”建立聚簇索引; create clustered index Index_C_性别on职工表(性别) (6)查询使用了“零件号”是“LJ0002”的产品的生产车间号;

数据库上机实验题目和答案

试用SQL的查询语句表达下列查询: 1.检索王丽同学所学课程的课程号和课程名。 select Cno ,Cname from c where Cno in (select cno from sc where sno in (select sno from s where sname='王丽' )) 2.检索年龄大于23岁的男学生的学号和姓名。 select sno,sname from s where sex='男' and age>23 3.检索‘c01’课程中一门课程的女学生姓名 select sname from s where sex='女' and sno in (select sno from sc where cno='c01') 4.检索s01同学不学的课程的课程号。 select cno from c where cno not in (select cno from sc where sno ='s01') 5.检索至少选修两门课程的学生学号。 select sc.sno from s,sc where s.sno=sc.sno group by sc.sno having count(https://www.wendangku.net/doc/e311130508.html,o)>=2 6.每个学生选修的课程门数。 解法一: select so.sno sno,https://www.wendangku.net/doc/e311130508.html,ount,s.sname from(select sc.sno sno,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno ) so,s where s.sno=so.sno 解法二: select sc.sno sno,s.sname,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno,sname

数据库上机实验

附录C 上机实验 C.1 第4章上机实验 下列实验均使用SQL Server 的SSMS工具实现。 1.用图形化方法创建符合如下条件的数据库(创建数据库的方法可参见本书附录A): ●数据库名为:学生数据库 ●主要数据文件的逻辑文件名为:Students_data,存放在D:\Data文件夹下(若D: 盘中无此文件夹,请先建立此文件夹,然后再创建数据库。),初始大小为:5MB, 增长方式为自动增长,每次增加1MB。 ●日志文件的逻辑文件名字为:Students_log,也存放在D:\Data文件夹下,初始大 小为:2MB,增长方式为自动增长,每次增加10%。 2.选用已建立的“学生数据库”,写出创建满足表C-1到4-4条件的表的SQL语句,并执行所写代码。(注:“说明”部分不作为表定义内容)

(1)在Teacher表中添加一个职称列,列名为:Title,类型为nchar(4)。 (2)为Teacher表中的Title列增加取值范围约束,取值范围为:{教授,副教授,讲师}。(3)将Course表中Credit列的类型改为:tinyint。 (4)删除Student表中的Sid和Sdate列。 (5)为Teacher表添加主键约束,其主键为:Tno。 C.2 第5章上机实验 本实验均在SQL Server 的SSMS工具中实现。首先在已创建的“学生数据库”中创建本章表5-1~5-3所示的Student、Course和SC表,并插入表5-4~5-6所示数据,然后编写实现如下操作的SQL语句,执行所写的语句,并查看执行结果。 1.查询SC表中的全部数据。 2.查询计算机系学生的姓名和年龄。 3.查询成绩在70~80分的学生的学号、课程号和成绩。 4.查询计算机系年龄在18~20岁的男生姓名和年龄。 5.查询C001课程的最高分。 6.查询计算机系学生的最大年龄和最小年龄。 7.统计每个系的学生人数。 8.统计每门课程的选课人数和最高成绩。 9.统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。 10.列出总成绩超过200的学生的学号和总成绩。 11.查询选了C002课程的学生姓名和所在系。 12.查询考试成绩80分以上的学生姓名、课程号和成绩,并按成绩降序排列结果。 13.查询与VB在同一学期开设的课程的课程名和开课学期。 14.查询与李勇年龄相同的学生的姓名、所在系和年龄。 15.查询哪些课程没有学生选修,列出课程号和课程名。 16.查询每个学生的选课情况,包括未选课的学生,列出学生的学号、姓名、选的课程号。 17.查询计算机系哪些学生没有选课,列出学生姓名。 18.查询计算机系年龄最大的三个学生的姓名和年龄。 19.列出“VB”课程考试成绩前三名的学生的学号、姓名、所在系和VB成绩。 20.查询选课门数最多的前2位学生,列出学号和选课门数。 21.查询计算机系学生姓名、年龄和年龄情况,其中年龄情况为:如果年龄小于18,则显 示“偏小”;如果年龄在18-22,则显示“合适”;如果年龄大于22,则显示“偏大”。 22.统计每门课程的选课人数,包括有人选的课程和没有人选的课程,列出课程号,选课人 数及选课情况,其中选课情况为:如果此门课程的选课人数超过100人,则显示“人多”; 如果此门课程的选课人数在40~100,则显示“一般”;如果此门课程的选课人数在1~40,则显示“人少”;如果此门课程没有人选,则显示“无人选”。 23.查询计算机系选了VB课程的学生姓名、所在系和考试成绩,并将结果保存到新表 VB_Grade中。

数据库上机习题及答案

数据库及应用复习题 一、设计题 有一个[学生课程]数据库,数据库中包括三个表: 学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为: Student(Sno,Sname,Ssex,Sage,Sdept) ,Sno 为关键字。 课程表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。 成绩表SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为:SG(Sno,Cno,Grade) (SNO, CNO)为关键字。 用SQL语言实现下列功能: 1.建立学生表Student,其中学号属性不能为空,并且其值是唯一的。 2.向Student表增加“入学时间(Scome)”列,其数据类型为日期型。 3.查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。4.查询学习1号课程的学生最高分数、平均成绩。 5.查询与“李洋”在同一个系学习的学生。 6.将计算机系全体学生的成绩置零。 7.删除学号为05019的学生记录。 8.删除计算机系所有学生的成绩记录。 1. CREATETABLE Student (Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20), Ssex CHAR(2), Sage INT, Sdept CHAR(15)) 2. ALTER TABLE Student ADD Scome DATETIME 3. SELECT Sno, Grade FROM SG WHERE Cno='3' ORDER BY Grade DESC 4. SELECT MAX(Grade), AVG(Grade) FROM SC WHERE Cno='1' 5. SELECT Sno, Sname, Sdept FROM Student WHERE Sdept IN

数据库上机题目

上机时间7-18周周四上午3、4节 实验第一部分数据库操作 一:熟悉ACCESS环境(不用提交) 下面的实验要在七周内完成 实验1 建立学生、课程及成绩表,录入部分数据,并设计验证实体、参照及用户自定义完整性。 实验第二部分SQL语句VB数据库访问技术 二:SQL语句及VB数据库访问技术(要提交) 下面的SQL语句要求在“学生成绩管理”数据库进行测试。 下面的实验要在八至十二周内完成,要求提交纸质实验报告,实验报告包括:实验题目、SQL语句及查询结果的截图(查询的名称为自己的学号加姓名)。 【实验2_1】查询学生基本信息表中的所有信息。 SQL语句如下: 【实验2_2】在学生基本信息表中查询学生的学号、姓名、性别和族别信息。 SQL语句如下: 【实验2_3】从学生基本信息表中查询学生由哪些民族构成。 学生的族别有多行重复,要快速查询学生的民族构成,实际上就是对相同值的族别只需要显示一行,可使用DISTINCT关键字实现。 【实验2_4】从成绩表中查询学生成绩。 SQL语句如下: 【实验2_5】从相关表中查询每一位学生的学号、姓名、课程名称、成绩。 【实验2_6】在课程信息表中查找“Delphi程序设计”课程的任课老师。 【实验2_7】查询少数民族学生的基本情况。 【实验2_8】检索1985年1月1日以后出生的女生基本信息。 【实验2_9】查询每位同学的课程门数、总成绩、平均成绩。 【实验2_10】从学生基本信息表中统计各民族学生人数。 【实验2_11】从学生基本信息表中统计汉族学生的人数。 【实验2_12】显示平均成绩大于等于80分以上的学生情况。

【实验2_13】查询学生成绩并将显示的结果按成绩升序排序。 SQL语句如下: 【实验2_14】查询1985年出生的学生基本信息。 【实验2_15】查询不及格学生成绩信息。 查询不及格学生成绩信息,也就是查询0—59之间的学生成绩,可用BETWEEN关键字表示为:WHERE 成绩BETWEEN 0 AND 59。 【实验2_16】查询课程编号为002、003、007的课程编号、课程名称、任课教师和上课时间。 【实验2_17】检索所有姓刘的学生基本信息。 【实验2_18】检索包含“技术”两字的课程信息。 【实验2_19】查询第2 个字为“丽”的学生信息。 【实验2_20】查询课程信息表中教师未定的课程信息。 【实验2_21】统计成绩表中各门课程的学生人数、总成绩、平均成绩。 【实验2_22】检索单科成绩高于全班平均分的学生成绩信息。 【实验2_23】使用左外连接检索学生成绩信息(学号,姓名,课程名称)。 【实验2_24】使用右外连接检索学生成绩信息(学号,姓名,课程名称)。 【实验2_25】查找同名同姓的学生信息。 【实验2_26】在VB中设计针对“课程信息表”的基本编辑窗体,需要附运行界面及源程序代码。 实验第三部分数据库应用系统开发 数据库应用系统开发作为本课程课程设计考查内容,需要在18周之前提交纸质课程设计报告(主要是系统开发侧重于实施环节的报告)及数据库应用系统。系统开发可以两人(不能超过两人)一组,系统名称可自行拟定。

数据库上机考试试题及答案

1下列说法中正确的是:( D ) A 、 SQL 中局部变量可以不声明就使用 B 、 SQL 中全局变量必须先声明再使用 C 、 SQL 中所有变量都必须先声明后使用 D 、 SQL 中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己建立。 2.哪个关键字用于测试跟随的子查询中的行是否存在( B )。 A.MOV B.EXISTS C.UNION D.HAVING 3 .下列哪些语句用于创建存储过程( A )? A、CREATE PROCEDURE B、CREATE TABLE C、DROP PROCEDURE D、其他 5.在SQL中,SELECT语句的“SELECT DISTINCT”表示查询结果中 ( C )。 A.属性名都不相同 B.去掉了重复的列 C.行都不相同 D.属性值都不相同 语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATA实现下列哪类功___A_____。 A. 数据查询 B. 数据操纵 C. 数据定义 D. 数据控制 Server 2000 采用的身份验证模式有( D )。 (A)仅Windows身份验证模式 (B)仅SQL Server身份验证模式 (C)仅混合模式 (D)Windows身份验证模式和混合模式 Server 2000 企业版可以安装在操作系统上。( C ) (A)Microsoft Windows 98 (B)Microsoft Windows 2000 Professional (C)Microsoft Windows 2000 Server (D)Microsoft Windows XP Server是一个( C )的数据库系统。 (A)网状型(B)层次型 (C)关系型(D)以上都不是 语言中,删除一个视图的命令是( B )。 A. DELETE B. DROP C. CLEAR D. REMOVE 语言中,删除记录的命令是( A )。

数据库实验习题

《数据库概论》实验指导书 (2003级) 一、实验目的: 数据库系统是一门应用性很强的课程,上机实验是数据库课程的重要环节。本实验是结合《数据库概论》课程的学习而开设的实验。本实验目的如下: 1. 通过上机实验,加深对数据库系统理论知识的理解,增强对网络环境下大型数据库的感性认识和实际操作能力; 2. 通过使用具体的DBMS,了解一种实际的数据库管理系统,并掌握其操作技术。熟悉ORACLE数据库的Net8工具,掌握ORACLE数据库的网络连接配置; 3. 学习使用SQL语言,加深对SQL语言的认识和理解,提高SQL语言的实际应用能力; 4. 加强对事务处理、权限管理等概念的认识和理解。 二、适应专业:信息管理与信息系统,信息与计算机科学 三、实验学时数:12学时 四、实验内容及学时安排: 实验准备: 各班选出10个同学,协助老师搭建试验环境。包括: 1)安装ORACLE客户端,配置与主机的数据库连接。 2)安装软件工具 PLSQL/DEVELOPER 3)负责本班用户的建立。 分为两批上午下午各两个班。 实验一:数据定义/数据操纵语言 实验目的:熟悉Oracle上机环境以及Oracle客户端的配置;熟练掌握和使用DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引;熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。 学时数:4学时 实验内容:SQL数据定义语句, SQL数据操纵语句。 实验要求:1. 熟悉Oracle上机环境; 2. 建立数据库表,修改数据库表结构,建立、删除索引;

3. 对数据库表进行插入、修改和删除数据的操作。 实验二:数据查询语言,视图定义 实验目的:体会SQL语言数据查询功能的丰富和复杂,视图使用。 学时数:4学时 实验内容:SQL数据查询语句,视图的定义与操纵; 实验要求:对数据库表进行各种查询操作,建立视图,视图查询,视图更新; 实验三:授权控制与事务处理 实验目的:通过实验进一步理解视图的建立和更新、数据库的权限管理和事务处理功能。 学时数:2学时 实验内容: 1. SQL数据控制语句; 2. SQL事务处理。 实验要求: 1. 给某一或全部用户授权和收回授权; 2. 事务回退,事务提交。 五、教材及参考文献 1.《数据库系统概论》(第三版)萨师煊等编著高等教育出版社 2000.2 2.《ORACLE 8.x For Windows NT实用教程》翁正科等编著清华大学出版社 1998.10 六、实验环境 实验要求如下环境 服务器端:Windows 2000NT Server; ORACLE 8.x Database Server For Windows Windows2000 Server 客户端: Windows9x;Oracle 8.x Client 网络协议:TCP/IP 七、成绩考核 上机实验考核采取实验报告和上机抽查检验相结合的方式。每次实验结束后都必须写出实验报告。 八. 实验报告

数据库sql查询语句上机练习1_习题_结果(单世民)

习题1 请根据给出的数据库表结构来回答相应问题: DEPT (DEPTNO INT, DNAME VARCHAR(14),LOC VARCHAR(13)); EMP (EMPNO INT,ENAME VARCHAR(10), JOB VARCHAR(9), MGR INT, HIREDATE DATE, SAL FLOAT, COMM FLOAT, DEPTNO INT); BONUS (ENAME VARCHAR(10), JOB VARCHAR(9), SAL INT, COMM INT); SALGRADE ( GRADE INT, LOSAL INT, HISAL INT); 其中表中包含如下数据: DEPT表: EMP表: SALGRADE表:

BONUS表: 无数据 根据上面描述完成下面问题: (注意:注意保存脚本,尤其是DDL和DML,以便进行数据还原) DDL 1. 写出上述表的建表语句。此外,在DEPT上创 建名为”PK_DEPT”的主键约束,在EMP表上 创建名为”PK_EMP”的主键约束以及指向表 DEPT的外键约束”FK_DEPTNO”。 命令: Create table DEPT (DEPTNO INT NOT NULL,DNAME VARCHAR(14),LOC VARCHAR(13)); Alter table DEPT add constraint PK_DEPT PRIMARY KEY (DEPTNO); create table EMP(EMPNO INT NOT NULL,ENAME VARCHAR(10),JOB VARCHAR(9),MGR INT,HIREDATE DATE, SAL FLOAT,COMM FLOAT,DEPTNO INT); alter table EMP add constraint PK_EMP PRIMARY KEY (EMPNO); alter table EMP add constraint FK_DEPTNO foreign key(DEPTNO) references DEPT(DEPTNO);

数据库上机题

现有一个商店的数据库,记录顾客及其购物情况,由下面三个表组成: 商品(商品号,商品名,单价,商品类别,供应商); 顾客(顾客号,姓名,住址); 购买(顾客号,商品号,购买数量); 建表,在定义中要求声明: 1)每个表的主外码; 2)顾客的姓名和商品名不能为空值; 3)单价必须大于0,购买数量必须在0到20之间; 1.往表中插入数据: 商品( M01,佳洁士,8.00,牙膏,宝洁; M02,高露洁,6.50,牙膏,高露洁; M03,洁诺,5.00,牙膏,联合利华; M04,舒肤佳,3.00,香皂,宝洁; M05,夏士莲,5.00,香皂,联合利华; M06,雕牌,2.50,洗衣粉,纳爱斯; M07,中华,3.50,牙膏,联合利华; M08,汰渍,3.00,洗衣粉,宝洁; M09,碧浪,4.00,洗衣粉,宝洁 ) 顾客(C01,Dennis,海淀; C02,John,朝阳; C03,Tom,东城; C04,Jenny,东城; C05,Rick,西城;) 购买(C01,M01,3;C01,M05,2; C01,M08,2;C02,M02,5; C02,M06,4;C03,M01,1; C03,M05,1;C03,M06,3; C03,M08,1;C04,M03,7; C04,M04,3;C05,M06,2; C05,M07,8;) 2.用SQL语句完成下列查询: (1)检索购买了供应商"宝洁"产品的所有顾客; (2)检索买的商品包括了顾客"Dennis"所购买商品的顾客(姓名); (3)检索牙膏卖出数量最多的供应商。 (4)检索至少购买了两种商品的所有顾客 (5)检索全部顾客都购买过的商品 (6)将所有的牙膏商品单价增加10%。 (7)删除从未被购买的商品记录。

SQL上机练习题

《数据库软件SQL SERVER》 考试说明:在F:盘新建一个以考生的学号和姓名命名的文件夹(例如2007001张三),将所做的数据库以及所有的SQL文本文件均存放在此文件夹中。(第一题为数据库,第二、三、四和五题均存为一个SQL文本文件,请标明题目编号) 一、(30分)操作题 创建数据库:在该文件夹下创建一个为“library”的数据库,主文件的初始大小为3MB,增长方式为10%增长,最大容量为10MB。日志文件初始大小为3MB,增长方式为1MB,最大容量为10MB。“library”中包含的数据“book”表有如下结构:(bookid为主键) (2)创建一视图view_borrow,要求包含借阅者的姓名、所借阅图书名和借阅日期 “library”表记录如下:

二、(40分)编写查询语句(要求所有命令存储于SQL的文本文件中,文件名SQL代码”) (1)向“book”表中添加一条记录,书号为100005,书名计算机网 络基础,作者孙超 (2)修改“reader”表中记录,将姓刘凡易的所在部门改为水建 (3)查询所有未借阅图书的所有读者姓名 (4)查询至少借阅了两门图书的读者的姓名 (5)查询借阅了“100001”和未借阅“100002”图书的读者姓名 (6)查询出借阅了图书的各个部门的人数 (7)查询和“大学英语”出版社相同的图书名称 (8)查询比所有图书平均价低的图书的编号 (9 )查询书名中包含有“计算机”的书名和作者 (10)查询各个出版社中图书最高价格、最低价格和图书数目 三、(10分)编写存储过程 要求利用读者姓名查询出该读者所借阅图书的书名、出版社和价格, 并 军”读者的相关信息。

数据库上机实验报告 总结

重庆邮电大学移通学院 数据库集中上机报告 学生:马志鹏 学号: 022******* 班级: 02210901 专业:计算机应用技术 重庆邮电大学移通学院 2011年6月

第一天:Access数据库基本操作 1 实验目的 1、熟悉的掌握Access数据库结构与创建 2、了解创建、修改、删除、查询、保存等操作 3、输入数据创建、设计器创建、向导创建。 2 实验内容 3 实验结果 1. 2. 2

重庆邮电大学移通学院 3 2 Access 数据表的编辑 第二天 数据表基本操作 1 表关系与编辑数据 1 实验目的: 1、实现一对一,一对多,多对多的实体关系 2、对“学生基本信息”表中的记录进行排序,按出生日期降序排列 3、从“学生基本信息”表中筛选出所有计算机系男生的记录 4、从“学生基本信息”表中筛选出回族和蒙古族的所有学生记录

2 实验内容 1. SELECT 学生基本信息表.学生姓名, 成绩档案表.* FROM 成绩档案表INNER JOIN 学生基本信息表ON 成绩档案表.学生学号= 学生基本信息表.学生学号 WHERE (((学生基本信息表.学生姓名)="张冰冰")); 2 SELECT 学生基本信息表.* FROM 学生基本信息表 WHERE (((学生基本信息表.性别)="男") AND ((学生基本信息表.班级名称)="计算机系")); 3 SELECT 成绩档案表.C语言, 课程表.* FROM 成绩档案表, 课程表; 4 SELECT 学生基本信息表.*, 学生基本信息表.性别, 学生基本信息表.班级名称FROM 学生基本信息表WHERE (((学生基本信息表.性别)<>"男") AND ((学生基本信息表.班级名称)<>"计算机系")); 5 SELECT 学生基本信息表.*, 学生基本信息表.出生日期 FROM 学生基本信息表WHERE (((Month([出生日期]))=9) AND ((Day([出生日期]))=1)); 6 SELECT 学生基本信息表.* FROM 学生基本信息表WHERE (((学生基本信息表.学生姓名) Like "李*")); 3 实验结果 4

相关文档
相关文档 最新文档