《计算机科学导论 第七章.ppt》由会员分享,可在线阅读,更多相关《计算机科学导论 第七章.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第7章 信息系统,本章要点:,信息系统概念 数据库系统基本概念 关系数据库概念 数据库查询语言 关系数据库设计 数据库管理 常用数据库管理系统 数据库新发展,7.1 信息系统概述,1.信息 信息的概念:信息通常指经过加工了的、有一定意义和价值、且具有特定形式的数据,这些数据能够反映出客观世界事物的内在联系及本质,从而影响信息获取者的行为或决策。 信息的特点:时间性 、真实性 、易于理解 、多样性 、传播性 、不确定性 。,7.1 信息系统概述,2.信息系统 “信息系统是一个由人员、活动、数据、网络和技术等要素组成的集合,主要目的是对组织的业务数据进行采集、存储、处理和交换,以支持和改善组织的日
2、常业务运作,满足管理人员解决问题和制定决策以及对信息的各种需求”。,7.2 数据库系统概述,1.基本概念 数据 :数据(data)描述事物的符号记录称为数据。数据是数据库中存储的基本对象。数据的种类很多,可以包括文字、数字、声音、图形、图象等。数据库:以一定的组织方式存储的相互关联的数据的集合,就是数据库。这些数据能够长期存储、统一管理和控制,且能够被不同用户所共享,具有数据独立性及最小冗余度。,7.2 数据库系统概述,数据库管理系统 :是对数据库进行管理的软件系统,是数据库系统的核心。它位于计算机系统中操作系统与用户或应用程序之间,主要功能包括:数据定义、数据操纵、数据组织、存储和管理、数据
3、库的建立和维护、数据通信接口。 数据库管理员:专门对数据库进行规划、设计、管理、协调和维护的工作人员。,7.2 数据库系统概述,数据库系统 :数据库系统(DataBase System:DBS)是DB、DBMS、DBA、用户和计算机系统CS(Computer System)的总和。,7.2 数据库系统概述,2.数据库管理技术的发展 人工管理阶段 :数据不长期保存 ,应用程序管理数据 ,数据不能共享 ,数据不具有独立性 。文件系统阶段:数据可以长期保存 ,文件系统管理数据 ,数据共享性差,冗余度大 ,数据独立性差 。数据库系统阶段:数据结构化 ,数据共享性高、冗余度低、易扩充 ,数据独立性高 ,
4、有专门的数据库管理系统 。,7.2 数据库系统概述,3.数据模型 概念模型 :也称信息模型,是按照用户的观点对数据和信息建模,与计算机系统无关,是概念级的模型,通常用于数据库的设计,它是数据库设计人员和用户之间进行交互的一种形式化描述。 (1) 基本概念实体 现实世界客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。,7.2 数据库系统概述,属性实体所具有的某一特性称为属性。一个实体通常由若干个属性描述。码惟一标识一个实体的属性或属性组称为码。域属性的取值范围称为域。实体型对具有相同属性的若干实体,用实体名及其属性名的集合来抽象和描述同类实体,称为实体型
5、。实体集同型实体的集合称为实体集。,7.2 数据库系统概述,联系 不同实体集之间的联系,实体间联系通常有一对一、一对多、多对多三种。 一对一联系:记为“1:1”。 一对多联系:记为“1:M”。 多对多联系:记为“M:N”。,7.2 数据库系统概述,(1) 概念模型的表示 用矩形表示实体型;用椭圆表示属性;用菱形表示联系,并标示出联系的类型,7.2 数据库系统概述,数据模型 :也称信息模型,是按照用户的观点对数据和信息建模,与计算机系统无关,是概念级的模型,通常用于数据库的设计,它是数据库设计人员和用户之间进行交互的一种形式化描述。 (1) 层次模型 有且只有一个节点没有双亲,该节点为根节点;根
6、以外的其他节点有且只有一个双亲节点。(2) 网状模型 在层次模型的基础上,允许节点无父节点,或者有多个父节点 。(3) 网状模型 以关系代数为基础,实体间通过公共属性实现联系,与数据的物理结构无关。,7.2 数据库系统概述,数据模型的三要素 (1) 数据结构 数据结构是指所研究的数据库组成成分的类型的集合。用于描述系统的静态特征。(2) 数据操作 指对数据库中数据允许执行的操作的集合,用于描述系统的动态特征。数据模型中必须定义操作(如检索、更新)的确切含义、操作符号、操作规则以及实现操作的规则。 (3) 数据的约束条件 是数据完整性规则的集合,指对给定的数据模型中数据及其联系所具有的制约和依存
7、规则。,7.2 数据库系统概述,数据库的系统结构 (1) 模式 模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是面向全体用户的基本数据视图。 (2) 外模式 外模式也称子模式或用户模式,是数据库用户可见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。(3) 内模式 内模式是数据物理结构和存储结构的描述,是数据在数据库内部的表示 。,7.2 数据库系统概述,数据库的三级模式结构,7.2 数据库系统概述,数据独立性 (1) 外模式/模式映像 当模式被改变时,可以由DBA改变各个外模式/模式映像,以保证外模式不发生变化,从而使根据外模式编写的应用程序也无需变化,这样就保
8、证了数据与程序的逻辑独立性。 (2) 模式/内模式映像 当数据的物理存储即内模式变化了,也可以由DBA来修改模式/内模式的映像,使得模式能够保持不变,外模式也不会变化,当然,应用程序也无需变动,从而保证了数据库中数据与程序的物理独立性。,7.3 关系数据库,1.基本概念 关系 :可以看作是一个行与列交叉的二维表,每一个交叉点都必须是单值的,每一列的所有数据都是同一类型的,每一列都有惟一的列名,行和列在表中的顺序都无关紧要;表中任意两行不能相同。属性:关系中的每一列称为属性。 属性:关系中的行称为元组。候选码:关系中能够惟一地标识一个元组的某个属性或属性组 。 主码:一个关系中选定的一个候选码作
9、为关系的主码。主属性:主码的各个属性称为主属性。 外码:在关系数据库中,为了实现表与表之间的联系,将一个表的主码作为公共属性放到另一个关系中,在另一个关系中起连接作用的属性称为外码。,7.3 关系数据库,2.关系模型与关系模式 关系模型 (1) 关系数据结构 关系模型中,关系数据结构就是表 。 (2) 关系操作 选择、投影、连接、除、并、交、差、查询、插入、删除、修改等 。(3) 关系的数据约束 三种完整性约束条件:实体完整性、参照完整性、用户自定义的完整性。,7.3 关系数据库,关系模式 关系的描述称为关系模式,一个完整的关系模式通常需要描述出一个关系的属性的集合、属性所取值的域的集合、属性
10、向域的映像的集合、属性间数据依赖关系的集合。通常,使用关系模式的简单描述: R(A1,A2,An) 其中,R为关系名,A1,A2,An为属性名。域名和属性向域的映像直接说明为属性的类型和长度。,7.3 关系数据库,关系运算,学生表,课程表,成绩表,7.3 关系数据库,选择运算 从给出的关系中选出满足给定条件的那些元组,是对关系的行进行的运算。 例7.2 查询电信系所有学生的情况。,7.3 关系数据库,投影运算 从给出的关系中选出关系的一个或多个属性列,是对关系的列进行的运算。 例查询学生的姓名和所在的系 。,7.3 关系数据库,连接运算 将两个关系模式通过共有的属性名拼接成一个更多属性列的关系
11、。 例学生关系与成绩关系的自然连接 。,7.4 数据库查询语言SQL,1. SQL的特点 功能统一非过程性语言 面向集合的操作方式 灵活的使用方式 SQL简单、易学,7.4 数据库查询语言SQL,2. SQL的功能 数据定义 数据操纵 数据查询 数据控制,7.4 数据库查询语言SQL,3. SQL基本概念 基本表 :独立存在的表,一个关系即对应一个基本表。 视图 :视图是由一个或几个基本表导出的表。 存储过程 :存储过程是用SQL语言编写成的SQL语句序列,它存储于SQL服务器上供用户调用执行。 触发器 :触发器是一种特殊的存储过程,用来维护不同表中的相关数据的一致性。 通过事件触发。,7.4
12、 数据库查询语言SQL,4. SQL简单实例 例 一个学生课程数据库,包括三个表: 学生表:S(Sno,Sname,Ssex,Sage,Sdept) 课程表:C(Cno,Cname,Ccredit) 学生选课表:SC( Sno,Cno,Grade),7.4 数据库查询语言SQL,(1) 插入:由VALUES子句定义。例如,在学生表S中插入一个学生信息。设这个学生的信息如下:学号:01021003,姓名:王力,性别:男,年龄:20,所在系:计算机系(CS)。写出SQL语句如下:INSERT INTO SVALUES (01021003,王力,男, 20,CS);,7.4 数据库查询语言SQL,(
13、2) 删除:由WHERE子句定义删除元组需要满足的条件。例如,将学号为01021001的学生信息从学生表S中删除。写出SQL语句如下:DELETEFROM SWHERE Sno=01021001;,7.4 数据库查询语言SQL,(3) 更新:需要更新的属性放在SET子句中,WHERE子句定义要更新的元组需要满足的条件。例如,将编号为C005的课程的学分改为3。写出SQL语句如下:UPDATE CSET Ccredit=3WHERE Cno= C005;,7.4 数据库查询语言SQL,(4) 选择例如,查询学号为01021001的学生的基本信息。写出SQL语句如下:SELECT * FROM S
14、WHERE Sno= 01021001;说明:“*”在此表示选择所有的属性。,7.4 数据库查询语言SQL,(5) 投影:显式列出新关系的列名。例如,查询学号为01021001的学生的姓名、所在系。写出SQL语句如下:SELECT Sname,Sdept FROM SWHERE Sno= 01021001 ;,7.4 数据库查询语言SQL,(6) 连接:由WHERE字句明确定义用于关系连接的公共属性,连接后关系的属性为原来两个关系属性的组合。例如,查询学号为01021001的学生所选修的课程名。写出SQL语句如下:SELECT Cname FROM SC, CWHERE SC.Cno=C.Cn
15、o AND Sno= 01021001 ;,7.4 数据库查询语言SQL,(7) 并例如,查询计算机系并且年龄小于20岁的学生信息。写出SQL语句如下:SELECT * FROM SWHERE Sdept= CS UNIONSELECT * FROM SWHERE Sage20 ;,7.5 关系数据库设计,1.关系数据库设计原则 按照DBMS提供的功能和描述工具,设计出规模适当、能够正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。2.关系数据库设计步骤 需求分析 (2) 概念结构设计 (3) 逻辑结构设计 (4) 数据库物理设计 (5)数据库实施 (6)运行与维护,7.
16、6 数据库管理,DBA的职责与管理工具 职责 :向终端用户提供数据和信息;制定数据库管理的政策、标准和规程;确保数据库的安全性;对数据库进行备份和恢复;培训终端用户。 管理工具 :DBA进行数据库管理的重要工具是数据字典 。数据字典通常是DBMS的一部分,它用来存储数据的特性和关系的定义。,7.6 数据库管理,2.数据库的安全性控制 访问权限控制 定义视图监控DBMS操作,7.6 数据库管理,3.事务处理技术 事务的概念 :事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全都不做,是一个不可分割的工作单位。 事务的特性 :原子性(Atomicity)、一致性(Consistency)
17、、隔离性(Isolation)、持续性(Durability),或简称ACID特性。,7.6 数据库管理,并发控制技术:加锁(1) 共享锁:也称读锁,如果事务T对数据对象X加了共享锁,则其他事务只能对X加共享锁,而不能加排它锁。(2) 排它锁:也称写锁,如果事务T对数据对象X加了共享锁,则只允许事务T独占X,其他任何事务不能对X再加任何类型的锁,直到T释放X上的锁。数据库的恢复技术 :数据库的恢复指使数据库从一种不一致的状态恢复到原来一致性的状态。数据库恢复的主要依据是备份的数据副本和日志文件。,7.6 数据库管理,数据库完整性控制:指保证数据库中数据的正确性、有效性、相容性,防止错误的数据进入数据库。,7.7 常用关系数据库管理系统,ORACLE SYBASE DB2 MS SQL Server MYSQLACCESS,7.8 数据库新发展,分布式数据库 空间数据库 多媒体数据库 数据仓库 信息存储与检索,
限制150内