数据库上机习题及答案
- 格式:doc
- 大小:67.50 KB
- 文档页数:8
试用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 )操作时触发。
第3套真考题库试题一、单选题((1)~(20)每题1分,(21)~(30)每题2分,共40分)1.设有关系模式R(A,B,C,D),其函数依赖集为F={A->D,B->D,C->D}。
如果将R分解为R1(A,B,C)和R2(C,D),则该分解是()。
A)同时保持函数依赖和无损连接的分解B)保持函数依赖但不保持无损连接的分解C)保持无损连接但不保持函数依赖的分解D)既不保持函数依赖也不保持无损连接的分解2.下面关于模式分解的说法,错误的是()。
A)分解并不总能提高查询效率B)分解通常使得涉及属性少的查询执行效率更高C)分解通常使得简单的更新事务执行效率更高D)分解总是能降低存储空间的要求,因为它能消除冗余数据3.设有关系表:职工(职工号,姓名,领导职工号),其中职工号是主码,领导职工号是外码。
当前表中没有任何数据。
现在依次向该表中插入如下数据(1)(e1,Tom,e2)(2)(e3,Jerry,null)(3)(null,Foo,null)(4)(e2,Fake,e2)(5)(e1,Ghost,e3)(6)(e4,Who,e1)则最终该表中有()行数据。
A)2B)3C)4D)54.数据库物理设计阶段是根据数据库逻辑设计的结果设计合适的数据库物理结构。
下列关于数据库物理设计的说法,错误的是()。
A)物理设计着眼于数据库底层的物理存储与存取,与操作系统和硬件环境及数据库管理系统密切相关B)物理设计时需要合理安排不同的存储介质,索引文件一般存储在高速磁盘中,日志文件可以考虑存储在磁带中C)物理设计过程中需要考虑设置合理的数据库管理系统参数和操作系统相关参数D)物理设计过程中需要考虑RAID级别、操作系统的文件管理机制、数据库管理系统支持的索引类型5.三层浏览器/服务器架构是现在比较流行的应用系统架构。
下列关于此架构的说法,错误的是()。
A)表示层使用Web浏览器实现,位于客户端,一般无需安装其他程序B)数据层位于数据库服务器,由DBMS完成数据存储和数据存取等数据管理功能C)此架构将人机交互、应用业务逻辑和数据管理三类功能分离,提高了可维护性D)与二层的客户/服务器架构相比,此架构在交互性、运行速度方面优势明显6.设有下列关于数据库分析、设计与实现的工作:Ⅰ.用概念数据模型表示数据对象的特征及其相互间的关联关系Ⅱ.进行数据库的备份与恢复等日常维护Ⅲ.在ER图的基础上确定数据库关系模式Ⅳ.调整数据库逻辑模式,确定文件组织与存取方式,评估物理模式Ⅴ.考虑分析DBAS运行过程中备份数据库策略,如备份时间点和备份周期Ⅵ.事务和应用程序的编码及测试上述工作中,属于DBAS系统设计阶段工作的是()。
第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所示。
数据库上机实验题目和答案试用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(/doc/1411529677.html,o)>=26.每个学生选修的课程门数。
解法一:select so.sno sno,/doc/1411529677.html,ount,s.sname from(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课程的学生的平均分。
公司数据库由下面三个表组成:上机测试题目:要求完成以下操作:一、使用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语句按题号保存。
数据库上机习题及答案 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)三、将客户表中的客户编号设为主键。
使用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。
全国计算机等级考试二级上机题库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”文件夹。
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 )。
VFP上机操作题(数据库建立与显示答案)visualfoxpro上机操作题(数据表建立与显示)说明:本答案只写操作命令,具体操作自己上机完成根据要求完成下列操作:1.创建一个名叫ys.dbf的数据表,其结构如下:字段字段名类型宽度小数位1姓名字符型82性别字符型23紧固工资数值型824津贴数值型625甩杂费数值型626实发金额数值型827领款日期日期型88卸任逻辑型19亲笔签名字符型610附注附注型10注意:结构输入完成后,按ctrl+w存盘。
2.录入如下内容:记录号姓名性别紧固工资津贴甩杂费实发金额领款日期卸任亲笔签名附注1吴均荣女527.00120.0010.5001/01/89.t.memo2肖才坤男527.00120.0010.5005/05/99.f.memo3李思强男527.00120.0010.5005/05/95.t.memo4司马文华女527.00120.0010.5005/05/98.t.memo5钟小渠男437.00120.0010.5005/05/97.f.memo6赵明明女422.00120.0010.5005/05/96.f.memo7欧阳明月女396.50120.0010.5005/05/92.f.memo3.关上数据库ys.dbf4.显示数据库结构.5.修正数据库结构,将实发金额的宽度改成7,小数点后存有2十一位.注意:修改结构时一般不能同时修改字段名和类型,也不能同时修改字段名和宽度,否则有可能造成数据库上机操作题第1页共16页数据丢失。
完成后按ctrl+w存盘。
6.显示所有记录.7.表明所有性别为”男”的记录.8.显示所有已退休的记录.表明:在条件语句中,若必须回到逻辑字段真值,只需输出逻辑字段的字段名即可,若必须回到逻辑字段假值,则在字段名前加之.not.基准:表明出来所有未卸任的记录。
listallfor.not.卸任9.显示出所有领款日期在1993年以前的记录.10.表明出来所有性别为”女”、紧固工资为527.00的记录.11.在数据库末尾增加3条记录,内容随意.12.在第4条记录前面填入一条崭新记录,内容随意.13.在第5条记录后增加一条空白记录.14.表明数据库前3条记录.15.显示数据库最后2条记录.16.表明第2第至第5条记录.数据库上机操作题第2页共16页visualfoxpro上机操作题(数据表创建与表明答案)说明:本答案只写操作命令,具体操作自己上机完成根据要求完成下列操作:1.创建一个名叫ys.dbf的数据表,其结构如下:字段字段名类型宽度小数位1姓名字符型82性别字符型23紧固工资数值型824津贴数值型625甩杂费数值型626实发金额数值型827领款日期日期型88卸任逻辑型19亲笔签名字符型610附注附注型10createys注意:结构输入完成后,按ctrl+w存盘。
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”文件夹。
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)查询“华中、华北、东南”地区的销售商名称和地区。
数据库及应用复习题一、设计题有一个[学生课程]数据库,数据库中包括三个表:学生表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分)课号课程名称100001 SQL Server数据库100002 数据结构100003 VB程序设计修改课号为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([课时数] between 0 and 200))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分)课程号课程名学分先行课程号100001 C语言 2100002 数据结构 2 100001100003 数据库原理 2修改课程号为100003的课程名:SQL数据库删除课程号为100002的课程信息6. 写出创建:选课表视图(学号,姓名,课程号,课程名,学分,分数)的代码;(4分)7. 写出创建:某门课程成绩内嵌表值函数以及检索的代码;(6分)检索:所有修 SQL数据库这门学生的成绩;8. 写出创建:某门课程高低均分计算某门课程成绩最高分、最低分、平均分存储过程以及执行的代码;(6分)执行:所有修 SQL数据库这门学生的最高分、最低分、平均分;9. 检索姓张的女同学的情况:姓名、学号、专业。