1.12k likes | 1.21k Views
第一章 数据库系统简介. 弁言. 信息与数据 信息与知识 数据库在信息系统中的地位. 什么是信息. 数学上 是确定性的度量,两次不定性之差,与随机对立. 猜猜 32 只球队谁是冠军? 折半查找,猜 5 次, log 2 32. 按夺冠概率高低划分组,可 以用更少次数找到谁是冠军. 什么是信息. 炒股第一金律:回避风险. 最大熵 对一个一无所知的骰子,其各面朝上的概率均为 1/6 ;如果一个面朝上的概率为 1/3 ,则其余五个面朝上的概率分别是 2/15
E N D
弁言 • 信息与数据 • 信息与知识 • 数据库在信息系统中的地位
什么是信息 • 数学上 • 是确定性的度量,两次不定性之差,与随机对立 猜猜32只球队谁是冠军? 折半查找,猜5次,log232 按夺冠概率高低划分组,可 以用更少次数找到谁是冠军
什么是信息 炒股第一金律:回避风险 • 最大熵 • 对一个一无所知的骰子,其各面朝上的概率均为1/6;如果一个面朝上的概率为1/3,则其余五个面朝上的概率分别是2/15 • 最大熵原理:当对一个随机事件的概率分布进行预测时,预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。这种情况下,概率分布最均匀,熵最大,预测的风险最小 • 不要把所有的鸡蛋放在一个篮子里,当遇到不确定性时,就要保留各种可能性,将风险降到最小
什么是信息 • 物理上 • 信息是一种能量,与熵对立 • 热力学第一定律:热功转换 • 开啤酒瓶口有白气 • 热力学第二定律:熵增加 • 热寂说 • 最大熵:分子运动论 Maxiwell精灵 小贴士: 1比特信息操作最少增加kBln2的熵 两次google搜索的碳排放等于烧开1壶水
什么是信息 • 信息是不确定性的消除 • 信息是负熵 • 信息是有序性的度量 • 信息是系统组织程度的度量 • 信息是事物之间的差异 • 信息是使概率分布发生变动的东西 • 信息是被反映的物质属性 • 信息是通讯传输的内容 • 信息是人与外界相互作用的过程中所交换的内容 先锋地下实验室
什么是信息 • 信息特性 • 无限性、共享性、创造性、时效性、相对性 • 信息构成 • 信息源、内容、载体、传输、接受者 • 信息类型 • 战略信息、战术信息、作业信息 如是我闻 佛渡有缘人
信息与数据 • 数据 • 对现实世界中客观事物的符号表示 • 数字、文本、声音、图像 • 计算机中数据 • 能输入计算机,并能为其处理的符号序列 • 数据项,数据元素
信息与数据 • 信息与数据的联系 • 数据是信息的符号表示,或称载体 • 信息是数据的内涵,是数据的语义解释 • 数据是符号化的信息 • 信息是语义化的数据 • 例,一幅黑白图象 • 数据——黑白点阵 • 信息——脸谱
学习知识 感知信息 信息与知识 • 知识 • “行动的能力”,“知识就是力量” • “可以辅助我们作出决策或采取行动的有很高价值的一种信息形态” • 可以很快地将信息从一个地方转移到另一个地方,但将知识从一个人转移给另一个人经常是很困难和很慢的
信息与知识 • 信息管理 • 通过收集、处理、浓缩信息以达到有效的管理 • 知识管理 • 学习型组织 • 知识共享 • IBM Lotus • 悖论:教会徒弟,饿死师傅
信息系统 信息系统:存储、处理、交换信息 12
信息收集系统 原始信息 作业层 形 式 化 信息系统 数据库管理系统 数据 管理层 归 纳 决策支持系统 决策层 决策信息 数据库在信息系统中的地位 数据管理 对数据的分类、组织、编码、存储、检索和维护
数据库在信息系统中的地位 • 新趋向 • 应用由计算转向信息处理 • 数据量激增,并呈多样性 • 数字图书馆 • 交互视频 • 人类基因组 • 电子商务 • Web • …...
数据库在信息系统中的地位 • 市场前景 • 四大支柱 • 操作系统、计算机语言、网络、数据库 • 两大热门 • 网络、数据库 • 无所不在的数据管理 • All data in database • All work over DBMS
triple?: Why? What? How? • Why? • 数据管理艺术的必然 • What? • 数据模型 • How? • 数据库模式 • tripleV (veni, vidi, vici) • 我来、我见、我征服
提纲 • 回溯——数据管理的发展阶段 • 数据模型 • 数据库模式 • 数据库系统的构成 • 数据库新方向
数据的认识层面 • 数据类型 • 具有相同数据结构的数据属同一类,同一类数据的全体称为一个数据类型 • 数据类型说明了数据在数据分类中的归属,它是数据的一种属性,用以限定该数据的变化范围
数据的认识层面 • 数据结构 • 按照逻辑关系组织起来的一批数据, 按一定的存储方法把它存储在计算机中, 并在这些数据上定义了一个运算的集合 • 逻辑结构 • 数据之间存在的逻辑关系 • 表、树、图、数组… • 物理结构 • 数据在计算机内的存储方式 • 顺序方式、链接方式…
数据的认识层面 • 数据结构+算法=程序 • 数据独立性 • 当数据的结构发生变化时,通过系统提供的映象(转换)功能,使应用程序不必改变 • 数据的物理独立性 • 当数据的存储结构改变时,应用程序不必改变 • 数据的逻辑独立性 • 当数据的逻辑结构改变时,应用程序不必改变 有何问题? 有何作用?
数据的认识层面 • 数据语义 • 语言:形式 • 语义:内涵 1101081980010100x? 如何共享? 庄子与惠子游于濠梁之上,庄子曰:“鲦鱼出游从容,是鱼之乐也。”惠子曰:“子非鱼,安知鱼之乐?”,庄子曰:“子非我,安知我不知鱼之乐?”惠子曰:“我非子,固不知子矣;子固非鱼也,子之不知鱼之乐,全矣。”庄子曰:“请循其本。子曰‘女安知鱼乐’云者,既已知吾知之而问我,我知之濠上也。”
数据管理的方方面面 • 数据定义 • 逻辑结构 • 物理结构 • 数据操纵 • 查询 • 事物自身的属性 • 事物之间的联系 • 数据更新 • 插入、删除、修改 • 数据约束 • 对客观事物的合理反映 数据独立性:将数据管理从应用程序中剥离出来
数据管理的发展阶段 考察要点 • 各阶段的技术及应用背景 • 计算机应用范围 • 外存储设备 • 数据管理软件 • 各个阶段的差别体现 • 谁管理数据 • 数据面向谁 • 数据与应用的独立性
数据管理的发展阶段 • 人工管理阶段(50年代中期以前) • 文件系统阶段(50年代后期---60年代中期) • 数据库系统阶段(60年代后期开始) • 数据库系统 VS 文件系统 • 软件发展趋势 • 数据库系统的特点
人工管理阶段 • 背景 • 计算机主要用于科学计算 • 数据量小、结构简单,如高阶方程、曲线拟和等 • 外存为顺序存取设备 • 磁带、卡片、纸带,没有磁盘等直接存取设备 • 没有操作系统,没有数据管理软件 • 用户用机器指令编码,通过纸带机输入程序和数据,程序运行完毕后,由用户取走纸带和运算结果,再让下一用户上机操作
数据1 程序1 访问 数据2 访问 程序2 数据n 访问 程序n 人工管理阶段
人工管理阶段 • 特点 • 用户完全负责数据管理工作 • 数据的组织、存储结构、存取方法、输入输出等 • 数据完全面向特定的应用程序 • 每个用户使用自己的数据,数据不保存,用完就撤走 • 数据与程序没有独立性 • 程序中存取数据的子程序随着存储结构的改变而改变 • 磁带的特点 • 优点:廉价地存放大容量数据 • 缺点:顺序访问;1%所需,100%访问
文件系统阶段 • 背景 • 计算机不但用于科学计算,还用于管理 • 外存有了磁盘、磁鼓等直接存取设备 • 直接存取设备(DASD) • 无须顺序存取 • 由地址直接访问所需记录 • 产生了操作系统 需求决定服务 分工提高效率
文件系统阶段 • 有了专门管理数据的软件,称为文件系统 • 文件存储空间的管理 • 目录管理 • 文件读写管理 • 文件保护 • 向用户提供操作接口
文件系统阶段 数据1 程序1 数据2 存取方式 程序2 数据n 程序n 解放了用户对外存的访问
文件系统阶段 • 系统提供一定的数据管理功能 • 存取方法(索引文件、链接文件、直接存取文件、倒排文件等) • 支持对文件的基本操作(增、删、改、查等),用户程序不必考虑物理细节 • 数据的存取基本上以记录为单位 • 数据仍是面向应用的 • 一个数据文件对应一个或几个用户程序 • 数据与程序有一定的独立性 • 文件的逻辑结构与存储结构由系统进行转换,数据在存储上的改变不一定反映在程序上
劳资科 学号 姓名 系别 补贴 房产科 学号 姓名 性别 系别 住址 学籍科 学号 姓名 系别 学分 学位 人事科 学号 姓名 性别 系别 年龄 学位 出身 文件系统阶段
文件系统阶段 • 数据与程序的独立性差 • 文件系统的出现并没有从根本上改变数据与程序紧密结合的状况,数据的逻辑结构改变则必须修改应用程序 • 文件系统只是解脱了程序员对物理设备存取的负担,它并不理解数据的语义,只负责存储 • 数据的语义信息只能由程序来解释,也就是说,数据收集以后怎么组织,以及数据取出来之后按什么含义应用,只有全权管理它的程序知道 • 一个应用若想共享另一个应用生成的数据,必须同另一个应用沟通,了解数据的语义与组织方式
文件系统阶段 • 数据的共享性差,冗余度大 • 数据面向应用 • 即使不同应用程序所需要的数据有部分相同时,也必须建立各自的文件,而不能共享相同的数据 • 数据孤立 • 数据分散管理,许多文件,许多数据格式 • 数据的不一致性 • 由于数据存在很多副本,给数据的修改与维护带来了困难,容易造成数据的不一致性 信息孤岛
文件系统阶段 • 数据查询困难 • 记录之间无联系 • 应用自己编程实现 • 对每个查询都重新编码 • 数据完整性难于维护 • 性别必须是男或女 • 员工工资不能超过其经理 • 每门课选修人数不能超过100 • …
供应商 供应 项目 零件 示例 S(SNO, SNAME, STATUS, CITY) P(PNO, PNAME, COLOR, WEIGHT, CITY) J(JNO, JNAME,CITY) SPJ(SNO, PNO, JNO, QTY) S表示供应商,各属性依次为供应商号,供应商名,供应商状态值,供应商所在城市; P表示零件,各属性依次为零件号,零件名,零件颜色,零件重量,零件存放的城市; J表示工程,各属性依次为工程号,工程名,工程所在城市; SPJ表示供货关系,各属性依次为供应商号,零件号,工程号,供货数量。
忆苦思甜 • 查询 • “供应红色零件给北京的工程的供应商姓名” • 维护 • “不允许供应不存在的零件”
CreateFile(S, P, J, SPJ) ScanFile(J) 找到北京的工程的号码 ScanFile(P) 找到红色零件的号码 ScanFile(SPJ) 找到对应以上两号码的SNO ScanFile(S) 找到对应以上SNO的供应商姓名 青铜世纪——基于文件系统 • 分别组织几个文件,存储各类对象的记录
青铜世纪——基于文件系统 如果InsertFile(SPJ) ScanFile(P) 判断欲插入的零件号是否在P中 如果DeleteFile(P) ScanFile(SPJ) 判断欲删除的零件号是否在SPJ中
数据库系统阶段 • 背景 • 计算机管理的数据量大,关系复杂,共享性要求强(多种应用、不同语言共享数据) • 外存有了大容量磁盘,光盘 • 软件价格上升,硬件价格下降,编制和维护软件及应用程序成本相对增加,其中维护的成本更高,力求降低 • 专门的数据管理软件呼之欲出
程序2 程序1 程序n 统一存取 数据1 数据2 数据n 数据库系统阶段 • 数据库观点 • 数据不是依赖于处理过程的附属品,而是现实世界中独立存在的对象
人事科 劳资科 系别 年龄 补贴 学位 学号 姓名 住址 学分 学籍科 性别 出身 房产科 数据库系统阶段
数据库系统阶段 • 特点 • 有了数据库管理系统 • 面向全组织,面向现实世界 • 独立性较强 • 由DBMS统一存取,维护数据语义及结构
数据库系统的特点 • 面向全组织的复杂的数据结构 • 支持全企业的应用而不是某一个应用 • 数据反映了客观事物间的本质联系,而不是着眼于面向某个应用,是有结构的数据。这是数据库系统的主要特征之一,与文件系统的根本差别。文件系统只是记录的内部有结构,一个文件的记录之间是个线性序列,记录之间无联系
数据库系统的特点 • 数据的冗余度小,易扩充 • 数据面向整个系统,而不是面向某一应用,数据集中管理,数据共享,因此冗余度小 • 节省存储空间,减少存取时间,且可避免数据之间的不相容性和不一致性 • 每个应用选用数据库的一个子集,只要重新选取不同子集或者加上一小部分数据,就可以满足新的应用要求,这就是易扩充性
数据库系统的特点 • 具有较高的数据和程序的独立性 • 把数据库的定义和描述从应用程序中分离出去 • 数据描述是分级的(全局逻辑、局部逻辑、存储) • 数据的存取由系统管理,用户不必考虑存取路径等细节,从而简化了应用程序
数据库系统的特点 • 统一的数据控制功能,数据共享程度高 • 安全性控制(Security) • 保护数据以防止不合法的使用所造成的数据泄露和破坏 • 措施:用户标识与鉴定,存取控制 • 完整性控制(Integrity) • 数据的正确性、有效性、相容性 • 措施:完整性约束条件定义和检查
数据库系统的特点 • 并发控制(Concurrency) • 对多用户的并发操作加以控制、协调,防止其互相干扰而得到错误的结果并使数据库完整性遭到破坏 • 措施:封锁 • 恢复控制(Recovery) • 将数据库从故障中恢复到某个一致状态 • 措施:冗余
黄金世纪——基于数据库系统 • 数据统一按表结构存放,设为S,P,J,SPJ • 查询:只需提查询要求,由系统完成查询过程 SELECT SNAME FROM S, P, J, SPJ WHERE SPJ.SNO = S.SNO AND SPJ.PNO = P.PNO AND SPJ.JNO = J.PNO AND J.CITY = “BEIJING” AND P.COLOR = “RED” • 维护:应用提出完整性约束,系统自动检查 CREATE TABLE SPJ(……, FOREIGN KEY (PNO) REFERENCES P(PNO), ……)
应用逻辑 数据管理 应用软件 应用逻辑 数据管理 系统软件 文件系统 文件系统 数据库系统 vs 文件系统