zoukankan      html  css  js  c++  java
  • 《数据库系统概念》学习笔记1

                            《第一章》
    1.这一章讲述了数据库系统的一些主要优点。它有哪两个不足之处?
    a.数据库系统的建立需要投入更多的资金、人力、知识、技术和时间
    b.数据库的复杂性会导致较差的性能
     
    2.什么是过程化程序设计语言和非过程化程序设计语言?
    a.过程化程序设计语言:指需要由编写程序的人一步一步地安排程序的执行过程的语言
    b.非过程化程序设计语言:也称第四代语言,即只给机器下达做什么,有机器自动安排执行的顺序
     
    3.列出为某个企业建立数据库的六个主要步骤
    a.明确企业的高层需求(该步骤产生需求规格说明书)
    b.定义一个数据模型,包括所有的数据类型及关系
    c.定义数据上的完整性约束
    d.定义物理层次
    e.对关于功能的每个问题(比如,该任务由员工还是用户执行),都定义一个执行该任务的用户界面,并编写相应的用户程序来实现这个用户界面
    f.创建/初始化数据库
     
    4.考虑你最喜欢的程序设计语言中的一个N*M的二维整数数组。以此数组为例,说明(a)数据抽象三层间的区别和(b)模式的和实例的区别
    a.物理层:通常就是为这个声明所定义的数据大小(比如32b)开辟m*n个(一般是连续的)存储空间
    逻辑层:就是一个数据方格,每一格都包含一个整数,n层格子高,m个格子宽。
    视图层:就有2^(m*n)个可能的视图,比如,视图可以是整个数组,也可以某几行某几列组成的子数组
    b.考虑如下Pascal语言的定义
    type tgrid=array[1...n,1....m]of integer;
    var vgrid1,vgrid2;trid
    该定义中,tgrid是模式,而vgrid1,vgrid2都是实例。
    进一步说明,考虑模式tgrid=array[1...2,1...2] of integer,上图中就是两个实例
     
    5.列出你使用过的用数据库存储持久数据的应用
    a.各种网络游戏
    b.微博,qq,支付宝之类的
     
    6.文件处理系统和DBMS的四个主要区别是什么?
    a.数据一致性问题:即同一数据的不同副本可能不一致
    b.数据访问问题:我们需要开发通用的、能对变化的需求做出更快反应的数据检索系统
    c.原子性问题:为了保证数据库的一致性,所有操作必须要么发生,要么不发生
    d.安全性问题:并非数据库系统的所有用户都可以访问所有数据
     
    7.说明物理数据独立性与逻辑数据独立性的区别。
    数据独立性是指:应用程序和数据之间相互独立,不受影响。分为物理独立性和逻辑独立性。
    a.物理数据独立性:是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。即,数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变
    b.逻辑数据独立性:是指用户的应用程序与数据库的逻辑结构是相互独立的,即当数据的逻辑结构改变时,用户程序也可以不变
    数据域程序的独立,把数据的定义从程序中分离出去,加上数据的存储又由DBMS负责,从而简化了应用程序的编制,大大减少了应用程序的维护和修改
      
    8.列出DBMS的五个职责
    a.数据孤立:由于数据分散在不同文件中,这些文件又可能具有不同的格式,编写新应用程序来检索适当数据是很困难的
    b.完整性问题:数据库中所存储的数据必须满足某些特定的一致性约束。
    c.原子性问题
    d.并发访问异常:为了提高系统的总体性能以加快响应速度,许多系统允许多个用户同时更新数据。但是当数据被多个不同应用程序访问时,这些程序相互之间事先又没有协调,管理就会出现问题
    e.安全性问题
     
    9.DBA的五个主要功能是什么?
    a.模式定义:DBA通过用DDL书写的一系列定义来创建最初的数据库模式。
    b.存储结构及存储方式定义
    c.模式及物理组织的修改:由DBA对模式和物理组织进行修改,以反映组织的需求变化,或为提高性能选择不同的物理组织
    d.数据访问授权:通过授予不同的权限,数据库管理员可以规定不同的用户各自可以访问的数据库的部分。授权信息保存在一个特殊的系统结构中,一旦系统中有访问数据的要求,数据库系统就去查阅这些信息
    e.日常维护:
    数据库管理员的日常维护活动有:
    e1.定期备份数据库,或者在磁带上或在远程服务器上,以防止像洪水之类的灾难发生时数据丢失
    e2.确保正常运转时所需的空余磁盘空间,并且在需要时升级磁盘空间
    e3.监视数据库的运行,并确保数据库的性能不因一些用户提交了话费时间较多的任务就下降很多
     
    小结:
    A.DBMS由相互关联的数据集合以及一组用于访问这些数据的程序组成,数据描述某特定的企业。
    B.DBMS的主要目标是为人们提供方便高效的环境来存储和检索数据
    C.如今数据库系统无所不在,很多人每天直接或间接地与数据库系统打交道
    D.数据库系统设计用来存储大量的数据。
    E.数据库系统的一个主要目的是为用户提供数据的抽象定义
    F.数据库结构的基础是数据模型
    G.数据操纵语言(DML)使得用户可以访问和操纵数据的语言,非过程化的,只需用户指明需要哪些数据即可,不需考虑如何获得
    H.数据定义语言(DDL)是指定数据库模式以及数据其他特性的语言,通过它,我们可以定义表,完整性约束,断言等等。
    I.关系数据模型是用于在数据库中存储数据的最广泛使用的模型。其他的数据模型有面向对象模型,对象-关系模型和半结构化数据模型
    J.数据库设计主要包括数据库模式的设计。实体-联系(E-R)数据模型是广泛用于数据库设计的数据模型,它提供了一种方便的图形化的方式来查看数据、联系和约束
    K.数据库系统由几个子系统构成:
    a.存储管理器是在数据库中存储的低层数据与应用程序以及向系统提交的查询之间提供接口的程序模块
    b.查询处理器编译和执行DDL和DML表达式
    O.事物管理负责保证不管是否有故障发生,数据库都要处于一致的(正确的)状态。事物管理器还保证并发事物的执行互不冲突
    P.典型地,数据库应用程序可被分为运行在客户机上的前端部分和运行在后端的部分。在两层体系结构中,前端直接和后端运行的数据库进行通信。在三层结构中,后端又被分为应用服务器和数据库服务器
  • 相关阅读:
    【Java基础】9、Enumeration接口和Iterator接口的区别
    【Java基础】4、java中的内部类
    【Java基础】3、Java 位运算(移位、位与、或、异或、非)
    【高并发解决方案】6、数据库水平切分的实现原理解析
    【Java深入研究】6、CGLib动态代理机制详解
    【Java深入研究】4、fail-fast机制
    【Java深入研究】2、JDK 1.8 LinkedList源码解析
    【算法】1、快速排序
    Linux下查看系统版本号信息的方法
    Kubernetes1.2如何使用iptables
  • 原文地址:https://www.cnblogs.com/wbingeek/p/3691120.html
Copyright © 2011-2022 走看看