数据库实验上机题
数据库上机实验
创建数据表与数据输入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-22.使用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)Delete1.将teaching数据库中score表的studentno列设置为引用表student的外键。
ALTER TABLE ScoreADD CONSTRAINT FK_score_student FOREIGN KEY (studentno)REFERENCES student(studentno)2.将teaching数据库中class表的classname创建UNIQUE约束。
ALTER TABLE classADD CONSTRAINT UQ_class UNIQUE(classname)执行如下插入语句,查看提示信息INSERT INTO class VALUES(‘090602’, ’计算机0902’, ’计算机学院’, ’马文斐’) 3. 为teaching数据库中student表的birthday列创建CHECK约束,规定学生的年龄在17-25岁之间。
数据库应用上机练习题目
1、教学目的:(1)熟悉并掌握ACCESS数据库管理系统的应用;(2)加深对所学的关系型数据库基本理论的理解。
2、教学内容(1)熟悉教材中表3.1-3.6所列明的教学管理系统的数据关系的情况,对其中的某些不合理之处做出修改。
(2)按照表3.9-3.11所使用的格式,写出其余的三个表的表结构,并以表格的方式输入到一个Word文档之中。
(3)使用数据库管理系统ACCESS建立一空数据库,以自己的学号为其命名,并按照要求(2)中所确定的表结构,在空的数据库中建立各个数据表(特别注意,由于在以后的教学环节中该数据库文件仍将多次用到,请注意保存)。
(4)将表3.1-3.6中的数据输入到对应的数据表中,注意,省略号部分所代表的内容可以暂不考虑。
(5)为已经建立好的各个数据表建立主键。
(6)建立学生信息表、课程信息表和学生成绩表三个表之间的关系。
(7)将数据库文件和(2)中所要求建立的Word文件以其发送到指导教师的信箱,作为本次上机课考核的依据。
1、教学目的:(1)熟悉在在ACCESS数据库管理系统应用SQL结构化查询语言的方法;(2)熟练掌握SQL结构化查询语言中的命令,并能运用其实现对数据库(表)、记录的相关操作。
2、教学内容(1)使用CREATE命令在上次上级课程中所建立的数据库中建立表3.1-3.6中所示的数据表。
数据表中的字段的特征(类型、宽度等)为上次作业中WORD文档中所确定的结果(特别提示,表的名字不要重复)。
(2)将步骤(1)中所建立的各个数据表使用SQL命令删除。
(3)练习使用SQL结构化查询语言中的查询命令。
①查询所有教师的基本信息。
②查询“计算机系”全体教师的信息。
③查询“顾国为”老师的上课时间。
④查询全部核心课程的名称。
⑤查询“计算机文化”基础课程的平均成绩。
⑥查询学号为“970001”的同学的所选的课程的名称。
⑦查询选课两门以上的同学的学号。
⑧查询1978年12月31日之前出生的同学的信息。
数据库上机实验题目和答案
试用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 swhere sex='男' and age>233.检索‘c01’课程中一门课程的女学生姓名select sname from swhere sex='女' and sno in(select sno from sc where cno='c01')4.检索s01同学不学的课程的课程号。
select cno from cwhere cno not in (select cno from sc where sno ='s01')5.检索至少选修两门课程的学生学号。
select sc.sno from s,scwhere s.sno=sc.snogroup by sc.snohaving count(o)>=26.每个学生选修的课程门数。
解法一:select so.sno sno,ount,s.snamefrom(select sc.sno sno,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno ) so,swhere s.sno=so.sno解法二:select sc.sno sno,s.sname,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno,sname7.求选修C4课程的学生的平均分。
数据库上机题目
上机时间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。
数据库上机考试试题及答案
1下列说法中正确的是:( D )A 、 SQL 中局部变量可以不声明就使用B 、 SQL 中全局变量必须先声明再使用C 、 SQL 中所有变量都必须先声明后使用D 、 SQL 中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己建立。
2.哪个关键字用于测试跟随的子查询中的行是否存在( B )。
A.MOV B.EXISTSC.UNION D.HAVING3 .下列哪些语句用于创建存储过程( A )?A、CREATE PROCEDUREB、CREATE TABLEC、DROP PROCEDURED、其他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 XPServer是一个( C )的数据库系统。
(A)网状型(B)层次型(C)关系型(D)以上都不是语言中,删除一个视图的命令是( B )。
A. DELETEB. DROPC. CLEARD. REMOVE语言中,删除记录的命令是( A )。
A. DELETEB. DROPC. CLEARD. REMOVE14.以下触发器是当对[employee表]进行( D )操作时触发。
数据库系统上机实验题
数据库系统上机实验题一、学生学习系统的基本表学生:s(sno,sname,sex,age,dept);表中属性分别为:学号,姓名,性别,年龄和系名。
课程:c(cno,cname,tname);表中属性分别为:课号,课名,教师名。
选课:sc(sno,cno,grade);表中属性分别为:学号,课号和成绩。
要求:利用sql语句创建上面三个基本表,包括:主键,外键定义。
有针对性地输入一些实验数据。
二、利用sql语句,在上面三个基本表,顺利完成如下的功能1.查找学号2至10号学生的学号、姓名和系名。
2.查找女同学的人数。
3.搜寻学号2至10号学生中,女同学的人数。
4.查找男、女同学各有多少人(注:输出性别和人数)。
5.搜寻‘cs’系则中,男、女同学各存有多少人(备注:输入性别和人数)6.搜寻年龄在18至20岁之间的所有男同学的学号、姓名和系名。
7.搜寻所有学生报读课程的门数。
8.查找学号2至15号学生中,英语成绩超过80分的学生学号和姓名。
9.查找没有学习‘物理’课程的学生姓名和系名。
10.查找‘王明’同学所学课程的门数。
11.统计数据‘王明’同学所学各门课程的平均值分数。
12.统计数据英语成绩低于该课程平均值成绩的人数。
13.查找查找至少选修了‘王一’和‘王二’老师所授课程的学生学号与姓名。
14.查找‘cs’系比‘ma’系的学生年龄都小的学生姓名和系名。
15.统计每个学生的总分,输出学生的学号和总分,总分按降序排列。
16.查找学号比‘王一’同学大,而年龄比他小的学生学号、姓名和年龄。
17.查找年龄大于女同学的平均年龄的男同学的姓名与年龄。
18.查找只选修了一门课程的同学的学号和姓名。
19.搜寻‘cs’系则学生中,没报读‘王一’老师课程的学号、姓名和系名。
20.搜寻至少报读了3门课程的学生学号和姓名。
21.搜寻每门课程的最高分和最低分。
(备注:输入课号、最高分和最低分)22.使用查阅视图方式顺利完成21题的功能:利用视图方式的步骤:创建视图,例如:gdf(cno,max,min)属性:课号、最高分和最低分。
mysql数据库上机操作题
好的,以下是一个简单的MySQL数据库上机操作题:
1.创建一个名为"students"的数据库。
2.在"students"数据库中创建一个名为"student"的表,该表包含以下列:id
(整数类型,主键),name(字符串类型,长度为50),age(整数类型),gender(字符串类型,长度为10)。
3.向"student"表中插入以下数据:
id | name | age | gender
---|-------|-----|-------
1 | Alice | 20 | female
2 | Bob | 22 | male
3 | Carol | 21 | female
4.查询所有年龄大于等于21岁的学生信息。
5.更新Alice的年龄为21岁。
6.删除Bob的记录。
7.查询所有女生的信息。
8.将Carol的性别更改为"male"。
9.查询所有年龄为21岁的学生信息。
10.删除所有年龄为21岁的学生信息。
请根据以上要求在MySQL数据库中进行操作,并给出相应的SQL语句。
数据库系统原理上机操作样题及答案
数据库系统原理上机操作样题一、某物流公司数据库包含以下5个关系:快递员C(Cno,Cname,Cage,Csalary),分别为快递员编号、快递员姓名、快递员年龄和快递员底薪。
包裹信息P(Pno,Pfrom,Pto,Preceiver,Ptel,Pstatus),分别为物流号、寄出地址、收货地址、收件人姓名、收件人联系方式和包裹状态。
仓库W(Wno,Wname,Waddress),分别为仓库编号、仓库名和仓库地址。
配送D(Cno,Pno,Dtime),分别为快递员编号、物流号和配送时间。
存储S(Wno,Pno),分别为仓库编号和物流号。
其中C由Cno唯一标识,P由Pno唯一标识,W由Wno唯一标识,D由Cno和Pno唯一标识,S由Wno和Pno唯一标识。
其中Dtime格式为yyyy-MM-dd(统一格式可直接比较大小)1. 用SQL查询收件人姓名为“李四”的包裹物流号、配送员姓名和配送时间。
1.SELECT P.Pno,Cname,Dtime FROM C,D,P WHERE o=o AND P.Pno=D.Pno AND P.Preceiver='李四';2. 查询2017-4-1至2017-5-1(包括2017-4-1和2017-5-1这两天)配送包裹数量至少为100个的快递员的姓名、年龄和底薪。
2.SELECT ame,c.Cage,c.Csalary FROM c,dWHERE o = o AND (d.Dtime BETWEEN '2017-4-1' AND '2017-5-1')GROUP BY CnameHAVING COUNT(*) >= 100;3. 对所有年龄低于40的快递员,若底薪小于2500,则增加400工资,若大于等于2500,则增加200工资。
提示:SQL中的三目条件运算格式:IF(expr1,expr2,expr3),expr1为真则返回expr2的值,否则返回expr3的值。
数据库上机习题及答案
数据库上机习题及答案 Revised by Liu Jing on January 12, 2021数据库及应用复习题一、设计题有一个[学生课程]数据库,数据库中包括三个表:学生表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, GradeFROM SGWHERE Cno='3'ORDER BY Grade DESC4.SELECT MAX(Grade), AVG(Grade)FROM SCWHERE Cno='1'5.SELECT Sno, Sname, SdeptFROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname='李洋')6. UPDATE SGSET Grade=0WHERE Sno in( SELECT Sno FROM StudentWHERE Sdept = '计算机系')7.DELETE FROM StudentWHERE Sno='05019'8. DELETE FROM SGWHERE Sno in( SELECT Sno FROM StudentWHERE Sdept = '计算机系')二、设计题现有关系数据库如下:数据库名:教师数据库教师表(编号 char(6),姓名,性别,民族,职称,身份证号)课程表(课号 char(6),名称)任课表(ID,教师编号,课号,课时数)用SQL语言实现下列功能的sql语句代码:1. 创建上述三表的建库、建表代码(14分);要求使用:主键(教师表.编号,课程表.课号)、外键(任课表.教师编号,任课表.课号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别、课时数),自动编号(ID)2. 将下列课程信息添加到课程表的代码(6分)课号课程名称100001 SQL Server数据库100002 数据结构100003 VB程序设计修改课号为100003的课程名称:Visual Basic程序设计删除课号为100003的课程信息3. 写出创建[任课表视图](教师编号,姓名,课号,课程名称,课时数)的代码;(4分)4. 写出创建[某门课任课教师]内嵌表值函数以及检索的代码;(6分)检索:所有代'SQL Server数据库'这门课程的老师姓名;5. 写出创建[统计课时数]:输出最大课时数、最低课时数、平均课时的存储过程以及执行代码;(6分)6.写出创建:计算某教师代课总课时,并将值返回的存储过程以及执行代码。
数据库上机考试题
是
操作步骤如下:(注,要求 age 为计算列,其值由 birthday 来求得。)
说明 工号 职工姓名 性别 出生年月
年龄
约束
不能晚于当前 系统日期
插入相应的数据(至少 2 条),工号的格式与自己的学号格式相同。要求其中有一条记录以自已的学号作为工号,并含自己 的名字,其它信息自拟,但不得包括同班其他同学信息。 给出 select * from employee 的查询结果:
操作步骤如下:
插入相应的数据(至少 2 条),要求其中有一条记录含自已的工号(与自己学号相同)和项目号,奖金额在$1000~$2000,另一 条记录也包含自己的学号,项目号自选,奖金额是该项目中的最高奖金额。其它信息自写,但不能包括其他同学的学号信 息。给出 select * from bonus 的查询结果:
的职工年龄小的职工的详细资料。 基本操作步骤:
9、使用企业管理器创建简单触发器 创建一个触发器 delete_project_XXXXXXXX(注:XXXXXXXX 为你的学号),在删除了一个项目之后,删除和这个项
目有关的全部信息。 创建步骤:
触发器的触发执行测试语句(T-SQL):
执行结果:
10、使用企业管理器创建索引 为 project 表创建一个非聚集索引 Xna_index_XXXXXXXX(注:索引名后要加上自己的学号),索引关键字为
3、创建表 bonus 表(记录按职工所参与的项目所发放的奖金的信息情况表)
bonus 表结构及其约束为:
表 3 bonus 表结构和约束
列名称
类型
宽度 允许空值
约束
主键
Employee_no
Char
8
否
Project_no
数据库上机题2(实验上机)
实验三写出创建Student、Course和SC表的SQL语句,并建立数据库1、Student:Sno 学号字符串长度7 主键Sname 姓名字符串长度10 非空Ssex 性别字符串长度2Sage 年龄整数Sdept 系字符串长度202、Course:Cno 课程号字符串长度6 主键Cname 课程名字符串长度20 主键Credit 学分整数Semster 学期整数3、SC:Sno 学号字符串长度7 主键,引用student外码Cno 课程号字符串长度6 主键,引用Course外码Grade 成绩实数实验四上文的Student、Course和SC表结构实现如下操作。
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课程的学生的姓名和所在系。
数据库上机题
(1)统计每个同学的平均分,按平均分的降序排列。
select Sno,AVG(Grade) from SC group by Sno order by Grade Desc;
(2)查询总分最高的学生的学号。
select Sno from SC GROUP BY Sno having SUM(Grade)>=ALL (
( 3)查询选修了 1 号课程并且选修了以 1 号课程为先行课的课程的学生学号。
select Sno from SC where Cno='1' and Sno in (select Sno from SC where Cno in (Select Cno from Course where Cpno='1'));
select Cno,Cname from Course where Cpno='6' and Ccredit='4';
( 2)查询选修了 1 号课程的学生学号与选修成绩不及格的学生学号的差集。
select Sno from SC where Cno='1' and Grade>=60;
认值等列级数据约束;③实现相关约束:借阅表与图书表之间、借阅表与读者表之间的外码
约束;读者性别只能是“男”或“女”的约束(通过帮助自学)。
create table Book(
Bno varchar(20) primary key,
Bclass varchar(20) unique,
Rno varchar(20),
Lentdate date not null,
primary key (Bno,Rno),
8个数据库的上机实验作业题
实验作业要求:这是数据库的上机实验作业题,请大家任选其中的两个数据库,完成以下任务:(1)绘制E-R图(2)写出所有关系模式(即表)(3)写出创建所有表的SQL语句(包括外键参考语句)注意事项:在作业中要明确标出是哪两个数据库。
数据库设计实例一学生选课数据库某学院有基本实体集:系、教师、学生和课程。
它们各有属性:系:系编号、系名,位置课程:课程号,课程名称,开课学期学生:学生学号,学生姓名、性别、地址教师:员工号,教师姓名,办公室实体间有联系:每个系有一位系主任,有多位教师;一个教师仅在一个系任;每个系开设多门不同课程;每门课程各由一位教师授课;一个学生可以在不同的系选修多门课程。
存在联系有:1对1 :系与系主任(系主任是教师)1对多:系与教师、系与课程,教师与课程多对多:学生与课程数据库设计实例二虚拟主机业务管理有实体:职工(职工号、姓名、性别、出生年月、工作类别、职称、密码、备注)主机(主机序号、操作系统、生产厂商、状态、空间数量、备注)用户单位(用户单位名称、联系人姓名、联系电话)实体之间的关系:职工(销售员)与主机的管理关系是一对多的关系一个销售员可销售多台主机,一台主机只能由售员销售。
职工(运行维护员)与主机的维护关系是多对多关系,一个运行维护员可维护多台主机,一台主机能多个运行维护员维护。
职工(管理员)与主机是一对多关系,一个管理员管理多台主机,一台主机只能由一个管理员管理,主机与用户单位是多对多的,一台主机可分配给多个用户单位,一个用户单位可租用多台主机。
每次租用由一位销售员经手数据库设计实例三再就业信息管理有实体:职工(编号、姓名、性别、出生年月、工作类别、职称、工作年限、专业、学历)企业(企业编号、企业名称、企业性质、联系人姓名、联系电话)岗位(岗位编号、岗位名称、学历要求、职称要求、工种、工作年限)实体之间的关系职工与岗位之间的申请关系是多对多的关系,一个职工可申请多个就职岗位,同样一个岗位能被许多职工申请。
数据库上机实验部分题目及答案
上机实验部分题目及答案一、实验目的1、基本表的定义、修改和删除2、视图的建立、删除和查询3、约束的命名、删除和重定义二、实验结果存放创建表homework8(result ),将每题的题目序号和SQL语句写到此表。
三、实验内容现有图书管理数据库的一个关系模式:book(总编号,分类号,书名,作者,出版单位,单价)1.利用SQL语句创建book的表结构,其中总编号为主码,书名的类型为char(50),并给主码的约束命名(主码约束命名参照第五章内容)。
2.利用SQL在book这个表中分别插入以下所给元组:34、为“数据库导论”设置“出版日期”的值为2009年6月5日,为“计算机基础”设置“出版日期”的值为2008年3月4日。
5、删除总编号为445503的元组。
6、删除列“出版日期”。
7、将列“书名”的类型改为char(100),其中修改列类型的语句为:alter table <表名>[modify 列名数据类型]8、删除book的主码约束(参照第五章)9、将表book中的总编码设置为主码(参照87页内容)。
11.建立表book1,其表结构与内容参照第2题。
12. 为表book1建立科学出版社所出图书的视图science13、删除表book1,其中删除表的格式为:drop table <表名>[restrict|cascade constraint] 其中restrict与cascade参数的含义参照87页14、为表book建立高等教育出版社所出图书的视图education15、查询视图education中的所有内容16、删除视图educationdrop table homework8drop table bookcreate table homework8(ti smallint,res char(400))create table book(总编码char(8) ,分类号char(7),书名char(50),作者char(30),出版单位char(200),单价char(8),constraint total primary key(总编码) )insertinto homework8(ti,res)values (1,'create table book(总编码char(8) ,分类号char(7),书名char(50),作者char(30),出版单位char(200),单价char(8),constraint total primary key(总编码) )')22222222insertinto book(总编码,分类号,书名,作者,出版单位,单价)values ('445501','TP3/12','数据库导论','王强','科学出版社','17.90')insertinto book(总编码,分类号,书名,作者,出版单位,单价)values ('445502','TP3/12','数据库导论','王强','科学出版社','17.90')insertinto book(总编码,分类号,书名,作者,出版单位,单价)values ('445503','TP3/12','数据库导论','王强','科学出版社','17.90')insertinto book(总编码,分类号,书名,作者,出版单位,单价)values ('332211','TP5/10','计算机基础','李伟','高等教育出版社','18.00')3333333alter table bookadd 出版日期char(20)alter table bookadd 页数char(5)444444444444444444444444444444444444444update bookset 出版日期='2009年6月5日'where 书名='数据库导论'update bookset 出版日期='2008年3月4日'where 书名='计算机基础'55555555555555555555555555555555555555 deletefrom bookwhere 总编号='445503'66666666666666666666666666666666666666 alter table bookdrop column 出版日期777777777777777777777777777777777777777 alter table bookmodify 书名char(100)8888888888888888888888888888888888888 alter table bookdrop constraint total9999999999999999999999999999999999999 alter table bookadd primary key (总编码)11 11 11 11 11 11 11 11 11 11 create table book1(总编码char(8) ,分类号char(7),书名char(50),作者char(30),出版单位char(200),单价char(8),constraint total primary key(总编码))12 12 12 12 12 12 12 12 CREATE VIEW scienceASSELECT 总编码,分类号,书名,作者,出版单位,单价FROM book1WHERE 出版单位='科学出版社'13DROP TABLE book114CREATE VIEW educationASSELECT 总编码,分类号,书名,作者,出版单位,单价FROM bookWHERE 出版单位='高等教育出版社'15SELECT *FROM education16DROP VIEW education。
数据库上机实验题(七、八、九)
上机实验题7相关知识:第14章。
目的:通过本实验,掌握使用函数和存储过程的设计和使用方法。
实验内容:编写满足如下各功能的程序:(1)在Library数据库中创建一个标量值函数Sum(n),求1+2+…+n之和。
并用相关数据进行测试。
(2)在Library数据库中创建一个内联表值函数nbook,返回指定系的学号、姓名、班号、所借图书名和借书日期。
并用相关数据进行测试。
(3)在Library数据库中创建一个多语句表值函数pbook,返回系名和该系所有学生所借图书的平均价格。
并用相关数据进行测试。
(4)设计一个存储过程,查询每种图书品种的数目。
并用相关数据进行测试。
(5)设计一个存储过程,采用模糊查询方式查找借阅指定书名的学生,输出学号、姓名、班号和书名。
并用相关数据进行测试。
设计过程:(1)对应的参考程序如下:USE LibraryGOIF EXISTS(SELECT * FROM sysobjectsWHERE name='Sum' AND type='FN') --如果存在这样的函数则删除之 DROP FUNCTION SumGOCREATE FUNCTION Sum(@n int) --输入参数RETURNS intASBEGINDECLARE @s int,@i intSET @s=0SET @i=1WHILE @i<=@nBEGINSET @s=@s+@iSET @i=@i+1ENDRETURN(@s)ENDGOPRINT '1+2+...+60='+CAST(dbo.Sum(60) AS char(10))GO(2)对应的参考程序如下:USE LibraryGOIF EXISTS(SELECT * FROM sysobjects --如果存在这样的函数则删除之WHERE name='nbook' AND (type='IF' OR type ='TF'))DROP FUNCTION nbookGOCREATE FUNCTION nbook(@dname char(16))--建立函数nbookRETURNS TABLE --返回表,没有指定表结构,这是内联表值函数的特征ASRETURN(SELECT s.学号,s.姓名,s.班号,b.图书名,bor.借书日期FROM student s,depart sc,borrow bor,book bWHERE s.班号=sc.班号 AND s.学号=bor.学号 AND b.图书编号=bor.图书编号 AND sc.系名=@dname)GOSELECT *FROM nbook('计算机系')ORDER BY 学号GO(3)对应的参考程序如下:USE LibraryGOIF EXISTS(SELECT * FROM sysobjects --如果存在这样的函数则删除之WHERE name='pbook' AND (type='IF' OR type ='TF'))DROP FUNCTION pbookGOCREATE FUNCTION pbook() --建立函数pbookRETURNS @st TABLE(系名 char(16),平均价格 decimal(4,1))ASBEGININSERT @st --向@st中插入满足条件的记录SELECT sc.系名 AS '系名',AVG(b.定价) AS '平均价格'FROM depart sc,student s,book b,borrow borWHERE s.班号=sc.班号 AND s.学号=bor.学号 AND b.图书编号=bor.图书编号GROUP BY sc.系名RETURNENDGOSELECT * FROM pbook()GO(4)对应的参考程序如下:USE LibraryGO--若存在存储过程proc1,则删除之IF EXISTS(SELECT * FROM sysobjects WHERE name='proc1'AND type='P')DROP PROCEDURE proc1GO--创建存储过程proc1CREATE PROCEDURE proc1ASSELECT 图书名 AS '书名',COUNT(*) AS '数目'FROM bookGROUP BY 图书名GOEXEC proc1(5)对应的参考程序如下:USE LibraryGO--若存在存储过程proc2,则删除之IF EXISTS(SELECT * FROM sysobjects WHERE name='proc2' AND type='P')DROP PROCEDURE proc2GO--创建存储过程proc2CREATE PROCEDURE proc2(@bn char(16))ASDECLARE @pt char(16)SET @pt='%'+RTRIM(@bn)+'%'SELECT s.学号,s.姓名,s.班号,b.图书名FROM student s,book b,borrow borWHERE s.学号=bor.学号 AND b.图书编号=bor.图书编号AND b.图书名 LIKE @ptORDER BY s.班号GOEXEC proc2 '数'上机实验题8相关知识:第15章。
数据库上机题目
实验第一部分数据库操作一:熟悉ACCESS环境(不用提交)下面的实验要在七周内完成实验1 建立学生、课程及成绩表,录入部分数据,并设计验证实体、参照及用户自定义完整性。
实验第二部分SQL语句VB数据库访问技术二:SQL语句及VB数据库访问技术(要提交)下面的SQL语句要求在“学生成绩管理”数据库进行测试。
下面的实验要在八至十周内完成,要求提交纸质实验报告,实验报告包括:实验题目、SQL 语句及查询结果的截图(查询的名称为自己的学号加姓名)。
【实验2_1】查询学生基本信息表中的所有信息。
SQL语句如下:345345545【实验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的课程编号、课程名称、任课教师和上课时间。
数据库上机考试试题及答案
1下列说法中正确的是:( D )A 、 SQL 中局部变量可以不声明就使用B 、 SQL 中全局变量必须先声明再使用C 、 SQL 中所有变量都必须先声明后使用D 、 SQL 中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己建立。
2.哪个关键字用于测试跟随的子查询中的行是否存在( B )。
A.MOV B.EXISTSC.UNION D.HAVING3 .下列哪些语句用于创建存储过程( A )?A、CREATE PROCEDUREB、CREATE TABLEC、DROP PROCEDURED、其他5.在SQL中,SELECT语句的“SELECT DISTINCT”表示查询结果中 ( C )。
A.属性名都不相同B.去掉了重复的列C.行都不相同D.属性值都不相同6.SQL 语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATA实现下列哪类功___A_____。
A. 数据查询B. 数据操纵C. 数据定义D. 数据控制7.SQL Server 2000 采用的身份验证模式有( D )。
(A)仅Windows身份验证模式(B)仅SQL Server身份验证模式(C)仅混合模式(D)Windows身份验证模式和混合模式10.SQL Server 2000 企业版可以安装在操作系统上。
( C )(A)Microsoft Windows 98(B)Microsoft Windows 2000 Professional(C)Microsoft Windows 2000 Server(D)Microsoft Windows XP11.SQL Server是一个( C )的数据库系统。
(A)网状型(B)层次型(C)关系型(D)以上都不是12.SQL语言中,删除一个视图的命令是( B )。
A. DELETEB. DROPC. CLEARD. REMOVE13.SQL语言中,删除记录的命令是( A )。
数据库上机实验作业题
数据库上机实验作业题本页仅作为文档页封面,使用时可以删除This document is for reference only-rar21year.March数据库上机实验作业题1.从课程表中查询所有课程信息2.从课程表中查询课程类别的信息。
3.从课程表中查询课程类别,要求消除值相同的那些行。
4.从学生表中查询所有的信息,要求只显示查询结果的前6行数据。
5.查询课程表中课程编号、课程名称、教师、上课时间、限制选课人数和报名人数,要求查询结果显示如下:6.查询课程表的信息,要求给出查询结果为:7.在课程表中查询课程类别为“信息技术”,并且学分为“2”的课程。
8.查询课程表的课程信息、报名人数与限选人数之比。
9.查询课程表中最小的报名人数、最大的报名人数以及平均报名人数。
10.查询课程信息、报名人数与限选人数之比。
要求查询结果按照报名人数升降排序。
11.查询课程表的教师名、课程编号、课程名,要求查询结果按照教师名降序排序,教师名相同时,则按照课程编号升序排序。
12.查询课程编号为“004”、“007”、“013”的课程信息。
13.查询课程编号不为“004”、“007”、“013”的课程编号和课程名称。
14.查询课程名以字母D开始的课程信息。
15.查询课程名以“制作”两字结尾的课程信息。
16.查询姓名第二个字为“宝”的学生信息。
17.查询不姓“刘”的学生信息。
18.查询课程表中教师姓名未定的课程信息。
19.查询报名人数少于15人的课程信息。
20.查询报名人数少于25并且多于15人的课程信息。
21.查询报名人数少于25并且等于15人的课程信息,要求查询结果按照报名人数降序排列。
22.查询报名人数少于25并且少于15人的课程信息,要求查询结果按照报名人数降序排列。
23.查询课程表中“信息技术”类课程信息,并计算平均报名人数。
24.按类别显示课程信息,并计算各类课程的平均报名人数。
25.按课程类别分组统计各类课程的平均报名人数。
数据库的上机实验试题
102.请为下边关系图书(学号,姓名,性别,系部,书号,书名,作者,出版社,借书日期,还书日期,是否续借);医疗(患者编号,患者姓名,患者性别,医生编号,医生姓名,诊断日期,诊断结果,恢复情况,科室编号,科室名称,医生电话,医生职称);教学(学号,姓名,性别,出生日期,系部,系主任,任课教师,课程号,课程名,成绩,学分,教师职务,联系电话);仓库(管理员号,管理员姓名,性别,年龄,商品号,商品名,类别,购入日期,库存量,单位,数量,库房编号,库房名称)化分为第三范式?并指出各关系主码及可能存在的外码。
1、图书(学号,姓名,性别,系部,书号,书名,作者,出版社,借书日期,还书日期,是否续借)图书(书号,书名,作者,出版社)主码:书号读者(学号,姓名,性别,系部)主码:学号借书情况(书号, 学号,借书日期,还书日期,是否续借)主码:书号,借书日期外码:书号,学号2、医疗(患者编号,患者姓名,患者性别,医生编号,医生姓名,诊断日期,诊断结果,恢复情况,科室编号,科室名称,医生电话,医生职称)患者(患者编号,患者姓名,患者性别,)主码:患者编号医生(医生编号,医生姓名)主码:医生编号科室(科室编号,科室名称,医生电话,医生职称)主码:科室编号患者情况(患者编号,患者姓名, 诊断日期,诊断结果,恢复情况)主码:患者编号,诊断日期外码:患者编号,患者姓名3、教学(学号,姓名,性别,出生日期,系部,系主任,任课教师,课程号,课程名,成绩,学分,教师职务,联系电话)学生(学号,姓名,性别,出生日期,系部)主码:学号课程(课程号,课程名,成绩,学分,任课教师)主码:课程号系(系部,系主任)主码:系部教师(教师职务,联系电话,任课教师,系部)主码:教书职务外码:系部4、仓库(管理员号,管理员姓名,性别,年龄,商品号,商品名,类别,购入日期,库存量,单位,数量,库房编号,库房名称)管理员(管理员号,管理员姓名,性别,年龄)主码:管理员号商品(商品号,商品名,类别,购入日期,单位,数量)主码:商品号库房(库房编号,库房名称,库存量,管理员号)主码:库房编号外码:商品号库存(商品号,库房编号,库存量)主码:商品号,库房编号外码:商品号,库房编号103、请设计一个宾馆管理系统数据模型,要求:分析并写出系统有可能涉及的全部数据表(字段名称,类型,长度等等),并指出各表主码及相互间的关联.(提示:系统涉及了房间信息,客户信息,管理人员信息,住宿信息,收费信息等相关内容)(宾馆客房管理系统的数据流——客人信息)(宾馆客房管理系统的数据流——入住登记)(宾馆客房管理系统的数据流——房间状态)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、要求:
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 非空
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分。