数据库研讨 实验 作业题

发布 2022-07-02 03:33:28 阅读 8878

第1周(第四章:sql体系结构、组成、建库建表,索引自学)

一、实验课:

1. 建立school数据库。

2. 在school下建立如下数据库表,根据表中数据选取合适的数据类型及宽度,设置各表的主键及表间外键联系:

注意:字段名是对应汉字字段名的汉语拼音第一个字母组合而成。

学生表s:学号,姓名,性别,出生日期,籍贯,手机号码,院系号;

表1:s 院系表d:院系号,名称,地址,联系**;

表2:d 教师表t:工号,姓名,性别,出生日期,学历,基本工资,院系编号;

表3:t 课程表c:课号,课名,学分,学时,院系号;(默认学分4,学时40)

表4:c 开课表o:学期,课号,工号,上课时间;

表5:o 选课表e:学号,学期,课号,工号,平时成绩,考试成绩,总评成绩;(成绩范围1-100)

表6:e3. 在学生表中建立索引idx1:院系号升序,姓名降序。

在课程表中建立索引idx2:课名。

二、研讨课:(参***)

1. 请说明school数据库中各表的主键和外键。同时说明:在学生表中的yxh字段输入“04”或在院系表中删除yxh为“01”记录,会有什么结果?

2. 什么是关系型数据库?什么是非关系型数据库?各举1个典型产品简单介绍他们特点?

3. 教师表中定义两个检查约束:

第2周(第四章:投影、选择、多表连接和嵌套,排序自学)

一、实验课:

1. 查询2023年进校年龄大于20岁的男学生的学号与姓名。

2. 检索刘晓明不学的课程的课程号。

3. 检索马小红老师所授课程的学年,学期,课程号,上课时间。

4. 查询计算机学院男生总评成绩及格、教授开设的课程的课程号、课名、开课教师姓名,按开课教师升序,课程号降序排序。

5. 检索学号比张颖同学大,年龄比张颖同学小的同学学号、姓名。

6. 检索同时选修了“08305001”和“08305002”的学生学号和姓名。

二、研讨课:

1. 用四种方法表达查询:检索马小红老师所授课程的学期,课程号,上课时间。

2. 检索有学生重修的教师编号和姓名。

3. 如果o表加一个个开课编号(标识码)会带来哪些影响(优缺点)?

第3周(第四章:除法、聚合函数、分组、集合操作,外连接自学)

一、实验课:

1. 验证在1000万个以上记录时在索引和不索引时的查询时间区别。

2. 查询每个学生选课情况(包括没有选修课程的学生)。

3. 检索所有课程都选修的的学生的学号与姓名。

4. 检索选修课程包含1106同学所学全部课程的学生学号和姓名。

5. 查询每门课程中分数最高的学生学号和学生姓名。

6. 查询年龄小于本学院平均年龄,所有课程总评成绩都高于所选课程平均总评成绩的学生学号、姓名和平均总评成绩,按年龄排序。

二、研讨课:

1. 什么是聚集索引?什么是非聚集索引?索引的作用是什么?请说明上述实验题1的验证过程及所得到的结果?

2. 用多种方法表达查询:检索同时选修了“数据库原理”和“离散数学”的学生学号和姓名。

3. 查询每门课的排名,输出课程号,学号,总评成绩,排名;按课程号升序,课程相同按排名从高到低。(提示:某个同学一门课的排名就是该门课成绩大于等于他的人数)

第4周(第四章:数据更新、视图、嵌入式sql部分自学)

一、实验课:

1. 建立计算机学院总评不及格成绩学生的视图,包括学生学号、姓名、性别、手机、所选课程和成绩。

2. 在e表中插入记录,把每个学生没学过的课程都插入到e表中,使得每个学生都选修每门课。

3. 求年龄大于所有女同学年龄的男学生姓名和年龄。

4. 在e表中修改***课程的平时成绩,若成绩小于等于75分时提高5%,若成绩大于75分时提高4%。

5. 删除没有开课的学院。

6. 查询优、良、中、及格、不及格学生人数。

二、研讨课:

1. 补全下面程序段虚线框中的语句,使该程序能够正确地利用给出的数据库,逐个显示年龄高于某个值(通过共享变量maxage给出)的学生的学号、姓名、性别、院系号,并按用户的当场要求,保持或修改这个学生的院系号(通过共享变量newdno中给出)。

void changedno()

exec sql begin declare section;

int maxage;

char xh[7], xm[9], sex[3], yxh[4], newdno[4];

exec sql end declare section;

gets(maxage);

exec sql open ex

while (1)

if ( 00000’)

break;

printf(“%s,%s, %s,%s”, eno, ename, sex, yxh);

printf(“update dno? ”

scanf(“%c”, yn);

if (yn==‘y’ or yn=‘y’)

printf(“input new dno: ”

scanf(“%c”, newdno);

exec sql close ex;

2. 1)用多种方法表达查询:检索刘晓明不学的课程的课程号。

2)删除没有开课的学院。

3. 视图。

1) 判断实验课第一题的视图能否更新。

2) 设计一个能更新的视图,要求更新后的数据满足视图定义的范围:“系统结构”还未有总评成绩的选课视图。写出如下对视图的更新命令,并判断是否可行,如不可行请说出理由。

插入数据(1107, 2013-2014秋季, 08305004, 0101, null,null,null)

插入数据(1107, 2012-2013冬季, 08305002,0102, null,null,null)

将所有学生平时成绩增加10分,但不能超过100分。

第5周(第。

一、二章:数据管理、数据库技术、数据库体系结构、dbms,自学dbs)

一、实验课:抽查前四周的实验内容。

二、研讨课:根据上半学期的学习情况,对学生在学习中的问题,两个班合班上习题课。

三、作业:数据库中的 “3”

1. 数据库发展史上的 3 个里程碑。

2. 数据库界 3 个图灵奖获得者。

3. 数据管理的 3 个阶段。

4. 3种数据模型。

5. 数据库系统 3 层体系结构。

6. 数据抽象过程中的 3 个世界。

7. 数据描述时的 3 层设计。

8. 数据模型 3 要素。

9. 3种数据模式。

10. 数据库的 3 次大论战。

11. 关系数据库的3种完整性约束。

12. 能唯一标识关系中每一行的属性或属性组,有那3种键。

13. 实体间的联系有那3种。

14. 关系的3种更新。

15. 文件系统的3个缺点。

第6周(第。

二、六章:e_r模型和扩展e-r模型)

一、实验课:数据库连接编程(pb10.0与sql serve r):第13章实验5-1

二、研讨课:

1. 根据以下说明设计实体联系图。

说明】某单位资料室需要建立一个图书管理系统,初步的需求分析结果如下:

1) 资料室有图书管理员若干名,他们负责已购入图书的编目和借还工作,每名图书管理员的信息包括工号和姓名;

2) 读者可在阅览室读书,也可通过图书流通室借还图书,读者信息包括读者id、姓名、**和email,系统为不同读者生成不同的读者id;

3) 每部书在系统中对应惟一的一条图书在版编目数据(cip,以下简称书目),书目的基本信息包括isbn号、书名、作者、出版商、出版年月,以及本资料室拥有该书的册数(以下简称册数),不同书目的isbn号不相同;

数据库上机实验作业题

1.从课程表中查询所有课程信息。2.从课程表中查询课程类别的信息。3.从课程表中查询课程类别,要求消除值相同的那些行。4.从学生表中查询所有的信息,要求只显示查询结果的前6行数据。5.查询课程表中课程编号 课程名称 教师 上课时间 限制选课人数和报名人数,要求查询结果显示如下 6.查询课程表的信息,...

数据库上机作业题 练习

说明 请在e盘根目录下建立一个以自己的班级 姓名命名的文件夹将数据库文件保存在其中,在文件夹中建立一个文本文档或word文档 注 以自己姓名命名 将相关题目的sql命令粘贴保存,操作完毕后将数据库分离出来。一 基础题。现有一个商店的数据库,记录顾客及其购物情况,由下面三个表组成 商品 商品号,商品名...

数据库作业实验

1 创建一个 v 发票信息 顾客信息 视图,基于 手镯营销系统 数据库中的 发票信息 表和 顾客信息 表,得到 发票编号 顾客编号 顾客姓名 联系 create view v 顾客信息 顾客信息 发票编号,消费者姓名,消费者编号,联系 as select 发票信息。发票编号,顾客信息。消费者编号,顾...