当前位置:文档之家› 数据库上机题

数据库上机题

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

现有一个商店的数据库,记录顾客及其购物情况,由下面三个表组成:

商品(商品号,商品名,单价,商品类别,供应商);

顾客(顾客号,姓名,住址);

购买(顾客号,商品号,购买数量);

建表,在定义中要求声明:

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)删除从未被购买的商品记录。

现要为学校建立一个数据库,设学校环境如下:一个系有若干个专业,每个专业一年只招一个班,每个班有若干个学生..现要建立关于系、学生、班级的数据库,关系模式为:学生STUDENT(学号,姓名,年龄,班号)

班CLASS(班号,专业名,系名,入学年份)

系DEPARTMENT(系号,系名)

试用SQL语言完成以下功能:

1建表,在定义中要求声明:

(1)每个表的主外码.

(2)每个班级的人数不能超过30人.

(3)学生的年龄介于15到40岁之间.

(4)学生姓名不能为空.

(5)只有班里没有学生的时候,才能删除该班级.

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,中文;

005,经济;

)

3完成以下查询功能

(1)找出所有姓李的学生,并按其年龄由小到大排序.

(2)列出所有开设超过两个专业的系的名字.

(3)列出学生人数大于等于2的系的编号和名称.

4学校又新增加了一个物理系,编号为006.

5学生张三转到化学系111班,请更新相关的表.

设计零售公司的数据库:

售货员(员工号,姓名,住址),商品(商品号,商品名,单价),制造商(制造商名,制造商地址,电话),多个商品可以由一个售货员售出,一个商品也可以由多个人员售出,一件商品可以有多个制造商. 要求:

1建表:要有主外码定义,商品价格大于0.

2插入:每个表最少4条,保证查询结果不为空.

3找出Mike卖出的所有商品的商品名.

4找出提供商品种类最多的制造商名.

5更新:将“统一冰红茶“的价格降低3%.

6删除:单价低于一元的商品.

有某个学生运动会比赛信息的数据库,保存了如下的表:

运动员(运动员编号,运动员姓名,运动员性别,所属系号)

项目(项目编号,项目名称,项目比赛地点)

成绩(运动员编号,项目编号,积分)

请用SQL语句完成如下功能:

1.建表,注意满足如下要求:

a)表名必须加自己的帐号作前缀,比如“d1*******运动员”

b)定义各个表的主码外码约束

c)运动员的姓名和所属系别不能为空值.

d)积分要么为空值,要么为6,4,2,0,分别代表第一,二,三名和其他名次的积分,注意名次可以有并列名次,后面的排名不往前提升,例如,如果有两个并列第一,则没有第二名.

2.往表中插入数据:

运动员(

1001,李明,男,计算机系

1002,张三,男,数学系

1003,李四,男,计算机系

1004,王二,男,物理系

1005,李娜,女,心理系

1006,孙丽,女,数学系)

项目(x001,男子五千米,一操场

x002,男子标枪,一操场

x003,男子跳远,二操场

x004,女子跳高,二操场x005,女子三千米,三操场)

积分(1001,x001,6

1002,x001,4

1003,x001,2

1004,x001,0

1001,x003,4

1002,x003,6

1004,x003,2

1005,x004,6

1006,x004,4)

3.完成如下查询

a)求出目前总积分最高的系名,及其积分.

b)找出在一操场进行比赛的各项目名称及其冠军的姓名c)找出参加了张三所参加的所有项目的其他同学的姓名4.经查张三因为使用了违禁药品,其成绩都记0分,请在数据库中作出相应修改.

5.经组委会协商,需要删除女子跳高比赛项目.

设学校环境如下:一个系有若干个专业,每个专业一年只招一个班,每个班有若干个学生..现要建立关于系、学生、班级的数据库,关系模式为:

班CLASS(班号,专业名,系名,入学年份,人数)

学生STUDENT(学号,姓名,年龄,班号)

系DEPARTMENT(系号,系名)

试用SQL语言完成以下功能:

1建表,在定义中要求声明:

(1)每个表的主外码.

(2)每个班级的人数不能超过30人.

(3)学生的年龄介于15到40岁之间.

(4)学生姓名不能为空.

2插入如下数据

CLASS(

101,软件,计算机,1995,20;102,微电子,计算机,1996,30;

111,无机化学,化学,1995,29;112,高分子化学,化学,1996,25;

121,统计数学,数学,1995,20;131,现代语言,中文,1996,20;

141,国际贸易,经济,1997,30;142,国际金融,经济,1996,14;

)

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,中文;

005,经济;)

3完成以下查询功能

(1)找出所以姓李的学生.

(2)列出所有开设超过两个专业的系的名字.

(3)列出人数大于等于2的系的编号和名字.

4学校又新增加了一个物理系,编号为006.

5学生张三退学,请更新相关的表.

三个表:用户(用户编号,用户名,级别)

题目(题目编号,分值,题目说明,难度)

历史记录(用户编号,题目编号,flag,做题时间)

建表说明:

1.用户名不能为空

2.难度只能取值1~3

3.flag要么取0,要么取1,0代表做错,1代表做对

4.各表的主外键表名和字段名与题目相同(是汉字就用汉字,英文就用英文),各表均用"表名_准考证号"做为考生的表名

数据:

1用户表:

u00001,xiaoli,0

u00002,xiaowang,1

u00003,zhaosi,2

u00004,wangwu,1

u00005,lina,

2 题目表:

q00001,3,aljflkajfklsdjfk,1

q00002,6,lajfklsdjfkjdklfklasfjfklj,2

q00003,8,klajfkdjfjdklfjklasjf,2

q00004,10,jfklasdjfk3

历史记录表:

u00001,q00001,0,2004-02-1012:00:00 u00001,q00002,1,2004-02-1212:00:00 u00001,q00003,1,2004-02-1312:30:00 u00001,q00004,1,2004-02-1513:00:00 u00002,q00002,1,2004-02-1708:30:00 u00002,q00003,1,2004-02-1614:00:00 u00003,q00001,0,2004-02-1810:30:00 u00004,q00003,0,2004-02-1513:00:00 u00004,q00004,1,2004-02-2012:30:00 u00005,q00002,0,2004-02-1914:00:00 u00005,q00003,1,2004-02-2112:00:00

数据是凭记忆写的,大体差不多,个别值有出入,不影响解题

查询:

1.a.列出所有答对难度为3的题目的用户,要求按用户名升序排序, 用户名相同的按用户编号排序(升,降均可)

b.列出每个用户答对的同一难度题目分值的平均分.(该题有二义,就看你理解是否跟阅卷老师一样了, 为北大控制及格率埋下了伏笔,唉~~~~~~~~~~~~)

c.求总分最高的用户.(小心该题,答对了才有分的啊~~~)

2.列出在最近时间内答错题目的前三位用户.

3.如果当用户答对5个题目,并且满足下列条件: a5个题目中至少有2个题目的难度在2级以上b5个题目的总分在25分以上就将该用户的级别升高一级.

现有一个学生选修课程的数据库,其中存放以下三个表:

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

课程(课程号,课程名,任课教师)

选修(学号,课程号,分数)

试用SQL语言完成下列功能:

1建表,在定义中要求声明:

(1)每个表的主外码;

(2)学生的年龄介于16到40之间;

(3)学生的姓名和课程名不能为空值;

( 4)选课成绩要么为空值,要么取0到100之间的整数.

2往表中插入数据

学生(

101,张三,男,18,计算机;

102,李四,男,16,数学;

103,王玲,女,17,中文;

105,李飞,男,19,计算机;

109,赵四,女,18,历史;

110,李平,男,20,化学)

课程(

203,操作系统,程羽;

279,高等数学,王备;

210,现代文学,王丹;

243,有机化学,沈同;

204,数据结构,张青;)

选修(

101,203,82;

105,203,59;

102,279,90;

101,279,88;

105,279,82;

110,279,68;

109,210,72;

103,210,90;

110,243,92;

101,204,85;

105,204,91;

102,204,56)

3用SQL语句完成下列查询:

(1)列出张三同学选修的所有课程的名称及其成绩.

(2)列出所有课程都及格了的同学的名字.

(3)列出在选修张青老师所教授课程的学生中,成绩最高的学生姓名及其成绩. 4删除所有成绩不及格的选课记录.

5将105号同学选修203号课程的成绩改为该门课程的平均成绩

某公司有很多类型的货车(小型货车,双轴货车,16轮货车等),货车要有货车号,货车类型(小型货车,双轴货车,16轮货车),载重量,有很多司机,每个司机可开多种类型的货车,司机要有司机号,姓名,地址,薪水,司机运输货物时有货物名称,目的地,出发时间,返回时,要更新记录,有返回时间,驾驶时间,公司有很多技师维修货车,技师要有技师号,姓名,地址,薪水,货车维修要有维修时间,取车时间,费用.

要求:

1.姓名不能为空,载重量大于3吨,司机的薪水不能少于2000,技师的薪水不能少于1500,每个表至少插入4条记录,能满足以下的查询

2.求开过司机Joe开过的货车的司机的ID,姓名

3.求货车维修费用的平均值

4.对驾驶时间超过50小时的司机增加薪水5%,没超过的加3%

5.删除维总修费用超过100,000的记录

某汽车保险公司数据库需要保存人员,汽车,事故的信息.

人员有社会保险号,姓名, 地址;

汽车有牌照,生产年月,型号;事故有日期,驾驶员,事故损失量.

假定每个人可以有多辆汽车.

要求:

1.设计数据库,建立必要的表来保存上述信息,定义表的时候要给出需要的主外定义,要求姓名不为空.

2.插入相应数据使下诉检索不为空.

3.找出在1998年其车辆出过车祸的人员总数.

4.找出没有出过交通事故的人员的姓名

5.统计每种车型所出的交通事故的总的数量.

6.删除与JohnSmith有关的事故的记录.

试创建一个公司雇员数据库,雇员有姓名、地址、所在城市,公司有公司名,以及公司所在城市,公司和雇员之间有雇佣关系,每个公司可雇佣多名雇员,该关系中还包括雇员的薪水,雇员和雇员之间有一个管理关系,每一个雇员都有另外一名雇员作为他的经理,一个经理人可以管理多名雇员.

要求:

设计你的数据库,并往数据库中插入一些数据.

1、求为第一百货工作的所有雇员的姓名以及他们居住的城市.

2、求数据库中比第一百货的所有雇员的薪水都高的雇员的姓名.

3、删除为第一百货工作的所有雇员的记录.

4、给第一百货的所有雇员加薪,若薪水高于一万,增加3%,否则增加5%.

假定需要保存“图书“,读者,借阅和…作者?信息以及他们之间的关系.

其中图书有总编号,书名,作者,出版单位,单价等信息,

读者有借书证号,姓名,性别,地址,

作者有姓名,单位,性别,出生年月等信息,

每位读者可以接阅多本书,每本书可以由多位读者借阅,借书时有借书日期.

要求:

1:设计数据库,建立合适的表来包出需要的信息,定义表的时候要给出外码的定义,书名,作者, 姓名不能为空,性别只能取男或女,借书日期必须许在1980年1月1日到2050年12月31日之间.

2:往每个表中至少插入4条记录,并保证后面的查询结果不为空,.

3:找出借书日期在2002年12月之前的读者和书名.

4:给出每个出版社出版的单价在20元以下的书的总数.

5:作者…李通?现在改为笔名…李不通?,请在数据库内作出相应的改变.

6:删除所有在本数据库中没有其写的书的作者的信息.

现有一个公司的部门及雇员的数据库,由下面三个表组成:

雇员(雇员号,姓名,年龄,地址,薪水)

部门(部门号,部门名,部门经理)

工作(雇员号,部门号,在该部门工作的年限)

试用SQL语言完成下列功能:

①建表,在定义中要求声明⑴每个表的主外码⑵雇员的年龄介于18到55之间⑶雇员姓名和部门名不能为空⑷薪水取1000到50000之间整数

②往表中插入数据

雇员(E01,tom,35,海淀,8000 E02,dennis,24,朝阳,5000 E03,john,20,海淀,4000

E04,rick,41,朝阳,7000 E05,bill,45,西城,7500 E06,frank,35,海淀,6000 E07,jank,25,东城,3000 E08,mike,23,东城,3500)

部门(D01,人事,E04 D02,信息,E01 D03,销售,E05 D04,财务,E06)

工作(E01,D02,6 E01,D03,1 E01,D04,2 E02,D01,2 E02,D04,0 E03,D02,0 E04,D01,4 E04,D02,1 E05,D03,2 E06,D04,4 E07,D04,1 E08,D03,2)

③用SQL语句完成下列查询⑴求同时在三个部门工作的雇员和姓名⑵列出各部门的职工的工资总额,并按照总额大小降序排列⑶求和其部门经理住址相同的员工的姓名及经理姓名

④为财务部门的雇员加薪,5年以下加5%,5年以上加3%

⑤删除部门工作年限为0的工作记录,若删除后有雇员没有任何部门工作,删除其雇员记录

设学校环境如下:

一个系有若干个专业,每个专业一年只招一个班,每个班有若干个学生..

现要建立关于系、学生、班级的数据库,关系模式为:

班CLASS(班号,专业名,系名,入学年份,人数)

学生STUDENT(学号,姓名,年龄,班号)

系DEPARTMENT(系号,系名)

试用SQL语言完成以下功能:

1建表,在定义中要求声明:

(1)每个表的主外码.

(2)每个班级的人数不能超过30人.

(3)学生的年龄介于15到40岁之间.

(4)学生姓名不能为空.

2插入如下数据

CLASS( 101,软件,计算机,1995,20;102,微电子,计算机,1996,30;

111,无机化学,化学,1995,29;112,高分子化学,化学,1996,25;

121,统计数学,数学,1995,20;

131,现代语言,中文,1996,20;

141,国际贸易,经济,1997,30;

142,国际金融,经济,1996,14; )

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,中文; 005,经济;)

3完成以下查询功能

(1)找出所以姓李的学生.

(2)列出所有开设超过两个专业的系的名字.

(3)列出人数大于等于2的系的编号和名字.

4学校又新增加了一个物理系,编号为006.

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. 试比较连接查询和嵌套查询 有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比 嵌套查询高出很多 当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。但是相比于连接运算,目前商用关系数据库管理系统对嵌套查询的优化做的还不够完善,所以在实际应用中,能够用连接运算表达的查询尽可能采用连接运算。

数据库系统概论期末试题及答案(重点知识)

试题十 一、单项选择题 (本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要 求的,错选、多选或未选均无分。 1. 数据库系统的特点是( )、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。 A .数据共享 B .数据存储 C .数据应用 D .数据保密 2. 数据库系统中,物理数据独立性是指( )。 A .数据库与数据库管理系统的相互独立 B .应用程序与DBMS 的相互独立 C .应用程序与存储在磁盘上数据库的物理模式是相互独立的 D .应用程序与数据库中数据的逻辑结构相互独立 3. 在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是( )。 A .外模式 B .内模式 C .存储模式 D .模式 4. E-R 模型用于数据库设计的哪个阶段( )? A .需求分析 B .概念结构设计 C .逻辑结构设计 D .物理结构设计 5. 现有关系表:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业,出生日期)的主码是( )。 A .宿舍编号 B .学号 C .宿舍地址,姓名 D .宿舍编号,学号 6. 自然连接是构成新关系的有效方法。一般情况下,当对关系R 和S 使用自然连接时,要求R 和S 含有一个或多个共有的( )。 A .元组 B .行 C .记录 D .属性 7. 下列关系运算中,( )运算不属于专门的关系运算。 A .选择 B .连接 C .广义笛卡尔积 D .投影 8. SQL 语言具有( )的功能。 ( 考 生 答 题 不 得 超 过 此 线 )

A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵 9.如果在一个关系中,存在某个属性(或属性组),虽然不是该关系的主码或只是主码的一部分,但却是另一个关系的主码时,称该属性(或属性组)为这个关系的() A.候选码 B.主码 C. 外码 D. 连接码 10.下列关于关系数据模型的术语中,()术语所表达的概念与二维表中的 “行”的概念最接近? A.属性 B.关系 C. 域 D. 元组 11.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME, TEACHER),学生选课关系是SC(S#,C#,GRADE)。 要查找某个学生的基本信息及其选课的平均成绩,将使用关系()A.S和SC B.SC和C C.S和C D.S、SC和C 12.在SQL语言的SELECT语句中,用于对结果元组进行排序的是()子句。 A. GROUP BY B.HAVING C.ORDER BY D.WHERE 13.设有关系SC(SNO,CNO,GRADE),主码是(SNO,CNO)。遵照实体完整性规则,下面()选项是正确的。 A.只有SNO不能取空值B.只有CNO不能取空值 C.只有GRADE不能取空值D.SNO与CNO都不能取空值 14.下面关于函数依赖的叙述中,()是不正确的。 A.若X→Y,WY→Z,则XW→Z B.若Y X,则X→Y C.若XY→Z,则X→Z,Y→Z D.若X→YZ,则X→Y,X→Z 15.设有关系R(A,B,C)和S(C,D)。与SQL语句select A,B,D from R,S where R.C=S.C等价的关系代数表达式是() A.σR.C=S.C(πA,B,D(R×S)) B.πA,B,D(σR,C= S.C(R×S)) C.σR.C=S.C((πA,B(R))×(πD(S))) D.σR,C=S.C(πD((πA,B(R))×S))

全国计算机三级数据库技术上机试题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也设置为外键。

数据库上机实验

创建数据表与数据输入 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

数据库系统概论复习题及答案

第一学期期末考试试卷和答案 试卷代码:03115 授课课时:96 课程名称:数据库系统原理A 适用对象:本科选课班 一、选择题(从下列各题四个答案中选出一个正确答案,每小题1分,共10分) 1、在数据库技术发展的几个阶段中,数据独立性最高的是__A___阶段。 A、数据库系统 B、文件系统 C、人工管理 D、数据项管理 2、在SQL的SELECT语句中,与选择运算对应的命令动词是__C___。 A、SELECT B、FROM C、WHERE D、ORDER BY 3、在数据库中,下列说法_A__是不正确的 A、数据库避免了一切数据的重复 B、若系统是完全可以控制的,则系统可确保更新是的一致性 C、数据可以共享 D、数据库减少了冗余 4、在数据库系统中,模式/外模式映像用于解决数据的_C__ A、结构独立性 B、物理独立性 C、逻辑独立性 D、分布独立性 5、关系代数的5种基本运算是__D_。 A、并、差、选择、投影、自然连接 B、并、差、交、选择、投影 C、并、差、交、选择、笛卡尔积 D、并、差、选择、投影、笛卡尔积 6、在SQL语句中,谓词“EXISTS”的含义是_B___。 A、全称量词 B、存在量词 C、自然连接--在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列 D、等值连接--在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列 7、规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常、更新异常以及_C__的缺陷 A、数据不一致性 B、结构不合理 C、冗余度大 D、数据丢失 8、数据库数据的正确性和相容性是数据库的__B____。 A、安全性 B、可维护性 C、完整性 D、并发控制 9、数据库三级模式体系结构主要的目标是确保数据库的_B__。 A、数据安全性 B、数据独立性

《数据库》上机练习题

数据库期中上机考试题 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已退学,从数据库删除有关他的相应记录。

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

数据库上机实验内容及要求(第二部分) 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”的产品的生产车间号;

数据库系统应用试题及答案

数据库系统概述 一、概述 1.数据库系统是采用了数据库技术的计算机系统,数据库系统由数据库、数据库管理系统、应用系统和()。 A.系统分析员 B.程序员 C.数据库管理员 D.操作员 2.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()。 A.DBS包括DB和DBMS B.DBMS包括DB和DBS C.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS 3.下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是()。 I.人工管理阶段 II.文件系统阶段 III.数据库阶段 A.I 和 II B.只有 II C.II 和 III D.只有 I 4.下列四项中,不属于数据库系统特点的是()。 A.数据共享 B.数据完整性 C.数据冗余度高 D.数据独立性高 5.数据库系统的数据独立性体现在()。 A.不会因为数据的变化而影响到应用程序 B.不会因为数据存储结构与数据逻辑结构的变化而影响应用程序 C.不会因为存储策略的变化而影响存储结构 D.不会因为某些存储结构的变化而影响其他的存储结构 6.描述数据库全体数据的全局逻辑结构和特性的是()。 A.模式 B.内模式 C.外模式 D. 7.要保证数据库的数据独立性,需要修改的是()。 A.模式与外模式 B.模式与内模式 C.三级模式之间的两层映射 D.三层模式 8.要保证数据库的逻辑数据独立性,需要修改的是()。 A.模式与外模式之间的映射 B.模式与内模式之间的映射 C.模式 D.三级模式 9.用户或应用程序看到的那部分局部逻辑结构和特征的描述是()模式。 A.模式 B.物理模式 C.子模式 D.内模式 10.下述()不是DBA数据库管理员的职责。 A.完整性约束说明 B.定义数据库模式 C.数据库安全 D.数据库管理系统设计 11.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是()。 A.层次模型 B.关系模型 C.网状模型 D.实体-关系模型 <实体-联系图Entity Relationship Diagram 基本要素:实体型属性联系> 12.区分不同实体的依据是()。 A.名称 B.属性 C.对象 D.概念 13.关系数据模型是目前最重要的一种数据模型,它的三个要素分别是()。 A.实体完整性、参照完整性、用户自定义完整性 B.数据结构、关系操作、完整性约束 C.数据增加、数据修改、数据查询 D.外模式、模式、内模式 14.在()中一个结点可以有多个双亲,结点之间可以有多种联系。 A.网状模型 B.关系模型 C.层次模型 D.以上都有 15.()的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。 A.网状模型 B.关系模型 C.层次模型 D.以上都有

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

试用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.doczj.com/doc/be8373309.html,o)>=2 6.每个学生选修的课程门数。 解法一: select so.sno sno,https://www.doczj.com/doc/be8373309.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中。

数据库系统概述习题及答案

习题一 第1章数据库系统概述 一、填空题 1. 在关系数据库中,一个元组对应表中。 解:一个记录 (一行) 2. 常用的数据模型 有:、、和面向对象模型。解: 关系模型,层次模型,网状模型 3. 用二维表来表示实体及实体之间联系的数据模型是。 解: 关系模型 4. 关系模型数据库中最常用的三种关系运算 是、、。 解: 选择运算,投影运算,连接运算 5. 在数据库系统中,数据的最小访问单位是。解: 字段(数据项) 6. 对表进行水平方向的分割用的运算 是。

解: 选择运算 7. 数据结构、和称为数据模型的三要素。解: 数据操作,数据约束条件 8. 关系的完整性约束条件包括完整性、完整性 和完整性三种。 解: 用户定义,实体,参照 二、单项选择题 1. 对数据库进行规划、设计、协调、维护和管理的人员,通常被称为( D )。 A. 工程师 B. 用户 C. 程序员 D. 数据库管理员 2. 下面关于数据(Data)、数据库(DB)、数据库管理系统(DBMS)与数据库系统(DBS)之间关系的描述正确的是( B )。 A. DB包含DBMS和DBS B. DBMS包含DB和DBS C. DBS包含DB和DBMS D. 以上都不对 3. 数据库系统的特点包括( D )。 A. 实现数据共享,减少数据冗余 B. 具有较高的数据独立性、具有统一的数据控制功能

C. 采用特定的数据模型 D. 以上特点都包括 4. 下列各项中,对数据库特征的描述不准确的是( D )。 A. 数据具有独立性 B. 数据结构化 C. 数据集中控制 D. 没有冗余 5. 在数据的组织模型中,用树形结构来表示实体之间联系的模型称为 ( D )。 A. 关系模型 B. 层次模型 C. 网状模型 D. 数据模型 6. 在数据库中,数据模型描述的是 ( C ) 的集合。 A. 文件 B. 数据 C. 记录 D. 记录及其联系 7. 在关系数据库中,关系就是一个由行和列构成的二维表,其中行对应( B )。 A. 属性 B. 记录 C. 关系 D. 主键 8. 关系数据库管理系统所管理的关系是( C )。 A. 一个二维表 B. 一个数据库

数据库上机习题及答案

数据库及应用复习题 一、设计题 有一个[学生课程]数据库,数据库中包括三个表: 学生表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

数据库管理系统试题及答案样本

一、简答题( 共5小题, 每题6分, 共30分) 1.简述数据库、数据库管理系统与数据库系统的概念。 答: 数据库: DataBase, 简称DB。是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存, 具有较小的冗余度、较高的数据独立性和易扩展性, 并可为各种用户共享。 数据库管理系统: DataBase Management System, 简称DBMS, 是位于用户与操作系统之间的一层数据管理软件, 用于科学地组织和存储数据、高效地获取和维护数据。它的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护。 数据库系统: DataBase System, 简称DBS, 它是包含数据库的具体应用系统, 由支持该应用系统的某一具体的数据库、数据库管理系统和应用程序三部分组成。 2.简述两段锁协议并说明两段锁协议和事务可串行化调度的关系。 答: 所谓两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。 1、在对任何数据进行读、写操作之前, 首先要申请并获得对该数据的封锁;

2、在释放一个封锁之后, 事务不再申请和获得任何其它封锁。 如果事务中所有的加锁操作都在事务的第一个解锁操作之前进行, 那么这个事务是遵循两段锁协议的。如果一个调度中的每个事务都遵循两段锁协议, 那么该调度必然是冲突可串行化的。 事务遵守两段锁协议是可串行化调度的充分条件, 而不是必要条件。 3.简述可串行化调度和正确调度。 答: 多个事务的并发执行是正确的, 当且仅当其结果与按某一次序串行执行它们的结果相同, 我们称这种调度策略为可串行 化的调度。 可串行性是并发事务正确性的准则, 按这个准则规定, 一个给定的并发调度, 当且仅当它是可串行化的, 才认为是正确调度。 4.简述数据库中的死锁现象, 并简述如何使用有向图方法检测死锁。 答: 死锁是指当两个或多个事务相互等待对方所拥有的锁被释放时, 所产生的僵持局面。 有向图G=( T, U) 。T为结点的集合, 每个结点表示正运行的事务; U为边的集合, 每条边表示事务等待的情况。若T1等待

数据库上机题目

上机时间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. 下列四项中,不属于数据库系统的主要特点的是()。 A.数据结构化B.数据的冗余度小 C.较高的数据独立性 D.程序的标准化 2. 数据的逻辑独立性是指() A.内模式改变,模式不变 B.模式改变,内模式不变 C.模式改变,外模式和应用程序不变 D.内模式改变,外模式和应用程序不变 3. 在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征 的是()。 A.外模式 B.内模式 C.存储模式 D.模式 4. 相对于非关系模型,关系数据模型的缺点之一是()。 A.存取路径对用户透明,需查询优化 B.数据结构简单 C.数据独立性高D.有严格的数学基础 5. 现有关系表:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业,出生 日期)的主码是()。 A.宿舍编号 B.学号 C.宿舍地址,姓名 D.宿舍编号,学号 6.自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然 连接时,要求R和S含有一个或多个共有的()。 A.元组 B.行 C.记录 D.属性 7.下列关系运算中,()运算不属于专门的关系运算。 A.选择B.连接 C.广义笛卡尔积D.投影 8. SQL语言具有()的功能。

A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵 9.从E-R模型关系向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的关键字是()。 A.M端实体的关键字B.N端实体的关键字 C.M端实体关键字与N端实体关键字组合 D.重新选取其他属性 10. SQL语言中,删除一个表的命令是() A. DELETE B. DROP C. CLEAR D. REMOVE 11. 图1中()是关系完备的系统 A B C D 图1 12.有关系模式A(S,C,M),其中各属性的含义是:S:学生;C :课程;M:名次,其语义是:每一个学生选修每门课程的成绩有一定的名次,每门课程中每一名次只有一个学生(即没有并列名次),则关系模式A最高达到()A.1NF B.2NF C.3NF D.BCNF 13.关系规范化中的删除异常是指 ( ) A.不该删除的数据被删除B.不该插入的数据被插入C.应该删除的数据未被删除D.应该插入的数据未被插入 14.在数据库设计中, E-R图产生于() A.需求分析阶段B.物理设计阶段 C.逻辑设计阶段D.概念设计阶段 15.有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于()。 A.实体完整性约束 B.参照完整性约束 C.用户自定义完整性约束 D.关键字完整性约束

数据库系统期末考试试题答案

数据库系统原理考核试题标准答案及评分细则 课程代码:考核方式: 闭卷考试时量:120分钟 一、选择题(每题2分,共20分) 1.A 2.C 3.AC 4.C 5.A 6.D 7.A 8.D 9.ABCD 10.A 二、填空题(每空1分,共20分) 1.DBMS主要功能包括:(数据定义)、(数据操纵)、数据库的运行管理、数 据库的建立和维护。 2.数据模型由数据结构、数据操作和完整性约束三部分组成,数据结构是对系统 (静态)特性的描述,数据操作是对系统(动态)特性的描述。 3.关系模型中可以有三类完整性约束。它们是(实体完整性)、(参照完整 性)和用户定义完整性。 4.关系代数的运算可分为(传统的集合运算)和专门关系的运算,从两个关系的 笛卡尔积中选取属性间满足一定条件的元组称为(连接)。 5.SQL语言是(结构化查询语言), 其中用(Revoke)语句用来取消用户权限。 6.SQL Server 2000的客户/服务器体系结构可以划分为:(客户端组件)、(服 务器端组件)和通信组件三部分 7.并发事务正确性的判断准则是:(可串行性(Serializability) ) 8.最基本的封锁模式有两种:(排它锁(eXclusive Locks,简称X锁) )和(共 享锁(Share Locks,简称S锁) ) 9.在查询分析器中使用Transact-SQL语句创建新的表,使用的命令是: (CREATE TABLE table_name ) 10.如果在标量统计查询中加入(GROUP BY )子句和(COMPUTE )子 句,那么在查询结果中就会对每一组产生一个统计数据,这种方法叫做矢量统计。 11.子查询存在测试是指父查询与子查询之间用谓词(EXISTS )进行连接,判 断子查询的结果中是否有数据存在。 12.关系代数中的∪运算要用SQL语言实现的话,应该使用合并查询,即使用命令 (UNION )将多个Select 的查询结果组合起来。 三、名词解释题、简答题(每题5分,共20分) 1.数据库——长期存储在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 2.客户/服务器结构的数据库系统——把数据库管理系统功能和应用程序分开,网络中的某个(些)结点上的计算机专门用于执行DBMS功能,这个(些)结点称为数据库服务器,通常简称服务器;其他结点上的计算机安装DBMS的外围

相关主题
文本预览
相关文档 最新文档