复习做的
数据库的基本概念
信息,数据,数据处理,数据管理,数据库,数据库系统,数据库管理系统
数据库系统>数据库管理系统(数据库系统(DBS) 数据库系统由数据库、数据库管理系统(及其应用开发工具)、应用程序、数据库管理员四部分构成)
数据管理的发展过程
手工管理,文件系统,数据库系统
人工管理:数据和代码融为一体,数据存取管理均纳入到程序设计中
数据不能长期保存在计算机中
数据 不能共享 //因为那时候软件没有操作系统,硬件没有直接存取存储设备
数据与程序之间不具有独立性
//那时候有磁盘,有文件系统
文件系统:可实现以文件为单位的数据共享
Os负责管理和存储文件信息的模块
用户通过命令或者系统调用实现对文件的操作
能长期保存
有一定的独立性
能共享,以文件为单位
缺点:冗余度高,独立性差(数据独立性是指是数据库系统的最基本的特征之一 。数据独立性是指应用程序和数据结构之间相互独立,互不影响。)
不仅重复还相互影响
数据库特点
- 数据结构化
整体数据的结构化,数据结构用数据模型描述,不需要程序定义和解释(?)看不太懂
2.数据共享性
多用户,多应用共享
降低冗余(表间?程序间?)
避免数据不一致(表间?程序间?)
使系统易于扩充
3.数据独立性
物理独立性:用户的应用程序与存储在物理介质上的数据库中数据是相互独立的当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理
员修改模式/内模式映象,使模式保持不变。应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。(即存储结构改变,模式和应用程序不变)
数据的物理存储改变了,应用程序不改变(顾名思义就是数据在电脑中怎么存储
数据结构,一般只学逻辑结构,依次可以分为线性结构(循序表,队列,堆栈)
非线性结构(集合,图,树)。)
逻辑独立性:用户应用程序与数据库的逻辑结构相互独立(当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保
持不变。从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。(即模式改变,外模式和应用程序不变)
数据的逻辑结构变了,用户程序也可以不变(按照数据的逻辑结构来分,有两种形式:线性结构和非线性结构。)
- 数据统一管理控制
数据安全性保护
数据完整性控制
并发控制(并发控制指的是当多个用户同时更新运行时,用于保护数据库完整性的各种技术。并发机制不正确可能导致脏读、幻读和不可重复读等此类问题。并发控制的目的是保证一个用户的工作不会对另一个用户的工作产生不合理的影响。在某些情况下,这些措施保证了当用户和其他用户一起操作时,所得的结果和她单独操作时的结果是一样的。在另一些情况下,这表示用户的工作按预定的方式受其他用户的影响。)
数据库恢复(数据库恢复是指通过技术手段,将保存在数据库中丢失的电子数据进行抢救和恢复的技术。)
数据库系统的特点:结构化,共享性,数据独立性,统一管理与控制
数据模型
数据模型的概念:对数据特征的抽象描述
概念模型:er模型(三类模型,er模型)
逻辑模型
层次,网状,关系
(逻辑模型大概比概念模型多一些细节概念模型就是在了解了用户的需求,用户的业务领域工作情况以后,经过分析和总结,提炼出来的用以描述用户业务需求的一些概念的东西。如销售业务中的“客户”和“定单”,还有就是“商品”,“业务员”。 用USE CASE来描述就是:“业务员”与“客户”就购买“商品”之事签定下“定单”。(此时可以不包含属性,只有实体集,联系集的分析结构)
逻辑模型就是要将概念模型具体化。要实现概念模型所描述的东西,需要那些具体的功能和处理那些具体的信息。这就到了需求分析的细化阶段。还以销售业务为例:“客户” 信息基本上要包括:单位名称,联系人,联系电话,地址等属性;“商品”信息基本上要包括:名称,类型,规格,单价等属性;“定单”信息基本上要包括:日期 和时间属性。并且“定单”要与“客户”,“业务员”和“商品”明细关联。
系统需要建立几个数据表:业务员信息表,客户信息表,商品信息表,定单表。
系统要包括几个功能:业务员信息维护,客户信息维护,商品信息维护,建立销售定单 。
以上这些均属于建立逻辑模型,这些说明只表明系统要实现什么,但怎样实现,用什么工具实现还没有讲,后者属于物理模型范围。)
单元小结
DBMS的意思是数据库管理系统,例如sql server,oracle就是
三级模式:
模式,外模式,内模式
二级映像:模式/外模式
模式/内模式映像
这里有一张图能够非常清楚明白地帮人弄明白这个是干什么的,包括和概念模式之间的关系等等
数据库系统的组成:
数据库、软件系统(数据库管理系统,操作系统,应用开发系统,数据库应用系统
人员 数据库管理员DBA(负责维护、保护和运营数据库,确保正确存储和检索数据的专业人员。 此外,DBA 还经常要与开发人员合作设计和实施新功能,排查问题。 这意味着,DBA 必须深入了解技术和业务需求。),系统分析员(分析需求,决定用什么来设计,干活),数据库设计人员,应用程序员,最终用户
数据库系统的体系结构
- 三级模式结构
- 二级映像
- 管理系统
型和值的概念
型;对某一类型数据的结构和属性的说明(学号,姓名,性别,系别,年龄,籍贯)
值:是型的一个具体赋值(1009,李明,男,计算机,22,江苏)
模式:数据库中全体数据的逻辑结构和特征的描述
所有用户的公共数据视图,综合了所有用户的需求
一个数据库只有一个模式
外模式:也称子模式和用户模式
数据库用户使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示
可以有多个
内模式:也称存储模式
是数据物理结构和存储方式的描述
是数据库在数据内部的表达方式
记录存储方式(顺序存储/B+树结构/hash。。。。)
索引的组织方式(例如这样一个查询:select * from table1 where id=44。如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),直接在索引里面找44(也就是在ID这一列找),就可以得知这一行的位置,也就是找到了这一行。可见,索引是用来定位的。)
顺序索引
1. 索引顺序文件
2. 多级索引文件
3. 辅助索引
4. B+ 树索引
:
散列索引
数据是否压缩存储,是否加密
二级映像:定义外模式与模式之间的对应关系
每个外模式都对应一个外模式/模式映像
映像定义通常包含在各自外模式的描述中
外模式/模式映像的意义:保证数据的逻辑独立性(当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变。从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。(即模式改变,外模式和应用程序不变)
模式/内模式映像的意义:保证数据的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理
员修改模式/内模式映象,使模式保持不变。应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。(即存储结构改变,模式和应用程序不变)
三级模式,二级映像结构的优点
保证数据独立性
有利于数据共享,减少数据冗余
有利于数据的安全性
简化了用户接口数据库系统的用户接口(User interface of DBMS)
一个数据库系统提供一些接口以支持用户访问数据库,包括:
- 查询语言(sql)
- 数据库访问工具(GUI)
- APIs
- 类库(Class Library)
用户访问数据库的过程:
数据库系统缓冲区: