数据库管理题
‘壹’ 电脑题,数据库管理
第一章 初识DAO
什么是DAO?DAO就是Database Access Object,数据库访问对象的英文缩写。在VB中提供了两种与Jet数据库引擎接口的方法:Data控件和数据访问对象(DAO)。Data控件只给出有限的不需编程而能访问现存数据库的功能,而DAO模型则是全面控制数据库的完整编程接口。Data控件将常用的DAO功能封装在其中,它与DAO控件的关系就好象内存与CACHE之间的关系一样,所以这两种方法并不是互斥的,实际上,它们常同时使用。
DAO模型是设计关系数据库系统结构的对象类的集合。它们提供了完成管理一个关系型数据库系统所需的全部操作的属性和方法,这其中包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等。
Visual Basic中的数据库编程就是创建数据访问对象,这些数据访问对象对应于被访问物理数据库的不同部分,如数据库、表、字段和索引等,同时用这些对象的属性和方法来实现对数据库的操作,以便在Visual Basic窗体中使用绑定和非绑定控件来显示操作结果并接收用户输入。
Visual Basic通过DAO和Jet引擎可以识别三类数据库:
■ VisualBasic数据库
也就是*.MDB数据库
■ 外部数据库
它们是使用几种流行格式的“索引顺序访问方法(ISAM)”数据库,这些流行格式包括Btrieve、dBASEIII、dBASEIV、Microsoft FoxPro versions2.0和2.5以及Paradox versions 3.x和4.0。在Visual Basic中能够创建和操作所有以上格式的数据库。也可以访问文本文件数据库和Microsoft Excel或Lotus1-2-3电子表格。
■ ODBC数据库
包括符合ODBC标准的客户/服务器数据库,如Microsoft sql Server。要在Visual Basic中创建真正的客户/服务器应用程序,可以使用ODBC Direct直接把命令传递给服务器处理。也就是说Visual Basic还支持其它不使用Jet数据库引擎的数据访问方法。数据访问对象的ODBC Direct模式允许使用同样的对象模型和语法绕过Jet引擎直接访问ODBC数据。
由上面的叙述可知,对于编程人员来讲,你只须了解DAO的使用,对具体的数据库系统无须做深入的探讨,就可对几乎任何一种数据库进行操作,“以不便应万变”, 而对数据库文件自身的物理操作,将由相应的数据库引擎把数据访问对象上的这些操作转换为对数据库文件自身的物理操作,这些引擎来处理所有与各种数据库的接口。
第二章 DAO的结构
上一章我们知道了DAO是什么,它可以干什么,以及简单的了解了它是如何实现这一功能,这一章我们讲逐步学习DAO的结构。在将讲这一章之前,首先讲两个题外话:
面向对象编程
大家对面向对象编程一定不陌生,但究竟什么是面向对象编程,很多人一下子也说不出个所以然来;在VB的DAO中又是如何体现面向对象的呢,恐怕即便是使用了一段VB的网友也很难说清。这也难怪,VB本身并不是个完全的面向对象的编程环境,它的很多如动态数组等就不是面向对象的,但在DAO中是完全的面向对象的。其实面向对象的最初思想就是将数据和操作封装在一起,形成对象,而在DAO中正是体现了这一点,它将数据的值作为属性,数据的查询作为方法,数据值的变化作为事件,完全封装在DAO对象中,希望诸位盟友在使用中注意,逐步领悟面向对象的编程方法。
数据库前端开发系统和后台系统
经常由朋友说他会DELPHI,会PB,实际上用前端和后台的概念来看,他们都只是会一种前端开发工具而已,严格说起来并不能算会数据库的开发。人们往往只看到前台应用的功能而忽视了后台系统的应用,或者认为这两者根本就是一回事。前端后台概念用在单机上,就是VB与Access,用在网络中就是VB与SQL Sever,只会VB或DELPHI是不能称为掌握数据库编程的,而且在编程中,要善于利用后台数据库提供功能,这样的程序运行起来更快,程序更精练。
题外话讲完,现在切入正题。DAO的结构如图所示:
参考:http://vbworld.sxnw.gov.cn/vbbooks/bookhtm/Dao01.htm
参考资料:http://vbworld.sxnw.gov.cn/vbbooks/bookhtm/Dao01.htm
‘贰’ 数据库配置与管理题
1:SQL Server 身份验证 系统身份验证存在极大的不安全性
2:应用使用多个命名实例 以区分不同的应用程序
3:Sql Server 2005 MICROSOFT SQL SERVER 2005 DEVELOPER EDITION 程序员和开发者使用做广泛的版本。第一免费。第二,有良好的数据库版本和数据兼容性
‘叁’ 数据库管理系统的题,请帮忙啊~~
1 select Sname, Sage from student where Sage<20
2 select Sname, Sdept, Sage from student where Sage not between 20 and 23
3 select S.*, C.* from Student S, Course C, SC from S.Sno=SC.Sno and SC.cno=C.cno
‘肆’ 数据库管理系统Access 2003 的一些填空题 求解
1.关键字;
2.元组(记录);
3.查询;
4.一对多;
5.投影;
6.数据处理;
7.概念。
‘伍’ 数据库试题
一.填空题.
8.一个表中可能有多个关键字,但在实际的应用中只能选择一个,被选用的关键字称为 __主关键字___
用来求满足条件的记录行数的函数是__count___。
二.选择题
10.在T-SQL中使用(C)声明变量:
A.set B.select C.declare D.print
11.在下面关于数据库的说法中,错误的是(D)。
A.数据库有较高的安全性
B.数据库有较高的数据独立性
C.数据库中的数据可被不同的用户共享
D.数据库没有数据冗余
12.对于存储过程,下列那一项说法是错误的:(B)
A. 存储过程可以没有输入参数
B. 存储过程只能有一个输入参数
C. 存储过程可以有多个输入参数
D. 存储过程即可以有输入参数又可以有输出参数
15.SQL Server 2000是基于C/S体系结构的(B)型数据库管理系统。
A. 层次 B. 关系 C. 网状 D.树型
三.判断题
10.在修改检索结果中的列标题时,表中的列名并没有改变。(对)
7.在企业管理器中,必须先注册服务器后才能对其进行管理。(对)
3.使用BEGIN TRANSACTION开始的事务,必须使用ROLLBACK TRANSACTION进行回滚。 (对)
6.使用T-SQL编写程序时,假设已声明了两个整型变量@i和@j,可以使用set @i=5,@j=10语句给这两个变量赋值。(对)
8.两层Client/Server体系结构比三层Client/Server体系结构更安全可靠。(错)
‘陆’ 数据库管理考试题需要编码,哪位大神帮我做一下,谢谢!
1、select 姓名,工作单位 from 读者 where 读者号='R016';
2、select 读者.姓名 from 读者,借阅 where 读者.读者号 = 借阅.读者号 and 借阅.图书号='B5';
3、select 图书.书名 from 图书,读者,借阅 where 读者.读者号 = 借阅.读者号 and 借阅.图书号=图书.图书号 and 读者.姓名='李林';
4、delete from 借阅 where 读者号 in (select 读者号 from 读者 where 姓名 ='李林');
5、create view v_读者视图(姓名,单位) AS select distinct 读者.姓名,读者.工作单位 from 读者,借阅 where 读者.读者号 = 借阅.读者号 and 借阅.还期 is null
‘柒’ (高分)数据库管理 设计题
CREATE view s1 as select stuno,name from student where stuno in (select stuno from grade where grade='**'and dj<60 )
我是刚才用QQ给你答案的.
‘捌’ 我这有几个关于数据库管理系统的题,求大虾做下,先谢谢了。 (题目和要求在问题补充中)
你安财的吧,我就知道你会上网查,我知道你的IP了,下堂课来找我
‘玖’ 哪位大侠可以提供一些mysql数据库的题库,一定要带答案的!将感激不尽!!
一、不定项选择题(共40题,每小题2.5分,总分100分)
1. 数据库管理系统的发展历经了如下那些模型阶段( ACDE )
A. 层次模型 B. 结构模型 C. 关系模型
D. 网状模型 E.对象模型
2. 关系型数据库的核心单元是( B )
A. 对象 B. 表
C. 行 D. 列
3. 对于关系型数据库来说,表之间存在下面那些关系( ABC )
A. 一对一关系 B. 一对多关系
C. 多对多关系 D. 继承关系
4. 在SQL中,下面对于数据定义语言(DDL)描述正确的是( D )。
A. DDL关心的是数据库中的数据 B. 完成数据的增、删、改、查操作
C. 控制对数据库的访问 D. 定义数据库的结构
5. MySQL是一种( C )数据库管理系统。
A. 层次型 B. 网络型 C. 关系型 D. 对象型
6. SQL中,下列操作有语法错误的是( B )
A. AGE IS NOT NULL B. NOT(AGE IS NULL)
C. SNAME=‘王五’ D. SNAME=‘王%’
7. SQL中,下列关于创建、管理数据库的操作语句不正确的是( CDE )
A. CREATE DATABASE Instant B. USE Instant C. NEW DATABASE Instant
D. Connection Instant E. Delete DATEBASE Instant
8. 在MySQL中,不存在的数据类型是( F )。
A. INT B. TEXT C. DECIMAL
D. VARCHAR E. DATETIME F. VARCHAR2
9. 在MySQL中,下列关于创建数据库表的描述正确的是( C )。
A. 在创建表时必须设定列的约束
B. 在删除表的时候通过外键约束连接在一起的表会被一同删除
C. 在创建表时必须设置列类型
D. 通过CREATE TABLE new_t SELECT * FROM old_t复制表的同时,表的约束能够一起被复制到新表中
10. 根据数据完整性实施的方法,可以将其分为( ACDF )
A. 实体完整性 B. 表完整性 C.域完整性
D. 引用完整性 E. 记录完整性 F.用户自定义完整性
11. 下面关于域完整性的方法,不正确的是( A )。
A. 主键约束 B. 外键约束 C.检查约束
D. 非空约束 E. 默认值
12. 下面关于创建和管理索引正确的描述是( C )。
A. 创建索引是为了便于全表扫描
B. 索引会加快DELETE、UPDATE和INSERT语句的执行速度
C. 索引被用于快速找到想要的记录
D. 大量使用索引可以提高数据库的整体性能
13. SQL中,“AGE IN(20,22)”的语义是( D )。
A. AGE<=22 AND AGE >=20 B. AGE <22 AND AGE >20
C. AGE =20 AND AGE =22 D. AGE =20 OR AGE =22
14. 有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于( C )
A. 实体完整性约束 B. 参照完整性约束
C. 用户自定义完整性约束 D. 关键字完整性约束
15. 下面SQL是来源于考试成绩表t_exam:学号stuId、科目编号subId、成绩score,考试日期:ex_date。有以下sql,它表示的意思是:( B )
Select stu_id,subId,count(*) as x
From t_exam
Where ex_date=’2008-08-08’
Group stu_id,subId
Having count(*)>1
Order by x desc
A. 找出’2008-08-08’这天某科考试2次及以上的学生记录
B. 找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数多的放在前面
C. 找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数少的放在前面
D. 根据学号和学科分组,找出每个人考试科数,最后考试次数多的放在前面
16. EMP表如下所示,下面哪些SQL语句的返回值为3:( BD )
EMP
雇员号 雇员名 部门号 工资
001 张山 022000
010 王宏达01 1200
056 马林生02 1000
101 赵敏 04
A. select count(*) from emp
B. select count(distinct 部门号) from emp
C. select count(*) from emp group by 雇员号
D. select count(工资) from emp
17. 下面那一项不是SELECT语句对数据的操作:( D )
A. 投影 B. 联接 C. 并 D. 级联
18. 下面关于SQL数据查询操作描述正确的有:( ABD )
A. 投影操作是选择对表中的哪些列进行查询操作
B. 使用DISTINCT关键字可以过滤查询中重复的记录
C. 在模糊查询中,通配符“%”表示匹配单个字符,而“_”表示匹配零个或多个字符
D. 在MySQL中使用LIMIT关键字限制从数据库中返回记录的行数
19. 在SQL语言中,条件“BETWEEN 20 AND 30”表示年龄在20到30之间,且( A )。
A. 包括20岁和30岁 B. 不包括20岁和30岁
C. 包括20岁,不包括30岁 D. 不包括20岁,包括30岁
20. SQL语言中,删除EMP表中全部数据的命令正确的是( C )。
A. delete * from emp B. drop table emp
C. truncate table emp D. 没有正确答案
21. 有关索引的说法错误的是( AD )
A. 索引的目的是为增加数据操作的速度
B. 索引是数据库内部使用的对象
C. 索引建立得太多,会降低数据增加删除修改速度
D. 只能为一个字段建立索引
22. 下列哪个关键字在Select语句中表示所有列( A )
A. * B. ALL C. DESC D. DISTINCT
23. 在表中设置外键实现的是哪一类数据完整性( B )
A. 实体完整性 B. 引用完整性
C. 用户定义的完整性 D. 实体完整性、引用完整性和用户定义的完整性
24. 下面正确表示Employees表中有多少非NULL的Region列的SQL语句是( B )
A. SELECT count(* ) from Employees
B. SELECT count(ALL Region) from Employees
C. SELECT count(Distinct Region) from Employees
D. SELECT sum(ALL Region) from Employees
25. 下面可以通过聚合函数的结果来过滤查询结果集的SQL子句是( C )
A. WHERE子句 B. GROUP BY子句
C. HAVING 子句 D. ORDER BY子句
26. t_score(stu_id,sub_id,score),即成绩表(学号,科目编号,成绩)。学生如果某科没有考试,则该科成绩录入null。能够获取各位学生的平均成绩的选项是( A )
A. select avg(nvl(socre,0)) from score group by stu_id
B. select stu_id,avg(sorce) from score
C. select stu_id,avg(score) from score
D. select stu_id,sum(score)/count(score) from score
27. 若要求查找S表中,姓名的第一个字为'王'的学生学号和姓名。下面列出的SQL语句中,哪个是正确的( B )
A. SELECT Sno,SNAME FROM S WHERE SNAME=′王%′
B. SELECT Sno,SNAME FROM S WHERE SNAME LIKE′王%′
C. SELECT Sno,SNAME FROM S WHERE SNAME LIKE′王_′
D. 全部
28. 若要求“查询选修了3门以上课程的学生的学生号”,正确的SQL语句是( B )
A. SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*)> 3
B. SELECT Sno FROM SC GROUP BY Sno HAVING( COUNT(*)> 3)
C. SELECT Sno FROM SC ORDER BY Sno WHERE COUNT(*)> 3
D. SELECT Sno FROM SC ORDER BY Sno HAVING COUNT(*)>= 3
29. 对下面的查询语句描述正确的是( D )
Select StudentID,Name,
(select count(*) from StudentExam
where StudentExam.StudentID = Student.StudentID) as ExamsTaken
from Student
order by ExamsTaken desc
A. 从Student表中查找StudentID和Name,并按照升序排列
B. 从Student表中查找StudentID和Name,并按照降序排列
C. 从Student表中查找StudentID、Name和考试次数
D. 从Student表中查找StudentID、Name,并从StudentExam表中查找与StudentID一致的学生考试次数,并按照降序排列
30. 下面题基于学生-课程数据库中的三个基本表:
学生信息表:s(sno, sname, sex, age, dept) 主键为sno
课程信息表:c(cno, cname, teacher) 主键为cno
学生选课信息表:sc(sno, cno, grade) 主键为(sno, cno)
“从学生选课信息表中找出无成绩的学生信息”的SQL语句是( C d )
A.
SELECT * FROM sc WHERE grade=NULL
B.
SELECT * FROM sc WHERE grade IS ‘ ’
C.
SELECT * FROM sc WHERE grade IS NULL
D.
SELECT * FROM sc WHERE grade =‘ ’
31. 当子查询返回多行时,可以采用的解决办法是( C )。
A. 使用聚合函数 B. Where条件判断
C. 使用IN运算符 D. 使用Group by进行分组
32. 下面关于在子查询中使用运算符描述不正确的是( D )。
A. 使用IN运算符用于查找字段值属于某一组值的行
B. 使用Exists运算符用于测试子查询是否返回行,如果返回其值就为真
C. 使用ALL运算符用于测试子查询结果集的所有行是否满足指定的条件
D. 使用Any运算符用于测试子查询结果集中的一行或多行不满足指定的条件
33. 下面关于组合查询描述不正确的是( D )。
A. 从一个表中获取的数据必须和其它表中的数据具有相同的列数
B. 两个表中相对应的列必须具有相同的数据类型
C. UNION的结果集列名与第一个SELECT语句的结果集中的列名相同
D. UNION的结果集列名与第二个SELECT语句的结果集中的列名相同
E. UNION ALL运算符返回每个数据集的所有成员
34. 下面关于联接的描述正确的是( A )。
A. 内联接使用比较运算符根据每个表共有的列值来匹配两个表中的行
B. 左外联接结果集包含从右边的表返回的所有行
C. 右外联接结果集包含从左边的表返回的所有行
D. 全外联接返回左表和右表中的所有匹配的行
35. 下面关于数据库设计过程正确的顺序描述是( C )。
A. 需求收集和分析、逻辑设计、物理设计、概念设计
B. 概念设计、需求收集和分析、逻辑设计、物理设计
C. 需求收集和分析、概念设计、逻辑设计、物理设计
D. 需求收集和分析、概念设计、物理设计、逻辑设计
36. ER图属于下面哪一种数据库设计模型( B )。
A. 物理数据模型
B. 概念数据模型
C. 逻辑数据模型
D. 需求模型
37. 非主键必须完全依赖于主键列,这属于下列范式的内容( BC )
A. 1NF B. 2NF C. 3NF D. 都没有的
38. 如果一个字段的数据必须来源另一个表的主键,那么要在这个字段上建立( B )。
A. PK(主键) B. FK(外键) C. UK(唯一键) D. 复合主键
39. 根据三个范式的定义,下面哪个选项的设计是正确的( C )
职工编号 姓名 工种 车间 车间主任
1001 李宁 车工 一车间 周杰
1002 王海 铣工 一车间 周杰
1003 赵亮 钳工 二车间 吴明
1001 李宁 钳工 二车间 吴明
A. 员工表、工种表、车间表
B. 员工表、工种表、车间表、车间主任表
C. 员工表、工种表、车间表、员工工种表、员工车间表
D. 以上设计均不正确
40. 下列说法中,哪些是正确的( BD )
A. RDBMS是数据库管理系统的简称
B. 各行记录都不能重复,是第二范式要求的
C. 在数据库设计中一定要满足第三范式
D. 索引越多,查询越快,数据更新越慢