数据库重拾

第一章:数据库

1.  数据的4个特征:安全

1) 数据有“型”和“值”之分。网络

2) 数据受数据类型和取值范围的约束。数据结构

3) 数据有定性表示和定量表示之分。并发

4) 数据应具备载体和多种表现形式。数据库设计

2.数据库定义工具

长期储存在计算机中的、有组织的可共享的数据的集合。性能

 

数据库的特色
   数据按必定的数据模型组织、描述和储存
  较小的冗余度
  数据独立性较高
  易扩展
  可共享:
① 不一样的用户能够按各自的用法使用数据库中的 数据。
② 多个用户能够同时共享数据库中的数据资源。
数据库管理系统( DBMS
是专门用于管理数据库的计算机系统软件。数据库管理系统可以为数据库提供 数据的定义、创建、维护、查询和统计等操做功能,并完成对 数据完整性、安全性进行控制的功能
 

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

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.不一致
 
2、填空题(12分,4小题)
1.数据冗余可能致使的问题有____________________和_____________________。
答案:①浪费存储空间及修改麻烦     ②潜在的数据不一致性
 
2.数据库在运行过程当中可能产生的故障有____________、_______________、___________。
答案:①Transaction failure ②System crash ③Disk failure
 
3.视图是一个虚表,它是从_________中导出的表。在数据库中,只存放视图的________,不存放视图的_____________。
答案:一个或几个基本表、定义、视图对应的数据
 
4.关系操做的特色是____________操做。
答案:集合
3、简答题(共48分,每小题6分):
一、  如何建立表、修改表、删除表?
        Create table 表名
          Alter table 表名
          Drop table 表名
 
二、  存储过程的优势是什么?
存储过程的优势:
               1.提升性能
               2.减轻网络拥塞
               3.一致性较好
               4.改善安全机制
三、  什么是触发器?触发器有哪几种?触发器有什么优势?
一个触发器是由T-SQL语句集组成的代码块,在响应某些动做时激活该语句集
       有insert,delete,update触发器
       它防止了对数据的不正确、未受权的和不一致的改变
四、  常见的几种约束有哪些?分别表明什么意思?如何使用?
主键约束,外键约束,检查约束,惟一约束,默认约束
        约束:在Create table或alter table时加约束
        (1)主键:PRIMARY KEY (主键字段) 保证了实体完整性,一个表只有一个主键,但一个主键可有包     含多个字段,主键字段不能为空
           (2)惟一:UNIQUE (约束字段) 保证了实体完整性,一个表只有多个惟一约束,一个惟一约束可有包含多个字段
           (3)外键:FOREIGN KEY (外键字段) REFERENCES 主键表(主键字段) 保证了引用完整性,一个表能够有多个外键
       (4)检查:CHECK(检查表达式) 保证了域完整性, 一个表中能够有多个检查性约束
     (5)默认值:DEFAULT (默认值的表达式或NULL) for 字段名 保证了域完整性,一个表能够有多个默认值约束,可是一个字段只有一个                  默认值
 
五、什么是数据库的安全性?(5分)
数据库的安全性是指保护数据库以防止不合法的使用所形成的数据泄露、更改或破坏。
 
六、简要说明事务的原子性。(5分)
事务的全部操做必须完成,不然事务将被撤消。也就是说,事务是做为一个总体的单位处理,不能够被分割
 
七、事务中的提交和回滚是什么意思?(5分)
事务中的提交(COMMIT)是提交事务的全部操做。具体说就是将事务中全部对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。
事务中的回滚(ROLLBACK)是数据库滚回到事务开始时的状态。具体地说就是,在事务运行的过程当中发生了某种故障,事务不能继续执行,系统将事务中对数据库的全部已完成的更新操做所有撤消,使数据库回滚到事务开始时的状态。
 
八、什么是数据库的数据独立性?(5分)
数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。
逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变动或增长新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序没必要修改。
物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序没必要做修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。
数据独立性的好处是,数据的物理存储设备更新了,物理表示及存取方法改变了,但数据的逻辑模式能够不改变。数据的逻辑模式改变了,但用户的模式能够不改变,所以应用程序也能够不变。这将使程序维护容易,另外,对同一数据库的逻辑模式,能够创建不一样的用户模式,从而提升数据共享性,使数据库系统有较好的可扩充性,给 DBA维护、改变数据库的物理存储提供了方便。
4、设计题(本大题共2小题,每小题10分,共20分)
一、假定一个部门的数据库包括如下的信息:  (10分)
职工的信息:职工号、姓名、住址和所在部门。
部门的信息:部门全部职工、经理和销售的产品。
产品的信息:产品名、制造商、价格、型号及产品内部编号。
制造商的信息:制造商名称、地址、生产的产品名和价格。
完成以下设计:
设计该计算机管理系统的E-R图;
二、学生表: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
                )
相关文章
相关标签/搜索