数据库笔记

一.数据库基本内容



1.1 基本概念
  • 数据:信息的表达形式
  • 数据库DB:长期存储在计算机中的大量数据集合,数据的仓库,存放数据
  • 数据库管理系统DBMS:用户与操作系统的数据管理软件,用来组织和存储数据,高效的获取和维护数据
  • 数据库系统DBS:在计算机系统中引入数据库,由数据库,数据库管理系统,应用系统,数据库管理员和用户构成
  • 数据库管理员:建库,用库,改进
1.2 数据库管理技术发展阶段
  • 人工管理阶段:使用纸带,数据完全依赖程序,管理者是程序员,由应用程序控制,存储性差。
  • 文件管理阶段:存储在磁盘内,有专门的管理软件,独立性差,数据的逻辑结构必须修改应用程序,文件管理系统记录内有结构,靠程序定义和解释,数据只能定长,文件相独立,但整体无结构。文件针对于特定的应用设计,数据共享度差,难以更新维护
  • 数据库管理系统:有三级层次和两级映射,共享性和独立性都比较好。
1.3 数据库管理系统主要语言
  • DDL:creat , drop,alter (Define)定义语言,主要用于创建表
  • DML:select,insert,update,delete (Manage)操纵语言
  • DCL:grant,revoke (Control)控制语言,主要用来设置或更改权限
1.4 模式
  • 型:属性,对某类数据的结构和属性说明----模式
  • 值:对型的具体赋值-----实例
  • 允许用户逻辑的处理数据,而不必关心数据如何存放
1.5 数据库的三级体系结构
  • 用户级(外部级,外模式,局部模式):用户看到的数据(不一定是全部),针对不同用户需求存在差异
  • 概念级(概念级,模式,全局模式):数据的逻辑模式,数据的总体特征概括
  • 物理级(内部级,内模式,存储模式):数据内部存储的方式
  • 外模式和模式存在逻辑独立性 :模式的修改,不会导致应用程序的修改
  • 模式和内模式存在物理独立性 :改变数据内部的存储,但是应用程序得到的数据不会有改变
三级模式

二.建立数据模型


2.1 数学建模
  • 数学建模是数据库系统的核心和基础
  • 概念模型(信息模型):按用户观点对数据和信息建模,是DBA与用户交互的模
  • 逻辑模型(数据模型):按计算机的观点对数据建模,用于实现DBMS
  • 物理模型:对数据底层的抽象(数据在硬盘上的表示和存储方式)
2.2 E-R模型
  • E-R模型(实体-联系模型):静态模型,只能反映当前状态,不能反映变化
  • 实体:客观事物,矩形
    (1)弱实体:依赖于别的实体而存在(该实体自身的属性不能作为码)
    (2)
  • 联系:菱形,对应n个实体,称为n元联系(为什么多元不能表示成多个二元?)
    (1)强制性约束:至少有一个,非强制性:可以没有
  • 属性:
    (1)椭圆(为什么有的属性是联系的属性而非实体的属性?)
    (2)实体码:能够唯一标识实体的属性
    (3)域:属性的取值范围
    (4)同实体类都有相同的属性,但取值不同
    (5)组合属性:某个属性由多个子属性组成,多值属性:存在多个取值
    (6)关系型数据库处理不了多值,需要转化为原子单值
    (7)派生属性/导出属性:可以通过其他推导
    在这里插入图片描述
  • 联系
    在这里插入图片描述
    (1)爪子表示无穷个,||表示一个班级要有多少个教授(1,1)
    (2)一元联系:实体内与自己的联系,多元联系:多个实体类型的联系
2.3 E-R模型的设计
  • 原则:
    (1)相对性原则:实体,联系,属性是对同一个抽象过程的不同解释
    (2)一致性原则:同个对象在业务系统中的抽象结果保持一致
    (3)简单化原则:尽量用属性
  • 子类和Is-a联系
    (1)特殊化:将父类的特征保留到子代,并产生专有特征
    (2)概括:特殊化的逆过程
    在这里插入图片描述
  • 企业E-R图的设计:先局部,后整体,最后优化
    (1)确定局部范围:范围自然清晰
    (2)实体定义:依据人们的习惯,避免冗余,一个对象只取一种抽象形式
    (3)属性定义:属性不可再分,实体-属性是1-n,不同实体的属性无关,倾向于把属性分给使用频率最高的实体
    在这里插入图片描述
    (4)冲突:
    属性冲突:比如单位不同
    结构冲突:同一对象在不同应用中的不同抽象;实体之间的联系在不同局部图中存在差异;同一实体在不同局部图中属性个数不同
    命名冲突:同名异义,异名同意
2.4 数据模型
  • 客观事物及联系的数据描述,信息模型的数据化
  • 数据结构-系统静态特性:
    (1)刻画数据本身的性质以及数据之间的联系
    (2)作为命名数据模型的依据
    (3)常见类型:
    层次数据模型:有序树或森林,适于描述层次结构的数据
    网状数据模型:图,速度快,易掌握
    关系数据模型:二维表,易于理解和使用
    面向对象数据模型:对象,模拟实体行为
  • 数据操作-描述系统动态特性:
    (1)包括操作及操作规则
    (2)主要为查询和更新
  • 完整性约束:
    (1)数据模型中数据及其联系所具有的制约和依存规则
    (2)保证数据相容,正确,有效
2.5 关系模型
  • 关系模式 :表头(关系名及其全部属性名) 关系模式名(属性名…) 学生(学号,性别…)
  • 关系:对应于关系模式的一个表 (关系模式:型,关系:值)
  • 元组:一行(各不相同)
  • 属性:一列
  • 码:能确定一个元组的属性组(属性包含码)
  • 域:每一个属性对应的取值
  • 规范:
    (1)表中每一项都不可再分
    (2)属性之间顺序无关
    (3)元组之间顺序无关
    (4)列同质(列中每一个分量都在一个域中,类型相同)
    (5)不同列可以不同域
    (6)元组不可完全相同
  • 优点:
    (1)建立于严格的数学模型
    (2)概念单一(主要依靠关系)
    (3)存取路径对用户透明—(1)导致效率不高(2)得对用户请求优化,增加了DBMS开发难度(????)
2.6 E-R模型向关系模型的转换
  • 一个实体型转换为一个关系模式 (实体→关系模式名 属性→属性)
  • 一个m:n的联系转换为关系模型,由一个联系结合的m+n个实体属性 (实体的m+n个属性变成关系的码,属性连接的实体的码和联系本身的属性变成关系的属性,关系模式名=联系)
  • 一个1:n的联系转换为关系模型,由一个联系结合的n个实体属性(关系模型的属性=E-R模型中该联系能到达的所有属性,关系的码=n端实体的码)(还可以把1个实体的属性和码结合如n个实体)
  • 一个1:1的联系转换为关系模型(关系的属性=所有实体和联系的属性,关系的候选码=两者中的一个)(或者把其中一个并入另一个)
  • 一个m:n:p的E-R模型转化为关系模型(属性全部取,码也全部取)
  • 相同码的关系模式合并
  • 存在多种可能,则要具体考察那个操作更多
  • 存在多个属性的实体相联系,如果你要描述这个联系,你就要把所有的关系写出(属性),如果要求你给出几个指标就能确定一个联系(码),怎么给合适
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值