zoukankan      html  css  js  c++  java
  • 数据库重拾

    第一章:

    1.  数据的4个特征:

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

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

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

    4) 数据应具有载体和多种表现形式。

    2.数据库定义

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

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

    一、选择题(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
                    )
     
  • 相关阅读:
    centos7上安装JupyterHub
    我的测试第一篇博客
    TCP,SYN,FIN扫描
    nmap使用帮助翻译
    MySQL 常用函数
    MySQL 视图
    MySQL 索引
    JAVA 注解
    JAVA 反射
    spring boot MySQL极简封装
  • 原文地址:https://www.cnblogs.com/wushuai-study/p/4743193.html
Copyright © 2011-2022 走看看