数据库基础题目(一)

来源:互联网 发布:three.js开发指南2017 编辑:程序博客网 时间:2024/05/02 07:47

一、选择题(20分,每小题2分):

1.数据库系统的核心是_B___。
A.数据库           B.数据库管理系统
C.数据模型         D.软件工具
2.SQL语言具有__B__的功能。
A.关系规范化、数据操纵、数据控制
B.数据定义、数据操纵、数据控制
C.数据定义、关系规范化、数据控制
D.数据定义、关系规范化、数据操纵
3.SQL语言的数据操纵语句包括 SELECT,INSERT,UPDATE和 DELETE,
最重要的,也是使用最频繁的语句是__A__。
A.SELECT       B.INSERT       C.UPDATE       D.DELETE
4.在关系数据库设计中,设计关系模式是__C__的任务。
   A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段
5.__C__是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。
   A.程序   B.命令   C.事务   D.文件
6.在数据库中,产生数据不一致的根本原因是__D__。????
A.数据存储量太大
B.没有严格保护数据
C.未对数据进行完整性控制
D.数据冗余
7.下列SQL语句中,创建关系表的是__B__。
A.ALTER             B.CREATE
C.UPDATE            D.INSERT
8.数据库的__B__是为了保证由授权用户对数据库所做的修改不会影响数据一致性的损失。
A.安全性   B.完整性   C.并发控制   D.恢复
 
9.事务是数据库进行的基本工作单位。如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未有过这些更新,这样保持了数据库处于_____B___状态。
  A.安全性   B.一致性   C.完整性   D.可靠性
 
10.对并发操作若不加以控制,可能会带来数据的___D_问题。
   A.不安全   B.死锁   C.死机   D.不一致
 
二、填空题(12分,4小题)
1.数据冗余可能导致的问题有____________________和_____________________。
答案:①浪费存储空间及修改麻烦     ②潜在的数据不一致性
 
2.数据库在运行过程中可能产生的故障有____________、_______________、___________。
答案:①Transaction failure ②System crash ③Disk failure
 
3.视图是一个虚表,它是从_________中导出的表。在数据库中,只存放视图的________,不存放视图的_____________
答案:一个或几个基本表、定义、视图对应的数据
 
4.关系操作的特点是____________操作。
答案:集合
三、简答题(共48分,每小题6分):
1、  如何创建表、修改表、删除表?
        Create table 表名
          Alter table 表名
          Drop table 表名
 
2、  存储过程的优点是什么?
存储过程的优点:
               1.提高性能
               2.减轻网络拥塞
               3.一致性较好
               4.改善安全机制
3、  什么是触发器?触发器有哪几种?触发器有什么优点?
一个触发器是由T-SQL语句集组成的代码块,在响应某些动作时激活该语句集
       有insert,delete,update触发器
       它防止了对数据的不正确、未授权的和不一致的改变
4、  常见的几种约束有哪些?分别代表什么意思?如何使用?
主键约束,外键约束,检查约束,唯一约束,默认约束
        约束:在Create table或alter table时加约束
        (1)主键:PRIMARY KEY (主键字段) 保证了实体完整性,一个表只有一个主键,但一个主键可有包     含多个字段,主键字段不能为空
           (2)唯一:UNIQUE (约束字段) 保证了实体完整性,一个表只有多个唯一约束,一个唯一约束可有包含多个字段
           (3)外键:FOREIGN KEY (外键字段) REFERENCES 主键表(主键字段) 保证了引用完整性,一个表可以有多个外键
       (4)检查:CHECK(检查表达式) 保证了域完整性, 一个表中可以有多个检查性约束
     (5)默认值:DEFAULT (默认值的表达式或NULL) for 字段名 保证了域完整性,一个表可以有多个默认值约束,但是一个字段只有一个                  默认值
 
5、什么是数据库的安全性?(5分)
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
 
6、简要说明事务的原子性。(5分)
事务的所有操作必须完成,否则事务将被撤消。也就是说,事务是作为一个整体的单位处理,不可以被分割
 
7、事务中的提交和回滚是什么意思?(5分)
事务中的提交(COMMIT)是提交事务的所有操作。具体说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。
事务中的回滚(ROLLBACK)是数据库滚回到事务开始时的状态。具体地说就是,在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤消,使数据库回滚到事务开始时的状态。
 
8、什么是数据库的数据独立性?(5分)
数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。
逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。
物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。
数据独立性的好处是,数据的物理存储设备更新了,物理表示及存取方法改变了,但数据的逻辑模式可以不改变。数据的逻辑模式改变了,但用户的模式可以不改变,因此应用程序也可以不变。这将使程序维护容易,另外,对同一数据库的逻辑模式,可以建立不同的用户模式,从而提高数据共享性,使数据库系统有较好的可扩充性,给 DBA维护、改变数据库的物理存储提供了方便。
四、设计题(本大题共2小题,每小题10分,共20分)
1、假定一个部门的数据库包括以下的信息:  (10分)
职工的信息:职工号、姓名、住址和所在部门。
部门的信息:部门所有职工、经理和销售的产品。
产品的信息:产品名、制造商、价格、型号及产品内部编号。
制造商的信息:制造商名称、地址、生产的产品名和价格。
完成如下设计:
设计该计算机管理系统的E-R图;
2、学生表:Student 学生表 (学号,姓名,性别,年龄,组织部门)
           Course 课程表 (编号,课程名称)
               Sc 选课表 (学号,课程编号,成绩)
表结构如下:
(1).写一个SQL语句,查询选修了’计算机原理’的学生学号和姓名
(2).写一个SQL语句,查询’周星驰’同学选修了的课程名字
(3).写一个SQL语句,查询选修了5门课程的学生学号和姓名
       select sno,sname
              from student
              where sno in (
                            select sno
                            from sc
                            where cno = (
                                          select cno
                                          from course
                                          where cname='计算机原理'
                                           )
                             )
       (2)
              select cname
              from course
              where cno in (
                            select cno
                           from sc
                            where sno =
                                   (
                                       select sno
                                      from student
                                       where sname='周星驰'
                          )
                                   )
      
(3)
              select sno,sname
             From student
             Where sno in (
                            select sno
                            from sc
                            group by sno having count(sno)=5
                )
0 0
原创粉丝点击