资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,计算机科学导论,第,6,章 信 息 管 理,学习目标,了解信息系统概念,了解数据库查询语言,了解关系数据库设计,了解数据库管理,了解常用数据库管理系统,了解数据库新发展。,掌握数据库系统基本概念,掌握关系数据库概念,第,6,章 信息管理,6.,1,信息系统概述,6.1.1,信息,“信息”通常指经过加工的、有一定意义和价值、且具有特定形式的数据。这些数据能够反映出客观世界事物的内在联系及本质,从而,影响信息获取者的行为或决策,。,信息与数据:数据是信息的载体;信息是数据加工的结果。,信息的特点:时间性、真实性、易于理解、多样性、传播性、不确定性。,如,100,和,100,个人,信息模型(,Information Model,)是一种用来定义信息常规表示方式的方法。通过使用信息模型,可以使用不同的应用程序对所管理的数据进行重用、变更及分享。,6.1.2,信息模型,信息系统是一个由人员、活动、数据、网络和技术等要素组成的集合,主要目的是对组织的业务数据进行采集、存储、处理和交换,以支持和改善组织的日常业务运作,满足管理人员解决问题和制定决策以及对信息的各种需求。,现代信息系统通常指计算机信息系统。,数据处理系统,管理信息系统,决策支持系统,专家系统,办公自动化,6.1.3,信息系统,6.,2,数据库系统概述,6.2.1,数据库的基本概念,数据,(Data),是用来描述事物的符号记录,是数据库中存储的基本对象。数据的种类很多,包括文字、数字、声音、图形及图像等。,数据库,(DataBase,,,DB),是指以一定的组织方式存储的相互关联的数据的集合。这些数据能够长期存储、统一管理和控制,且能够被不同用户所共享,具有,数据独立性,及,最小冗余度,。,数据库管理系统,(DataBase Management System,,,DBMS),是对数据库进行管理的软件系统,,是数据库系统的核心,。它位于计算机系统中操作系统与用户或应用程序之间,主要功能包括:数据定义、数据操纵、数据组织、存储和管理、数据库的建立和维护、数据通信接口。,数据库管理员,(DataBase Administrator,DBA),:专门对数据库进行规划、设计、管理、协调和维护的工作人员。,6.2.1,数据库的基本概念,数据库系统,(DataBase System,:,DBS),是,DB,、,DBMS,、,DBA,、用户和计算机系统,CS(Computer System),的总和。,6.2.1,数据库的基本概念,人工管理阶段:数据不长期保存,应用程序管理数据,数据不能共享,数据不具有独立性。,文件系统阶段:数据可以长期保存,文件系统管理数据,数据共享性差,冗余度大,数据独立性差。,数据库系统阶段:,数据结构化,,数据共享性高、冗余度低、易扩充,数据独立性高,有专门的数据库管理系统。,6.2.2,数据管理技术的发展,模型:,用来抽象、表示和处理现实世界中的数据和信息的工具。它描述了反映客观事物及其联系的数据的组织结构和形式。,根据应用不同,模型分为概念模型和数据模型。,6.2.3,数据模型,现实世界,机器世界,信息世界,抽象,转换,客观事物及其联系,数据模型,概念模型,抽象,转换,设计数据库,实现数据库,1.,概念模型:,也称信息模型,,是按照用户的观点对数据和信息建模,,与计算机系统无关,是概念级的模型,,通常用于数据库的设计,,它是,数据库设计人员和用户之间进行交互,的一种形式化描述。,(1),基本概念,实体,现实世界客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。,6.2.3,数据模型,属性,实体所具有的某一特性称为属性。一个实体通常由若干个属性描述。,码,唯一标识一个实体的属性或属性组称为码。,域,属性的取值范围称为域。,实体型,对具有相同属性的若干实体,用实体名及其属性名的集合来抽象和描述同类实体,称为实体型。,6.2.3,数据模型,实体集,同型实体的集合称为实体集。,联系,不同实体集之间的联系,实体间联系通常有一对一、一对多、多对多三种。,一对一联系:记为“,1,:,1”,一对多联系:记为“,1,:,M”,多对多联系:记为“,M,:,N”,6.2.3,数据模型,(,2,),概念模型的表示,用矩形表示实体型;用椭圆表示属性;用菱形表示联系,并标示出联系的类型,课 程,学 生,选 修,学号,姓名,年龄,性别,系别,课程号,学分,课程名,成绩,m,n,6.2.3,数据模型,E-R,模型举例,2.,数据模型:,按照计算机系统的观点来对数据建模。主要用于数据库的实现。,(1),层次模型。,有且只有一个节点没有双亲,该节点为根节点;根以外的其他节点有且只有一个双亲节点。描述数据间的,从属层次关系,。,人才管理中心,北京市,黑龙江省,上海市,广东省,.,高等院校,科研机构,国有企业界,.,根节点,父节点,子节点,(2),网状模型,在层次模型的基础上,允许节点无父节点,或者有多个父节点。描述数据间,较为复杂的、多种从属的网状关系,。,学生宿舍,教师,教研室,学生,系,(3),关系模型,以关系代数为基础,实体间通过公共属性实现联系,与数据的物理结构无关。描述,具有相关性而非从属性的平行数据间按照某种序列排列的集合关系,。,部门,专业,姓名,性别,年龄,高等院校,信息管理,甲,女,40,科研所,软件工程,乙,男,51,销售公司,计算机,丙,男,35,经贸公司,国际贸易,丁,女,45,某地区专门人才基本情况,3.,数据模型的三要素,(1),数据结构,数据结构是指所研究的数据库组成成分的类型的集合,,用于描述系统的静态特征。,(2),数据操作,指对数据库中数据允许执行的操作的集合,,用于描述系统的动态特征。,数据模型中必须定义操作,(,如查询、更新,),的确切含义、操作符号、操作规则以及实现操作的规则。,(3),数据的约束条件,是数据完整性规则的集合,指对给定的数据模型中,数据及其联系,所具有,的制约和依存规则,。,6.,3,关系数据库,6.3.1,关系数据库的基本概念,1,关系,关系可以看作是一个,行与列交叉的二维表,,每一个交叉点都必须是单值的,每一列的所有数据都是同一类型的,每一列都有唯一的列名,行和列在表中的顺序无关紧要,表中任意两行不能相同。,2,属性,关系中的每一列称为属性,,属性的总数称为关系的度,。,3,元组,关系中的行称为元组,元组包含了一组属性,,元组的总数称为关系的基数,。,4,候选码,候选码是关系中能够唯一标识一个元组的,某个属性或属性组,,一个关系可以有,多个,候选码。,5,主码,一个关系中选定,一个,候选码作为该关系的主码。,6,主属性,主码的各个属性称为主属性。,7,外码,在关系数据库中,为了实现表与表之间的联系,将一个表的主码作为公共属性放到另一个关系中,,在另一个关系中起连接作用的属性称为外码,。,6.3.1,关系数据库的基本概念,自然情况,专业,成果和成就,编号,姓名,性别,出生日期,工资现状,党员否,专业,专业年限,职称,英语水平,名称,类别,出处,bj10001,刘伟箭,男,1960.08.23,2000,T,计算机应用,20,教授,精通,略,略,略,略,略,略,略,略,略,略,略,略,略,略,略,jl04010,黄晓远,男,1970.08.12,10000,F,财政税收,0,副教授,精通,略,略,略,略,略,略,略,略,略,略,略,略,略,略,略,信息中心专门人才基本情况一览表(未结构化),一对一联系:两个数据表中选一个相同字段作为码,其中一个表中的关系字段称为,主码,,,具有唯一值,,另一个表中的关系字段为,外码,也具有唯一值,。,编号,姓名,性别,bj10001,刘伟箭,男,bj10002,刘简捷,男,gz05001,藤波海,男,gz05002,杨行东,男,jl04001,林惠繁,女,编号,专业,专业年限,bj10001,计算机应用,20,bj10002,环境工程,24,gz05001,生物工程,30,gz05002,统计学,15,jl04001,财政税收,10,一对一,人才基本情况关系,人才专业情况关系,一对多联系:两个数据表中选一个相同字段作为码,其中一个表中的关系字段称为,主码,具有唯一值,,另一个表中的关系字段为,外码,,其值是,允许重复,的。,编号,姓名,性别,bj10001,刘伟箭,男,bj10002,刘简捷,男,gz05001,藤波海,男,gz05002,杨行东,男,jl04001,林惠繁,女,编号,成果名称,专业年限,bj10001,VF,高级编程技术,20,bj10001,专门人才信息管理系统,24,bj10001,VF,编程技巧与常见问题解答,30,bj10001,面向对象编程与系统开发,15,bj10001,面向对象编程与系统程序优化,10,一对多,人才基本情况关系,人才成果成就关系,学 号 姓 名 性 别 年 龄 所在系,01001,王立 男,19,电信系,02013,李强 男,20,计算机,03050,陈然 女,19,管理系,02010,唐杰 男,20,电信系,课程号 课程名 学分,001,数据库,3,002,英语,4,101 C,语言,3,102,物理,4,学号 课程号 成绩,01001 001 90,01001 002 85,03050 002 90,03050 102 95,学生关系,课程关系,成绩关系,多对多联系:在关系模型中,多对多联系本身也使用一个“关系”表来描述。选取两个数据表中的主码,作为第三个表中的两个,外码,,在第三个表中,外码的值是,允许重复,的。,多对多,主码:,学号课程号,1.,关系模型三要素,(1),关系数据结构,关系模型中,关系数据结构就是表。,(2),关系操作,选择、投影、连接、除、并、交、差、查询、插入、删除、修改等。,(3),关系的数据约束,三种完整性约束条件:实体完整性、参照完整性、用户自定义的完整性。,6.3.2,关系模型与关系模式,2.,关系模式,关系的描述称为关系模式,一个完整的关系模式通常需要描述出一个关系的属性的集合、属性所取值的域的集合、属性向域的映像的集合、属性间数据依赖关系的集合。通常,使用关系模式的简单描述:,R(A1,A2,An),其中,,R,为关系名,,A1,,,A2,,,,,An,为属性名。域名和属性向域的映像直接说明为属性的类型和长度。,6.3.2,关系模型与关系模式,如:学生关系,(,学号,姓名,性别,年龄,所在系,),属性名,属性类型,属性长度,学号,字符型,5,姓名,字符型,8,年龄,整型,2,所在系,字符型,20,关系模式是静态的、稳定的,而关系是动态变化的,,它是关系模式在某个时刻下的状态。,3.,关系运算,(1),传统的关系运算,(,c),关系的并运算,(d),关系的交运算,(e),关系的差运算,(a),关系,R,(b),关系,S,A,B,C,a1,b1,c1,a2,b2,c2,a2,b2,c1,a1,b2,c2,a1,b3,c2,(,c),A,B,C,a2,a2,c1,(d,),A,B,C,a1,b1,c1,a2,b2,c2,(e,),(2),专门的关系运算,学 号 姓 名 性 别 年 龄 所在系,01001,王立 男,19,电信系,02013,李强 男,20,计算机,03050,陈然 女,19,管理系,02010,唐杰 男,20,电信系,课程号 课程名 学分,001,数据库,3,002,英语,4,101 C,语言,3,102,物理,4,学号 课程号 成绩,01001 001 90,01001 002 85,03050 002 90,03050 102 95,学生表,课程表,成绩表,选择运算,从给出的关系中选出满足给定条件的那些元组,是对关系的行进行的运算。,例,查询电信系所有学生的情况。,学 号 姓 名 性 别 年 龄 所在系,01001,王立 男,19,电信系,02010,唐杰 男,20,电信系,投影运算,从给出的关系中选出关系的一个或多个属性列,是对关系的列进行的运算。,例,查询学生的姓名和所在的系。,姓 名 所在系,王立 电信系,李强 计算机系,陈然 管理系,唐杰 电信系,连接运算,将两个关系模式通过共有的属性名拼接成一个更多属性列的关系。,例,学生关系与成绩关系的自然连接。,学 号 姓 名 性 别 年 龄 所在系 课程号 成绩,01001,王立 男,19,电信系,001 90,01001,王立 男,19,电信系,002 85,03050,陈然 女,19,管理系,002 90,03050,陈然 女,19,管理系,102 95,6.,4,数据库查询语言,SQL,6.4.1 SQL,的特点,功能统一,非过程性语言,面向集合的操作方式,SQL,提供两种灵活的使用方式,SQL,简单、易学,6.4.2 SQL,的功能,1,数据定义,供用户简便地建立数据库和表的结构,包括定义、删除、修改表,建立和删除索引等。,2,数据操纵,供用户实现表中数据的插入、删除和修改等操作。,3,数据查询,供用户实现对表中数据内容的各种查询。,4,数据控制,提供数据库系统并发控制、数据库恢复、数据库安全性和完整性等功能。,6.4.3 SQL,基本概念,基本表:一个关系即对应一个基本表。,视图:视图是由一个或几个基本表导出的表。,存储过程:存储过程是用,SQL,语言编写成的,SQL,语句序列,它存储于,SQL,服务器上供用户调用执行。,触发器:触发器是一种特殊的存储过程,用来维护不同表中的相关数据的一致性。通过事件触发。,6.4.4 SQL,的简单实例,例,一个学生,课程数据库,包括三个表:,学生表:,S,(,Sno,Sname,Ssex,Sage,Sdept),课程表:,C,(,Cno,Cname,Ccredit),学生选课表:,SC,(,Sno,Cno,Grade),首先,创建数据库如下:,Creat DataBase S-C,注:,本操作使用,VFP,命令实现;以下各操作则为,SQL,语句。,1,、使用,Creat,语句创建表。,C,reat Table,S,(,Sno Char(8),Primary,Key,Sname Char(4),Ssex Char(2),Sage Integer(4),Sdept Char(2),),C,reat Table,C,(,Cno Char(4),Primary,Key,Cname Char(20),Ccredit Integer(4),),Creat Table,SC,(,Sno Char(8),Cno Char(4),Grade Numberic(5,1),Primary,Key,Sno+Cno Tag SC,Foreign,Key,Sno Tag Sno Reference S Tag Sno,Foreign,Key,Cno Tag Cno Reference C Tag Cno,),2.,使用,INSERT,语句进行插入。,例如,在学生表,S,中插入一个学生信息。设该生信息如下:,学号:,01021003,,姓名:王力,性别:男,年龄:,20,,所在系:计算机系,(CS),。,写出,SQL,语句如下:,INSERT INTO S,VALUES(,01021003,王力,男,20,CS,),又如,在课程表中插入一门课程的信息,语句如下:,INSERT INTO C VALUES(C005,编译原理,4),再如,在成绩表中插入一条学生成绩信息,语句如下:,INSERT INTO SC VALUES(,0102100,1,C005,85.5),6.4.4 SQL,的简单实例,3.,使用,SELECT,语句进行查询。,例如,查询学号为,01021001,的学生的基本信息。,写出,SQL,语句如下:,SELECT *,FROM,S,WHERE Sno=,01021001,说明:“*”在此表示选择所有的属性。,6.4.4 SQL,的简单实例,4.,使用,DELETE,语句进行删除:由,WHERE,子句定义被删除元组需要满足的条件。,例如,将学号为,01021001,的学生信息从学生表,S,中删除。,写出,SQL,语句如下:,DELETE,FROM S,WHERE Sno=,01021001,6.4.4 SQL,的简单实例,5.,使用,UPDATE,语句进行更新:需要更新的属性放在,SET,子句中,,WHERE,子句定义要更新的元组需要满足的条件。,例如,将编号为,C005,的课程的学分改为,3,。,写出,SQL,语句如下:,UPDATE C,SET Ccredit=3,WHERE Cno=,C005,6.4.4 SQL,的简单实例,6.,投影,例如,查询学号为,01021001,的学生的姓名、所在系。,写出,SQL,语句如下:,SELECT Sname,Sdept,FROM,S,WHERE Sno=,01021001,6.4.4 SQL,的简单实例,7.,连接:由,WHERE,字句明确定义用于关系连接的公共属性,连接后关系的属性为原来两个关系属性的组合。,例如,查询学号为,01021001,的学生所选修的课程名。,写出,SQL,语句如下:,SELECT Cname FROM SC,C,WHERE SC.Cno=C.Cno AND Sno=,01021001,6.4.4 SQL,的简单实例,8.,并,例如,查询计算机系或者年龄小于,20,岁的学生信息。,写出,SQL,语句如下:,SELECT *FROM S,WHERE Sdept=,CS,UNION,SELECT *FROM,S,WHERE Sage20,6.4.4 SQL,的简单实例,6.,5,关系数据库设计,6.5.1,关系数据库的设计原则,按照,DBMS,提供的功能和描述工具,设计出规模适当、能够正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。,6.5.2,关系数据库的设计步骤,需求分析,概念结构设计,逻辑结构设计,数据库物理设计,数据库实施,运行与维护,6.,6,数据库管理,6.6.1,DBA,和数据字典,DBA,的职责:向终端用户提供数据和信息;制定数据库管理的政策、标准和规程;确保数据库的安全性;对数据库进行备份和恢复;培训终端用户。,数据字典:,DBA,进行数据库管理的重要工具是数据字典。它通常是,DBMS,的一部分,用来存储数据的特性和关系的定义。,6.6.2,数据库的安全性控制,访问权限控制,定义视图,监控,DBMS,操作,6.6.3,事务处理技术,事务的概念 :事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全都不做,是一个不可分割的工作单位。,事务的特性:原子性,(Atomicity),、一致性,(Consistency),、隔离性,(Isolation),、持续性,(Durability),,或简称,ACID,特性。,6.6.3,事务处理技术,并发控制技术:封锁,(1),共享锁:也称读锁,如果事务,T,对数据对象,X,加了共享锁,则其他事务只能对,X,加共享锁,而不能加排它锁。,(2),排它锁:也称写锁,如果事务,T,对数据对象,X,加了排它锁,则只允许事务,T,独占,X,,其他任何事务不能对,X,再加任何类型的锁,直到,T,释放,X,上的锁。,数据库的恢复技术,数据库的恢复指使数据库从一种不一致的状态恢复到原来一致性的状态。数据库恢复的主要依据是备份的数据副本和日志文件。,6.6.4,数据库的完整性控制,指保证数据库中数据的正确性、有效性、相容性,防止错误的数据进入数据库,6.,7,常用数据库管理系统,ORACLE,SYSBASE,DB2,MS SQL SERVER,MYSQL,ACCESS,6.,8,数据库新发展,分布式数据库,空间数据库,多媒体数据库,数据仓库,信息存储与检索,超文本和超媒体,多媒体信息与多媒体系统,数字图书馆,6.9,本章小结,本章从信息系统出发,介绍了信息系统的核心基础,数据库技术。,数据、数据库、数据库管理系统、数据库管理员是数据库系统的基本概念,是理解数据库系统的基础;数据库的管理经历了人工管理、文件系统、数据库系统,3,个阶段。概念模型可以对客观世界进行抽象,并建立数据模型;概念模型是从用户的观点对数据和信息建模的,还需要借助于数据模型,计算机系统才能够处理。常用的数据模型有层次模型、网状模型和关系模型;数据库系统通过其提供的,3,级模式体系结构,来实现数据的独立性。,关系数据库系统是目前应用最为广泛的数据库系统,借助关系模型和关系模式可以实现关系数据库应用系统。,结构化查询语言,SQL,是一种描述性的语言,它集数据查询、数据操纵、数据定义、数据控制于一体,面向集合操作,简单、灵活且非过程化。,SQL,由于其通用性强、功能强大,已经成为目前数据库系统的语言标准。,关系数据库的设计应该遵循一定的原则和步骤,数据库系统的管理在整个数据库系统中起着非常重要的作用;通过数据库管理,来实施数据库的安全性、完整性、并发等控制以及进行数据库的备份及恢复。,数据库管理系统经过多年的发展,已经形成了以,Oracle,、,Sybase,、,DB2,等大型关系数据库管理系统为主的市场格局。随着信息技术的进一步发展,分布式数据库、空间数据库、多媒体数据库、数据仓库、信息存储与检索等已成为数据库应用及发展的新领域,
展开阅读全文