zoukankan      html  css  js  c++  java
  • 软件评测师:数据库知识

    一、三级模式结构

    • 模型:对现实世界特征的模拟和抽象
    • 数据模型:对现实世界数据特征的抽象
    • 数据模型的三要素:
      • 数据结构:数据对象存储、组织的集合
      • 数据操作:对数据对象操作的集合
      • 数据的约束条件:数据对象完整性规则性的集合

    image

    外模式:也称子模式或用户模式,是模式的子集,是数据的局部逻辑结构和特征的描述

    可以理解为视图

    概念模式:也称为模式、逻辑模式, 是数据库中全体数据的全局逻辑结构和特性的描述

    可以理解为基本表

    内模式:也称存储模式和物理模式, 一个数据库只有一个内模式。是数据在数据库系统中的内部表示,即数据的物理结构和存储 方式的描述

    可以理解为存储文件

    两级映像:
    外模式/模式:保证了当模式改变时,外模式不用变— 逻辑独立性
    模式/内模式:保证了当内模式改变时,模式不用变— 物理独立性
    数据库的模式:是全局逻辑结构,是数据库的中心和关键,它独立于其他层次,设计数据模式结构时,首先确定数据库的逻辑模式

    数据库管理系统

    功能:
    数据定义:数据定义语言DDL,对数据库结构进行描述,包括外模式、 模式、内模式,完整性、安全保密定义等
    数据操作:数据操作语言DML,方便外部程序、用户对数据的CRUD
    数据库运行管理:安全检查、完整性检查、事件检查、自动恢复等
    数据组织、存储和管理:数据字典、用户数据、存取路径等
    数据的建立和维护:数据的初始建立,数据库的性能分析、 数据库的重建
    其它功能:数据库之间的通信、数据之间的转换等

    数据结构化且统一管理:将数据与程序逻辑分离,数据独立存储,即描述数据的结构、 特征,且描述数据之间的关联。数据由统一的数据管理系统管 理,实现数据的分享。

    有较高的数据独立性:是指数据与程序的独立,数据的定义从程序中独立出去,程序 只关心程序的逻辑结构,而不关心数据的存储结构,简化了应 用程序的开发,包括物理独立性、逻辑的独立性。
    数据控制功能:数据管理系统提供了数据控制功能,提供数据的共享

    特征:
    安全性保护:保护数据库,防止被不合法的数据操作引起数据的读取、破坏 等,用户只能按照规定进行处理
    完整性保护:数据库的正确性、相容性,避免合法用户数据库的异常操作引 发数据的异常,确保数据正确,避免异常更新
    并发控制:避免多用户同时对某数据进行操作,防止数据不一致性,包括 丢失更新、不可重复读,读脏数据。主要是破坏了事物的隔离性,并发控制协调并发数据的操作,保证数据不被破坏,避免 用户读取不正确的数据。
    故障恢复:内部故障、系统故障、介质故障,后期细化介绍

    数据库术语:

    关系:一个关系R对应一张二维表,二维表名就是关系名
    属性:二维表中的一列称为属性,其中A1,A2...An为属性名 列的值称为属性值,属性值的取值范围为值域
    域:属性A1,A2...An的取值范围
    关系模式:对关系的描述(有哪些属性,各个属性之间的依赖关系如何),记为R(U、D、DOM、 F), 其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性的域,DOM为属性向域的映 象集合,F为属性间数据的依赖关系集合。
    通常将关系模式简记为
    R(U)R(A1,A2,...,An )
    R为关系名
    A1,A2,...An为属性名或者域名
    属性向域的映像常常直接说明属性的类型和长度
    通常在关系模式主属性上加下划线表示该属性为主码属性

    例:学生关系模式S(Sno,Sname,Sex,SD,Age)

    元组:二维表中一行称为元组
    分量:元组中的一个属性值
    主属性/ 非主属性:关系中包含在任何一个候选码中的属性称为主属性或码的属性,不包括在任何一个候选码中的属性称为非主属性或非码属性
    候选码/ 候选键:如果在一个关系中,存在一个属性(或属性组)都能用来唯一标识 该关系的元组,并不含有多余的属性,这个属性(或属性组)称为 该关系的候选码或候选键
    主码/ 主键:其值能唯一地标识元组中的一个或多个属性,称为主码或关键字(主码是任意一个候选码。)
    外码/ 外键:关系中的某个属性(或属性组)不是该关系的主码 或者只是主码的一部分,但却是另一个关系的主码 时,该属性(或属性组)称为这个关系的外码

    image

    完整性约束

    防止的是对数据的意外破坏
    实体完整性:规定基本关系R的主属性A不能取空
    用户自定义完整性:就是针对某一具体关系数据库的约束条件,反映某一具体应用 。所涉及的数据必须满足的语义要求,由应用的环境决定
    如:年薪必须为30W至60W
    参照完整性/引用完整性:
    关系模型中,实体间的联系是用关系来描述的,这样自然 就存在着关系和关系间的引用
    规定,若F是基本关系R的外码,它与基本关系S的主码K 相对应(基本关系R和S不一定是不同的关系),则R中每 个元组在F上的值必须为
    或者取空值
    或者等于S中某个元组的主码值

    例:员工(员工号,姓名,性别,参加工作时间,职级号 职级(职级号,职级名,薪酬)

    关系代数

    是一种传统的表达方式,用对关系的运算来表达查询 运算对象、运算结果都为关系
    image

    笛卡尔积:
    定义1:
    D1,D2,...,Dn为任意集合,定义其笛卡尔积为: D1D2...Dn={(d1,d2,...dn) | di e Di ,i=1,2,...n}
    其中每个元素(d1,d2,...dn) 叫做一个元组 元组的每个值di叫做元组的一个分量 笛卡尔积可以用二维表来表示
    image

    定义2:
    D1D2,...,Dn的子集叫做在域D1,D2,...Dn上的关系,记为 R(D1,D2...Dn),称关系R为n元关系
    image

    广义笛卡尔积:
    两个元素分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合
    image
    元组的前n列是关系R的一个元组 元组的后m列是关系S的一个元组

    关系运算

    笛卡尔积结果: 属性数:加
    元组数:乘

    关系运算——投影

    关系R的投影是从关系R中选择出若干属性列组成新的关系。
    分为两步:

    • (1)选择出指定的属性,形成一个可能含有重复行的表。
    • (2)删除重复行,形成新的关系。

    关系模式中R(A1,A2,...An),t∈R表示t是R的一个元组,其中A为R中的属性列。t[A(_i)]则表示元组t中相应于属性A(_i)的一个分量。投影的运算表达式为:
    image
    在关系二维表中投影是一种垂直操作,它针对二维表中的属性列。
    在SQL中,投影运算是一个单目运算,它是从一个关系R中选取所需要的列组成一个新关系。

    例:
    image

    π(_{名称,单价})(表1)=表2

    关系运算——选择

    定义:在关系中选择在指定属性上有确定值的关系的子集。表示为:
    image
    是从关系R中选择满足给定条件的诸元组
    F中的运算对象是属性名(或列的序号)或常数
    例:σ(_{1≠6})( R ) : 选取关系R中第一个属性值不等于第六个属性值的元组
    例:σ(_{1≠'6'})( R ) : 选取关系R中第一个属性值不等于'6'的元组

    关系运算——连接

    是从两个关系R和S的笛卡尔积中选取满足一定条件的元组
    3种类型
    θ连接:
    是从两个关系R和S的笛卡尔积中选取满足一定条件的元组
    形式定义
    image
    xθy为连接条件
    θ是比较运算符
    X,Y分别为R和S上度数相等,且可比的属性组
    tn[X]表示R中tn元组相应于X的一个分量
    tm[Y]表示R中tm元组相应于Y的一个分量
    image
    image
    等值连接
    自然连接:
    是一种特殊的等值连接
    要求两个关系中进行比较的分量必须是相同的属性组 ,并且在结果集中将重复属性列去掉
    形式定义
    image
    tn表示关系R的元组变量,tm表示关系S的元组变量
    S去除重复属性B所组成新的元组tm*
    R和S具有相同的属性组B,且B=( B1,B2,...,Bk)
    假定R的属性为:A1,A2,...,An-k,B1,B2,...Bk 假定S的属性为:B1,B2,...,Bk,Bk+1,Bk+2,...Bm
    image

    数据库语言

    SQL(Structure Query Language)称为结构化查询语言。是介乎关系代数和元组 验算之间的一种语言,广泛应用于商用系统中,是关系数据库的标准语言

    语言分类 详细描述
    数据查询语句 select
    数据操纵语句(DML) insert;update;delete;
    数据定义语句(DDL) create;alter;drop;rename;truncate;
    事务控制语句(TC) commit;rollback;savepoint
    数据控制语言(DCL) Grant;Revoke;
    如果您觉得本篇文章还不错,欢迎点赞,转发分享(转发请注明出处),感谢~~
  • 相关阅读:
    模拟器 waiting for debugger
    2020年春节抢票神器
    spyder crashed during last session
    D盘 自动创建 保存的图片 本机照片
    北邮 自考 数据结构 考核指导
    对无相关性的样本特征进行onehot编码
    opencv的Kmeans聚类算法应用
    adaboost详解
    ROC与AUC曲线绘制
    K近邻算法核心函数详解
  • 原文地址:https://www.cnblogs.com/feng0815/p/15092439.html
Copyright © 2011-2022 走看看