数据库上机习题及答案
Access数据库上机练习加答案解析

全国计算机等级考试二级上机题库I第1套题目一、基本操作题请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下:注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。
考生文件夹下存在一个数据库文件“samp1.mdb”,里面已经设计好表对象“tStud”。
请按照以下要求,完成对表的修改:(1)设置数据表显示的字体大小为14、行高为18。
(2)设置“简历”字段的设计说明为“自上大学起的简历信息”。
(3)将“年龄”字段的数据类型改为“整型”字段大小的数字型。
(4)将学号为“20011001”学生的照片信息换成考生文件夹下的“photo.bmp”图像文件。
(5)将隐藏的“党员否”字段重新显示出来。
(6)完成上述操作后,将“备注”字段删除。
二、简单应用题请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下:注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。
考生文件夹下存在一个数据库文件“samp2.mdb”,里面已经设计好三个关联表对象“tStud”、“tCourse”、“tScore”和一个临时表对象“tTemp”。
试按以下要求完成设计:(1)创建一个查询,按所属院系统计学生的平均年龄,字段显示标题为“院系”和“平均年龄”,所建查询命名为“qT1”。
(2)创建一个查询,查找选课学生的“姓名”和“课程名”两个字段内容,所建查询命名为“qT2”。
(3)创建一个查询,查找有先修课程的课程相关信息,输出其“课程名”和“学分”两个字段内容,所建查询命名为“qT3”。
(4)创建删除查询,将表对象“tTemp”中年龄值高于平均年龄(不含平均年龄)的学生记录删除,所建查询命名为“qT4”。
三、综合应用题请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下:注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。
mysql上机考试题及答案

mysql上机考试题及答案1. 题目:请写出在MySQL中创建一个名为`students`的表,该表包含`id`(主键,自增)、`name`(姓名,字符串类型)、`age`(年龄,整型)和`class`(班级,字符串类型)四个字段的SQL语句。
答案:```sqlCREATE TABLE students (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50),age INT,class VARCHAR(50));```2. 题目:向`students`表中插入一条新记录,记录的姓名为“张三”,年龄为18,班级为“高一1班”。
答案:```sqlINSERT INTO students (name, age, class) VALUES ('张三', 18, '高一1班');```3. 题目:查询`students`表中所有学生的姓名和年龄,并按年龄降序排列。
答案:```sqlSELECT name, age FROM students ORDER BY age DESC;```4. 题目:更新`students`表中姓名为“张三”的学生记录,将其年龄改为20。
答案:```sqlUPDATE students SET age = 20 WHERE name = '张三';```5. 题目:删除`students`表中年龄小于18岁的所有学生记录。
答案:```sqlDELETE FROM students WHERE age < 18;```6. 题目:创建一个名为`teachers`的表,该表包含`teacher_id`(主键,自增)、`teacher_name`(教师姓名,字符串类型)、`subject`(教授科目,字符串类型)和`department`(所属部门,字符串类型)四个字段。
答案:```sqlCREATE TABLE teachers (teacher_id INT AUTO_INCREMENT PRIMARY KEY,teacher_name VARCHAR(50),subject VARCHAR(50),department VARCHAR(50));```7. 题目:为`students`表和`teachers`表建立外键约束,假设每个学生只能有一个班主任,班主任的`teacher_id`与`teachers`表的主键相对应。
数据库上机答案

数据库上机11、新建工厂数据库factory。
create database factoryon(name=factory_data,filename='d:\factory.mdf')log on(name=factory_log,filename='d:\factory.ldf')2、数据库factory包括职工表worker、部门表depart和职工工资表salary。
用SQL语句建立这三个表并输入数据,其表结构及用例数据分别如下:职工表结构为:职工号:int;姓名:char(8) ;性别:char(2) ;出生日期:datetime;党员否:char(2) ;参加工作:datetime;部门号:int;其中职工号为主码。
部门表结构为:部门号:int;部门名:char(10);其中部门号为主码。
职工工资表结构为:职工号:int;日期:datetime;工资:decimal(6,1) ;其中职工号和日期为主码。
create table worker( 职工号int primary key, 姓名char(8) ,性别char(2),出生日期datetime,党员否char(2),参加工作datetime,部门号int)create table depart( 部门号int primary key, 部门名char(10))create table salary( 职工号int,日期datetime,工资decimal(6,1),Primary key(职工号,日期))3. 显示部门的详细信息。
select * from depart4.查询3号职工的工资单。
select * from salary where职工号=35.显示所有职工的姓名及年龄,并按姓名升序显示。
select 姓名, 2015-year(出生日期) '年龄' from worker order by姓名6. 求出各部门的部门号及党员人数。
数据库上机实验题目和答案

试用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课程的学生的平均分。
数据库上机考试试题及答案

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 )操作时触发。
全国计算机等级考试上机考试题库三级数据库技术9

第9套新增真考试题一、单选题((1)~(20)每题1分,(21)~(30)每题2分,共40分)1.下列不属于数据库应用系统物理设计阶段活动的是()。
A)数据库物理结构设计B)数据库事务详细设计C)应用程序详细设计D)数据库备份与恢复设计2.在一个ER图中,包含三个实体集,两个二元一对多联系,两个二元多对多联系,则将该ER图转化为关系模型后,得到的关系模式个数是()。
A)4个B)5个C)6个D)7个3.DFD建模方法由四种基本元素组成,其中用来描述数据的提供者或使用者的是()。
A)数据流B)处理C)数据存储D)外部项4.从功能角度数据库应用系统可以划分为四个层次,其中负责与DBMS交互以获取应用系统所需数据的是()。
A)表示层B)业务逻辑层C)数据访问层D)数据持久层5.现有商品表(商品号,商品名,商品价格,商品描述),销售表(顾客号,商品号,销售数量,销售日期)。
关于性能优化有以下做法:Ⅰ.因为很少用到商品描述属性,可以将其单独存储Ⅱ.因为经常按照商品名查询商品的销售数量,可以在销售表中添加商品名属性Ⅲ.因为经常执行商品表和销售表之间的连接操作,可以将它们组织成聚集文件Ⅳ.因为经常按照商品号对销售表执行分组操作,可以将销售表组织成散列文件以上做法中,正确的是()。
A)仅Ⅰ和Ⅱ和ⅢB)仅Ⅰ、Ⅱ和ⅣC)仅Ⅱ、Ⅲ和ⅣD)全部都是6.已知有关系:学生(学号,姓名,年龄),对该关系有如下查询操作:SELECT学号FROM学生WHERE姓名LIKE′张%′AND年龄!=15为了加快该查询的执行效率,应该()。
A)在学号列上建索引B)在姓名列上建索引C)在年龄列上建索引D)在学号和年龄列上建索引7.已知有关系R(A,B,C),其中A是主码,现有如下创建索引的SQL 语句:CREATE CLUSTERED INDEX idx1 ONR(B)则下列说法中正确的是()。
A)idx1既是聚集索引,也是主索引B)idx1是聚集索引,但不是主索引C)idx1是主索引,但不是聚集索引D)idx1既不是聚集索引,也不是主索引8.在完成数据库的物理设计之后,就进入数据库系统的实施阶段。
数据库上机实验

实验一数据表的建立一、实验目的:熟悉Access 2000的操作环境,并了解关系数据库中关系在Access 2000中的表示——数据表,同时掌握数据表建立的不同方法。
二、实验要求:1.掌握Access 2000的启动和退出;2.了解Access 2000的特性;3.熟悉Access 2000的操作界面、窗口组成各元素;4.掌握Access 2000中建立、保存数据库的方法;5.掌握Access 2000中打开数据库的方法;6.掌握在Access 2000数据库中建立数据表的方法;7.掌握数据表中字段属性的设置和修改;8.掌握数据表中数据的输入、修改、添加、删除;9.掌握在Access 2000数据表的两种视图。
三、实验内容:1、启动Access 2000;2、打开已有的数据库文件(如“罗斯文示例数据库”);3、熟悉Access的操作环境,了解其窗口组成各元素;4、通过帮助了解Access 2000的功能和新特性;5、在Access 2000中新建一个SPJ数据库,并在其中用三种不同的方法(数据表视图、表向导、设计视图)新建S、P、J、SPJ四个数据表,各表结构及内容见下页;6、根据表中数据设置各字段的类型及大小,并设置S、P、J表的主键分别为SNO、PNO、JNO,SPJ表的主键为SNO+PNO+JNO,这些字段不能取空值、而且各记录的值互不相同;7、为S表的CITY字段设置有效性规则,限定其输入的城市只能为“天津”、“北京”、“上海”之一;为SPJ表的QTY字段设置有效性规则,限定其输入的数量在100~900之间;8、按表格所示内容输入各表数据;9、练习表中记录的浏览、修改、插入、删除;10、退出Access。
四、实验步骤:1、启动Access 2000在Windows中单击“开始/程序/Microsoft Access”命令即可启动Access,如图1-1所示。
启动Access后,即可看到一个初始对话框出现,如图1-2所示。
全国计算机等级三级数据库上机题库100题

{
temp=aa[i];
aa[i]=aa[j];
aa[j]=temp;
}
}
for(i=0;i<10;i++) /*将排序后的前10个数存入数组bb中*/
bb[i]=aa[i];
}
7. 函数ReadDat( )的功能是实现从文件IN7.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD( ),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat( )把结果xx输出到文件OUT7.DAT中。
/*如果4位数各位上的数字均是奇数*/
{
b[cnt]=a[i]; /*将满足条件的数存入数组b中*/
cnt++; /*统计满足条件的数的个数*/
}
}
for(i=0;i<cnt-1;i++) /*将数组b中的数按从大到小的顺序排列*/
for(j=i+1;j<cnt;j++)
{
a4=a[i]/1000; /*求4位数的千位数字*/
a3=a[i]%1000/100; /*求4位数的百位数字*/
a2=a[i] %100/10; /*求4位数的十位数字*/
a1=a[i] %10; /*求4位数的个位数字*/
if(a4%2!=0 && a3%2!=0 && a2%2!=0 && a1%2!=0)
【答案】
void jsVal()
数据库期末上机试题参考答案

公司数据库由下面三个表组成:上机测试题目:要求完成以下操作:一、使用SQL命令创建名为‘corporation’的公司数据库(参数自己定义)。
(5分)CREATE DATABASE corporationON(name=CP_dat,filename="'+ @data_path+'saledat.mdf",size=8,maxsize=10,filegrowth=1)LOG ON(name=sales_log,filename ="'+@data_path +'salelog.ldf",size=1mb,filegrowth=1mb)二、分别将公司数据库中雇员、部门、工作三个表命名为Employee、Department、work。
按照上述表格内容创建这三个数据表(列名使用汉语拼音),并向三个数据表输入数据。
(5分)USE corporationGO--创建雇员表CREATE TABLE Employee (emp_no char(3) NOT NULL,emp_name char(6) NULL,age INT NULL,address nchar(2) NULL,sal INT NULL)INSERT INTO Employee V ALUES('E01', 'tom', 35, '广州',8000)INSERT INTO Employee V ALUES('E02', 'dennis',24,'顺德',5000)INSERT INTO Employee V ALUES('E03', 'john ',20,'广州',4000)INSERT INTO Employee V ALUES('E04', 'rick',41,'顺德',7000)INSERT INTO Employee V ALUES('E05', 'bill',45,'河源',7500)INSERT INTO Employee V ALUES('E06', 'frank',35,'广州',6000)INSERT INTO Employee V ALUES('E07', 'jank',25,'佛山',3000)INSERT INTO Employee V ALUES('E08', 'mike',23,'佛山',3500)--创建部门表CREATE TABLE Department (dep_no char(3) NOT NULL,dep_name nvarchar(2) NULL,dep_manager char(3) NULL)INSERT INTO Department V ALUES('D01','人事','E04')INSERT INTO Department V ALUES('D02','信息','E01')INSERT INTO Department V ALUES('D03','销售','E05')INSERT INTO Department V ALUES('D04','财务','E06')--创建工作表CREATE TABLE work (emp_no char(3) NULL,dep_no char(3) NULL,dep_year INT NULL)INSERT INTO work V ALUES('E01','D02',6)INSERT INTO work V ALUES('E01','D03',1)INSERT INTO work V ALUES('E01','D04',2)INSERT INTO work V ALUES('E02','D01',2)INSERT INTO work V ALUES('E02','D04',0)INSERT INTO work V ALUES('E03','D02',0)INSERT INTO work V ALUES('E04','D01',4)INSERT INTO work V ALUES('E04','D02',1)INSERT INTO work V ALUES('E05','D03',2)INSERT INTO work V ALUES('E06','D04',4)INSERT INTO work V ALUES('E07','D04',1)INSERT INTO work V ALUES('E08','D03',2)三、用SQL语句完成下列查询,上机验证之后将SQL语句按题号保存。
MySQL上机考试题(习题,答案)

MySQL上机考试题(答案)建表详情:/*-- Records of saler-- ----------------------------INSERT INTO `saler` V ALUES ('000061', '山东大德日用', '华中', '刘威华', '187****3634');INSERT INTO `saler` V ALUES ('000145', '北京天成', '华北', '刘茂','158****5683'); INSERT INTO `saler` V ALUES ('000165', '喜田有限公司', '华北', '王总', ************');INSERT INTO `saler` V ALUES ('001547', '丹尼斯', '华南', '胡总','156****4544'); INSERT INTO `saler` V ALUES ('037102', '天景商贸', '华北', '王磊','135****5611'); INSERT INTO `saler` V ALUES ('059741', '成建股份有限公司', '华中', '徐总', ************');INSERT INTO `saler` V ALUES ('087412', '沐阳集团', '西部', '鲁宣','150****5412'); INSERT INTO `saler` V ALUES ('089412', '新建德', '华南', '赵总', '40025684562');数据详情:表名:pros 产品表表名:saler 销售商表表名:pro_sal 销售表一、基于product数据库的三个表,用SQL语言完成以下查询(1)查询所有产品的产品编号和销售额,并将销售额增加10%后设置别名为“增长额" 查询语句:select ps.`产品编号`,ps.`销售额`,ps.`销售额`*0.1 AS '增长额' from pro_sal ps查询结果:(2)查询“华中、华北、东南”地区的销售商名称和地区。
数据库上机考试试题与答案

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)。
数据库上机习题及答案

数据库上机习题及答案 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.写出创建:计算某教师代课总课时,并将值返回的存储过程以及执行代码。
数据库上机考试题及答案

数据库上机考试(7)考试说明:请同学们在90分钟内完成以下内容:注意事项:1、根据题目要求,请用自己的“班级+学号+姓名”替换文件名中的*部分,例如要求建立“图书管理库*”,田鹏鹏同学则要输入“图书管理库37号田鹏鹏”,以此类推。
2、要求用SQL命令完成题目,将题目答案粘贴在题目下面红色提示出,保存为WORD文档,以“数据库上机考试+班级+学号+姓名+”命名。
一、创建一个数据库,命名为进销存管理*(10分)SQL命令:create database进销存管理应用技术_1班号on(name=进销存管理应用技术_1班号,filename='D:\进销存管理应用技术_1班号_dat.mdf',size=15M,maxsize=50M,filegrowth=5M)log on(name=进销存管理应用技术_1班号,filename='D:\进销存管理应用技术_1班号_dat.ldf',size=10M,maxsize=40M,filegrowth=5M)二、根据要求创建下表(15分)1、创建客户、产品、入库和销售四张表,表的的结构如下2、客户*SQL命令:CREATE TABLE客户(客户编号varchar(3)NOT NULL,姓名varchar(10)NOT NULL,地址varchar(20),电话varchar(20))GO产品*:SQL命令:CREATE TABLE产品(产品编号varchar(5)NOT NULL,品名varchar(20)NOT NULL,单价Decimal(8,2)NOT NULL,库存数量int NOT NULL)GO入库*:CREATE TABLE入库(产品编号varchar(5)NOT NULL,入库日期Datatime NOT NULL,入库数量int NOT NULL)GO销售*SQL命令:CREATE TABLE销售(产品编号varchar(5)NOT NULL,销售日期Datetime NOT NULL,客户编号varchar(3)NOT NULL,销售数量int NOT NULL)GO请执行以下语句,向表中添加数据:insert into客户values('001','杨婷','深圳','0755-********') insert into客户values('002','陈萍','深圳','0755-********') insert into客户values('003','李东','深圳','0755-********') insert into客户values('004','叶合','广州','020-********') insert into客户values('005','谭新','广州','020-********')insert into产品values('00001','电视',3000.00,800)insert into产品values('00002','空调',2000.00,500)insert into产品values('00003','床',1000.00,300)insert into产品values('00004','餐桌',1500.00,200)insert into产品values('00005','音响',5000.00,600)insert into产品values('00006','沙发',6000.00,100)insert into入库values('2011-1-1','00001',10)insert into入库values('2011-1-1','00002',5)insert into入库values('2011-1-2','00001',5)insert into入库values('2011-1-2','00003',10)insert into入库values('2011-1-3','00001',10)insert into入库values('2011-2-1','00003',20)insert into入库values('2011-2-2','00001',10)insert into入库values('2011-2-3','00004',30)insert into入库values('2011-3-3','00003',20)insert into销售values('2011-1-1','001','00001',10)insert into销售values('2011-1-2','001','00002',5)insert into销售values('2011-1-3','002','00001',5)insert into销售values('2011-2-1','002','00003',10)insert into销售values('2011-2-2','001','00001',10)insert into销售values('2011-2-3','001','00003',20)insert into销售values('2011-3-2','003','00001',10)insert into销售values('2011-3-2','003','00004',30)insert into销售values('2011-3-3','002','00003',20)三、将客户表中的客户编号设为主键。
第2次上机课参考答案

数据库原理及应用—第2次上机课参考答案第一部分:单表查询1、查询所有员工信息。
select * from Employees2、查询位于城市’Seattle’的员工信息。
select * from Employees where City = 'Seattle'3、查询出生日期在1960-1970年间的员工,按日期升序。
select * from Employeeswhere BirthDate between '1960-1-1' and '1970-1-1'order by BirthDate4、查询名称中包含’ma’的产品信息。
select * from Products where ProductName like '%ma%'5、查询价格在20元以下,且库存高于于70的产品信息,结果按价格升序,库存降序排列;select * from ProductsWHERE (UnitPrice < 20) AND (UnitsInStock > 70)ORDER BY UnitPrice, UnitsInStock DESC6、按产品类型(ID)统计产品的数量;select CategoryID, count(*) as psfrom Productsgroup by CategoryID order by ps desc7、查询所含产品数量大于10的产品类型ID;select CategoryID from Productsgroup by CategoryID having count(*) > 108、查询负责订单最多的员工ID;select top 1 EmployeeID, count(*) as esfrom Orders group by EmployeeID order by es desc9、查询需要补货的产品。
数据库上机的所有题答案

JONES MANAGER 2975
CLARK MANAGER 2450
6. 列出公司中所有名字以LI开头的全部职工及其所在的部门代号
select ename,deptno
from emp
where ename like 'LI%'
WORD
JONES
MARTIN
BLACK
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER
3. 列出10号部门中全体职工的姓名及职工号
25.5
40.0
40.5
44.5
13. 对于至少有两个水手的等级,找出到了投票年龄(>18岁)的所有水手的平均年龄
select g(s.age)
from saliors s
where s.age>18
group by s.rating
having 1<(select count(*)
7844 TURNER 7698 SALESMAN 1981-09-08 00:00:00.000 0 1500 30
7876 ADAMS 7788 CLERK 1981-09-23 00:00:00.000 NULL 1100 20
SELECT distinct sname
FROM saliors
WHERE sid IN(select sid from reserves where bid in
(select bid from boats where color='red'))
数据库上机内容及答案

使用T-SQL语句创建数据库YGGL启动查询分析器→在“查询”窗口中输入如下T-SQL语句:CREATE DATABASE YGGLON(NAME='YGGL_Data',FILENAME='C:\Program Files\Microsoft SQLServer\MSSQL.1\MSSQL\DATA\YGGL.mdf',SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=5%)LOG ON(NAME='YGGL_Log',FILENAME='C:\Program Files\Microsoft SQLServer\MSSQL.1\MSSQL\DATA\YGGL_Log.ldf',SIZE=2MB,MAXSIZE=5MB,FILEGROWTH=1MB)GO单击快捷工具栏的执行图标执行上述语句,并在企业管理器中查看执行结果。
4.在企业管理器中分别创建表Employees、Departments和Salary在企业管理器中选择数据库YGGL→在YGGL上单击鼠标右键→新建→表→输入Employees表各字段信息→单击保存图标→输入表名Employees,即创建了表Employees。
按同样的操作过程创建表Departments和Salary。
5.在企业管理器中删除创建的Employees、Departments和Salary表在企业管理器中选择数据库YGGL的表Employees→在Employees上单击鼠标右键-→删除,即删除了表Employees。
按同样的操作过程删除表Departments和Salary。
6.使用T-SOL语句创建表Employees、Departments和Salary启动查询分析器→在“查询”窗口中输入以下T-SQL语句:USE YGGLCREATE TABLE Employees(EmployeeID char(6)NOT NULL,Name char(10)NOT NULL,Birthday datetime NOT NULL,Sex bit NOT NULL,Address char(20)NOT NULL,Zip char(6)NULL,PhoneNumber char(12)NULL,EmailAddress char(20)NULL,DepartmentID char(3)NOT NULL)GO单击快捷工具栏的执行图标,执行上述语句,即可创建表Employees。
Access数据库上机练习加答案及解析

WORD 格式整理版优质.参考.资料第1套题目 一、基本操作题请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下:注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。
考生文件夹下存在一个数据库文件“samp1.mdb ”,里面已经设计好表对象“tStud ”。
请按照以下要求,完成对表的修改:(1)设置数据表显示的字体大小为14、行高为18。
(2)设置“简历”字段的设计说明为“自上大学起的简历信息”。
(3)将“年龄”字段的数据类型改为“整型”字段大小的数字型。
(4)将学号为“20011001”学生的照片信息换成考生文件夹下的“photo.bmp”图像文件。
(5)将隐藏的“党员否”字段重新显示出来。
(6)完成上述操作后,将“备注”字段删除。
二、简单应用题请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下:注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。
考生文件夹下存在一个数据库文件“samp2.mdb ”,里面已经设计好三个关联表对象“tStud ”、“tCourse ”、“tScore ”和一个临时表对象“tTemp ”。
试按以下要求完成设计:(1)创建一个查询,按所属院系统计学生的平均年龄,字段显示标题为“院系”和“平均年龄”,所建查询命名为“qT1”。
(2)创建一个查询,查找选课学生的“姓名”和“课程名”两个字段内容,所建查询命名为“qT2”。
(3)创建一个查询,查找有先修课程的课程相关信息,输出其 “课程名”和“学分”两个字段内容,所建查询命名为“qT3”。
(4)创建删除查询,将表对象“tTemp ”中年龄值高于平均年龄(不含平均年龄)的学生记录删除,所建查询命名为“qT4”。
三、综合应用题请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下:注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。
数据库上机实验部分题目及答案

上机实验部分题目及答案一、实验目的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。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库及应用复习题一、设计题有一个[学生课程]数据库,数据库中包括三个表:学生表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 DATETIME3.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分)课号课程名称100001SQL Server数据库100002数据结构100003VB程序设计修改课号为100003的课程名称:Visual Basic程序设计删除课号为100003的课程信息3.写出创建[任课表视图](教师编号,姓名,课号,课程名称,课时数)的代码;(4分)4.写出创建[某门课任课教师]内嵌表值函数以及检索的代码;(6分)检索:所有代'SQL Server数据库'这门课程的老师姓名;5.写出创建[统计课时数]:输出最大课时数、最低课时数、平均课时的存储过程以及执行代码;(6分)6.写出创建:计算某教师代课总课时,并将值返回的存储过程以及执行代码。
(6分)执行:计算“郭老师”的总课时。
(6分)7.检索有一门或一门以上课程课时数大于90的所有教师的信息,包括编号、姓名。
(4分)8.建一个规则,并将其绑定到教师表的职称列上,规定取值为('教授','副教授','讲师','助教')之一。
(4分)1.create database[教师数据库]--(2分)use[教师数据库]gocreate table教师表--(6分)([编号]char(6)primary key,[姓名]nchar(4)not null,[性别]nchar(1)check([性别]in('男','女')),[民族]nchar(8)default'汉族'not null,[职称]nchar(12),[身份证号]char(18)unique)create table课程表--(2分)([课号]char(6)primary key,[名称]char(40)not null)create table任课表--(4分)(ID IDENTITY(1,1),[教师编号]char(6)references学生表(学号),[课号]char(6)references课程表(课号),[课时数]integer check([课时数]between0and200))2.insert课程表values('100001','SQL Server数据库')insert课程表values('100002','数据结构')insert课程表values('100003','VB程序设计')update课程表set名称='Visual Basic程序设计'where课号='100003'delete课程表where课号='100003'3.create view[任课表视图]asselect教师编号,姓名,课号,课程名称,课时数from教师表,任课表where教师表.编号=任课表.教师编号4.create function[某门课任课教师](@课程名varchar(15))returns table asreturn(select课程名称,课时数,教师姓名=姓名from任课表视图where课程名=@课程名)goselect*from[某门课任课教师]('SQL Server数据库')5.create procedure[统计课时数]asselect最大课时数=max(课时),最小课时数=min(课时),平均课时数=avg(课时)from任课表goexecute[统计课时]6.create procedure[统计课时]@教师名nchar(16),asbegindeclare@总课时intselect@总课时=sum(课时)from任课表视图where姓名=@教师名endgoexecute[统计课时]'郭老师'7.select编号,姓名from教师表where编号in(select distinct教师编号from任课表where课时数>=90)8.create rule zhicheng_ruleas@zhicheng in('教授','副教授','讲师','助教')gosp_bindrule zhicheng_rule,'教师表.职称'三、设计题(共50分)现有关系数据库如下:数据库名:医院数据库医生表(编号,姓名,性别,出生日期,职称)病人表(编号,姓名,性别,民族,身份证号)病历表(ID,病人编号,医生编号,病历描述)用SQL语言实现下列功能的sql语句代码:1.创建上述三表的建库、建表代码;要求使用:主键(师医生表.编号,病人表.课号)、外键(病历表.医生编号,病历表.病人课号)、非空(职称,姓名)、检查(性别),自动编号(ID)(16分)2.将下列医生信息添加到医生表的代码编号姓名性别出生日期职称100001杜医生男1963-5-18副主任医师100002郭医生女1950-7-26副主任医师100003刘医生男1973-9-18医师修改编号为100002的医生职称为‘主任医师’删除编号为100003的医生信息(8分)3.写出创建:医疗表视图(医生编号,姓名,病人姓名,病历)的代码;(4分)4.写出所有病人编号、姓名、病历、以及病人所对应的医生编号的查询语句;(4分)7.写出创建:输出某医生(根据医生编号即可)看病人数存储过程以及执行过程(要求输入医生姓名的参数,输出病人数)(6分)。
8.写出查询1970年以前出生的医生(4分)。
7.检索有病人的医生信息。
(4分)8.创建一个默认,并将其绑定到医生表的成绩职称列上,默认值为“医师”。
(4分)1.create database[医院数据库]use[医院数据库]gocreate table医生表([编号]char(6)primary key,[姓名]nchar(4)not null,[性别]nchar(1)check([性别]in('男','女')),[出生日期]datetime,[职称]char(18)not null)create table病人表([课号]char(6)primary key,[姓名]nchar(4)not null,[性别]nchar(1)check([性别]in('男','女')),[民族]nchar(10),[身份证号]char(18)not null)create table病历表(ID IDENTITY(1,1),[病人编号]char(6)references病人表(学号),[医生编号]char(6)references医生表(编号),[病历描述]varchar(1000))2.insert医生表values('100001','杜医生','男','1963-5-18','副主任医师')insert医生表values('100002','郭医生','女','1950-7-26','副主任医师')insert医生表values('100003','刘医生','男','1973-9-18','医师')update医生表set职称='主任医师'where编号='100002'delete医生表where编号='100003'3.create view[医疗表视图]asselect br.姓名,ys.姓名,yl.病历from病人表as br join医疗表as ylon br.编号yl.病人编号join医生表as yson yl.医生编号=ys.编号4.Select br.编号,br.姓名,br.病历,yl.医生编号from病人表br left join医疗表ylon br.编号=yl.病人编号5.create procedure[某医生看病人数]@医生编号nchar(16),@人数int outputasselect@人数=count(病人编号)from病人表where医生编号=@医生编号godeclare@TOTAL intexecute[某医生看病人数]'100001',@TOTAL6select*from医生表where出生日期<'1970-01-01'9.select编号,姓名,性别,出生日期,职称from医生表where编号in(select医生编号from医疗表)8.create default zhicheng AS'医师'goexec sp_bindefault'zhicheng','医生表.职称'四、设计题(共50分)现有关系数据库如下:数据库名:学生选课数据库学生表(学号,姓名,性别,年龄,专业)课程表(课程号,课程名,学分,先行课程号)选课表(ID,学号,课程号,分数)用SQL语言实现下列功能的sql语句代码:1.创建数据库[学生选课数据库]代码(2分);2.创建[课程表]代码(2分);课程表(课程号char(6),课程名,学分,先行课程号)要求使用:主键(课程号)、非空(课程名,学分)3.创建[学生表]代码(6分);学生表(学号char(6),姓名,性别,年龄,专业)要求使用:主键(学号)、非空(姓名,专业)、检查(性别)4.创建[选课表]代码(4分);选课表(ID,学号,课号,分数)要求使用:外键(选课表.学号,选课表.课程号)、检查(分数),自动编号(ID) 5.将下列课程信息添加到课程表的代码(8分)课程号课程名学分先行课程号100001C语言2100002数据结构2100001100003数据库原理2修改课程号为100003的课程名:SQL数据库删除课程号为100002的课程信息6.写出创建:选课表视图(学号,姓名,课程号,课程名,学分,分数)的代码;(4分)7.写出创建:某门课程成绩内嵌表值函数以及检索的代码;(6分)检索:所有修SQL数据库这门学生的成绩;8.写出创建:某门课程高低均分计算某门课程成绩最高分、最低分、平均分存储过程以及执行的代码;(6分)执行:所有修SQL数据库这门学生的最高分、最低分、平均分;9.检索姓张的女同学的情况:姓名、学号、专业。