zoukankan      html  css  js  c++  java
  • 三级数据库技术:习题笔记(1)

    三级数据库技术:习题笔记(1)

    数据库概论

    1.外模式/模式映像保证了数据与程序的逻辑独立性

    数据库的三级模式由外模式、模式、内模式构成。

    外模式:是用户可见的部门数据的存在形式。

    模式:可以等价为全体数据的逻辑结构而用户不可见,是三级模式的中间部分。

    内模式:对应数据库的物理结构和存储方式。

    当模式改变时,由数据库管理员对各个外模式/模式的映像作相应的改变,但是外模式可以不变,从而应用程序可以不必修改,因此外模式/模式保证了数据与程序的逻辑独立性。模式相当于一种中间层。

    一个数据库只有一个内模式,但有多个外模式!

    2.一个数据库有且只有一个主要数据文件,可以有多个次要数据文件

    主要文件和次要数据文件可以存放在相同的磁盘上,也可以分开放置。

    一个数据文件不可以是多个文件组的成员,日志文件不包含在文件组中。

    3.数据库用户及系统表

    数据库用户分为:系统管理员、对象拥有者、普通用户

    • db_datawriter:具有增删改查所有用户表数据的权限。
    • db_owner:用户具有创建数据库对象的权限!
    • db_accessadmin:角色具有添加和删除数据库用户的权限。
    • db_backupoperator:角色具有备份和恢复数据库的权限。

    4.从功能角度数据库系统可以划分成四个层次

    • 表示层:人机界面设计。
    • 业务逻辑层:梳理DBAS的各项任务活动,将其表示为系统构件(类、模块、组件等)
    • 数据访问层:针对DBAS的数据处理需求设计用于操作数据库的各类事物
    • 数据持久层:应用系统的存储结构设计。

    4.磁盘阵列RAID

      磁盘阵列是由很多便宜、容量较小、稳定性较高、速度较慢的磁盘组成一个大型的磁盘组,利用个别磁盘提供数据所产生的加成效果提升整个磁盘的系统性能。RAID技术主要包含RAID0~RAID50,其中RAID可以提高读取性能和很高的数据安全性和可用性,而RAID5更适合与小数据块和随机读写的数据,要提高读写速度,RAID1比较合适

    关于游标

      游标主要用于 T-SQL 批、存储过程以及触发器当中,其作用是存储一个结果集,并能通过循环将这个结果集里的数据一条条取出来进行处理

      1、定位到结果集的某一行; 
      2、从当前结果集的位置搜索一行或部分行; 
      3、允许对结果集中的当前行进行数据修改。 

    关于索引

    语法:

    索引技术:

      索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。

      数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引分为聚簇索引非聚簇索引两种,聚簇索引 是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快。

      ....聚集索引的键值可以重复

    复合索引:

      用户在多个列上简历索引,这种索引叫做复合索引。复合索引在数据库操作期间所需的开销更小,可以代替多个单一索引。当表的行数远远大于索引键的数目时,这种方式可以明显加快表的查询速度。对于复合索引:

    • 对于一张表来说,如果有一个复合索引就没有必要建立一个单索引。
    • 如果查询条件需要,可以在已有单索引的情况下,添加复合索引对于效率有一定的提高。
    • 对于复合索引,在查询时,最好将WHERE条件顺序作为索引列的顺序,这样效率最高!
    • 复合索引最好首先加载值域范围变化较大的项上。

    索引考点:

    1. 在数据库文件的主码属性集上建立的索引成为主索引。

    索引的使用原则:

    1. .经常在查询中用作条件的列应当添加索引。
    2. 频繁进行排序或分组的列(即进行ORDER BY或GROUP BY)的列,应当为其添加索引。
    3. 一个列的值域很大时,应当为其添加索引。
    4. 如果待排序的列有多个,应当在这些列中添加复合索引。

    数据库语法问题

    1.自身连接

    如果连接操作是一个表与其自己进行连接,称为表的自身连接。语法格式:

    SELECT 查询内容 FROM 表明 表别名1,表名 表别名 2 .....
    
    SELECT 查询内容 FROM 需要连接表1 JOIN 需要连接表2 ON.....

    2..CHECK约束和触发器类似,都可以实现用户自定义约束

    创建表时指出CHECK约束:

    CREATE TABLE Persons
    (
    Id_P int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    CHECK (Id_P>0)
    )  

    对已有表添加CHECK约束:

    ALTER TABLE Persons
    ADD CHECK (Id_P>0)

    3.标量函数

      标量函数是返回单个函数值的函数,标量函数中不适用于SET语句

    4.将查询结果保存到新的表中

    SELECT *  INTO NEW_TABLE FROM OLD_TABLE;

    数据库故障及恢复策略

      在数据库运行过程中,可能会出现各种各样的故障,这些故障可分为以下三类:事务故障、系统故障和介质故障。应该根据故障类型的不同,采取不同的恢复策略。

    1.事务故障及其恢复:

      事务故障表示由非预期的、不正常的程序结束所造成的故障。
      造成程序非正常结束的原因包括输人数据错误、运算溢出、违反存储保护、并行事务发生死锁等

    2.系统故障及其恢复:

      系统故障是指系统在运行过程中,由于某种原因,造成系统停止运转,致使所有正在运行的事务都以非正常方式终止,要求系统重新启动。引起系统故障的原因可能有硬件错误(如CPu故障、操作系统)或DBMS代码错误、突然断电等。

    3.介质故障及其恢复

      介质故障是指系统在运行过程中,由于辅助存储器介质受到破坏,使存储在外存中的数据部分或全部丢失。
      这类故障比事务故障和系统故障发生的可能性要小,但这是最严重的一种故障,破坏性很大,磁盘上的物理数据和日志文件可能被破坏,这需要装入发生介质故障前最新的后备数据库副本,然后利用日志文件重做该副本后所运行的所有事务。

    2.数据库应用系统的性能指标

      包括:数据操作性应该的时间或数据访问响应时间,系统吞吐量、允许并发访问的最大用户数、每TPS代价值。

    3.数据库的恢复顺序

    数据库建模

    1.UML设计

    • 用例图:系统[长方框]、角色[]、用例[椭圆]

    2.DFD建模方式

    DFD建模方式,也被称为过程建模和功能建模方法,核心是数据流

    DFD方法由四种基本元素(模型对象)组成:数据流、处理、数据存储和外部项
     
    (1)数据流(Data Flow)
      数据流用一个箭头描述数据的流向,箭头上标注的内容可以是信息说明或数据项。
    (2)处理(Process)
      表示对数据进行的加工和转换,在图中用矩形框表示。指向处理的数据流为该处理的输入数据,离开处理的数据流为该处理的输出数据。
    (3)数据存储
      表示用数据库形式(或者文件形式)存储的数据,对其进行的存取分别以指向或离开数据存储的箭头表示。
    (4)外部项
      也称为数据源或者数据终点。描述系统数据的提供者或者数据的使用者,如教师、学生、采购员、某个组织或部门或其他系统,在图中用圆角框或者平行四边形框表示。

     3.IDEF1X建模

    IDEF0t图的基本元素是矩形框和箭头,矩形框代表功能活动.....

    (1) 包含数据的有关事物。例如:人、概念、地方和事物等等用盒子来表示。
    (2) 事物之间的联系用连接盒子的连线来表示。
    (3) 事物的特征用盒子中的属性名来表示。
     

     4.3N范式说明

    数据库设计的各个阶段

    系统设计

    • 概念设计
      • 数据库概念模型设计
      • 系统总体设计
    • 逻辑设计
      • 数据库逻辑结构设计
      • 应用程序概要设计
      • 数据库事物概要设计
    • 物理设计
      • 数据库物理结构设计
      • 数据库事物详细设计
      • 应用程序详细设计  

    系统规划与定义

    • 任务陈述
    • 确定任务目标
    • 确定系统范围和边界
    • 确定任务视图

    实现和部署阶段

    • 建立数据库结构
    • 数据加载
    • 事物和应用程序的编码及测试
    • 系统集成
    • 测试和试运行
    • 系统部署

    运行和维护阶段:

    • 数据库的转储和恢复;
    • 系统监控与分析(定期检查CPU、内存使用情况)
    • 数据库的安全性和完整性控制;
    • 数据库性能的监控分析和改进
    • 数据库的重组和重构

    数据库转储

    • 完全转储:对数据库中的所有数据进行转储,此种方法占用较多的时间和空间。
    • 差量转储:对最近一次数据库完全转储以来发生变化的数据库进行转储。
    • 增量转储:只复制上次转储后发生变化的文件或数据块。增量转储所需的时间和空间都比较短,但增量存储只能和完全转储配合,才能对数据库进行恢复。增量转储所需时间比完全转储时间长。

    数据仓库

    数据仓库是一个面向主题的集成的非易失的且随时间变化的数据集合,用来支持管理人员的决策。

    粒度越大,综合程度越高;粒度越小,表示综合成都越小。

    粒度越小,细节成都越高,空间代价也越大。

    分布式数据库

    基本特征

    • 本地自治
    • 非集中式管理
    • 高可用性

    分片透明性

    分片透明性是最高级别的透明性,位于全局概念模式和分片模式之间。分片透明性是指数据分片是用户无需考虑的,完全透明的,在编写程序时用户只需要对全局关系进行操作

    • 全局外模式:全局应用的用户视图,即终端用户看到的逻辑上并未分布的表、视图等;
    • 全局概念模式:描述全体数据的逻辑结构和特征;
    • 分片模式:描述每个数据片段以及全局关系到片段的映像,是分布式数据库系统中全局关系到片段的映像,是分布式系统中全局数据的逻辑划分视图。

    数据库性能优化

    存储优化

    • 物化视图
    • 聚集

     .......

  • 相关阅读:
    LeetCode Binary Tree Inorder Traversal
    LeetCode Populating Next Right Pointers in Each Node
    LeetCode Construct Binary Tree from Inorder and Postorder Traversal
    LeetCode Reverse Linked List II
    LeetCode Populating Next Right Pointers in Each Node II
    LeetCode Pascal's Triangle
    Palindrome Construct Binary Tree from Preorder and Inorder Traversal
    Pascal's Triangle II
    LeetCode Word Ladder
    LeetCode Binary Tree Zigzag Level Order Traversal
  • 原文地址:https://www.cnblogs.com/MrSaver/p/8482972.html
Copyright © 2011-2022 走看看