《信息系统的数据库技术基础.ppt》由会员分享,可在线阅读,更多相关《信息系统的数据库技术基础.ppt(94页珍藏版)》请在三一办公上搜索。
1、第4讲信息系统的数据库技术基础(1),2,内容,理解数据、数据库、数据模型、数据库系统的组成等基本概念,3,引言,Charles W.Bachman1973年图灵奖获得者,Edgar F.Codd1981年图灵奖获得者,James Gray1998年图灵奖获得者,4,1.1 数据管理技术的发展1.2 数据描述1.3 数据模型1.4 数据库系统1.5 数据库技术的发展,1.1 数据管理技术的发展,目录,5,1.1 数据管理技术的发展,1.1.1 信息、数据和数据处理1.1.2 数据管理技术的发展,6,国家,人口很多军队强大人均产值很高国土辽阔,物 质,信 息,数 据,人口5亿军队500万人均产值
2、2000美元国土面积960万平方公里,1.1.1 信息、数据和数据处理,7,信 息:信息是经过加工后的数据;信息是有一定含义的数据;信息是对决策者有价值的数据。,数 据:数据是一组表示客观世界某种实体(人、物、事件或活动)的数量、行动和状态的非随机的、可鉴别的物理符号。,1.1.1 信息、数据和数据处理,二者如何区分?举例说明,8,当把基本信息表示成数据后,人们就可以从已知数据出发,参照相关数据,进行加工计算,产生一些新的数据(新的信息)。这一过程就叫做数据处理。,数据处理的焦点在于如何管理好数据。,1.1.1 信息、数据和数据处理,数据处理是指对各种形式的数据进行收集、存储、加工和传播的一系
3、列活动的总合,9,第一阶段 人工管理阶段(20世纪50年代中期以前),应用程序 1,数据组 1,1.1.2 数据管理技术的发展,程序和数据紧密结合,10,第二阶段 文件系统阶段(20世纪50年代后期60年代中期),1.1.2 数据管理技术的发展,11,12,第三阶段 数据库系统阶段(20世纪60年代末),1.1.2 数据管理技术的发展,13,数据结构化数据库是存储在磁盘等外部直接存取设备上的数据集合,是按一定的数据结构组织起来的。与文件系统相比,数据库中的文件是相互联系的。数据共享减少了数据冗余有较高的数据独立性提供了用户接口,1.1.2 数据管理技术的发展,14,1.1 数据管理技术的发展1
4、.2 数据描述1.3 数据模型1.4 数据库系统1.5 数据库技术的发展,1.2 数据描述,目录,15,1.2 数据描述,1.2.1 三个世界1.2.2 概念模型及其表示方法1.2.3 数据描述,16,现实世界,信息世界,机器世界,存在于人们头脑之外的客观世界,现实世界在人脑中形成的概念(概念模型),人脑概念的数据化,即信息以数据形式存储,1.2.1 三个世界,17,信息世界的相关术语,实体(entity):客观存在且可以相互区别的人、物、事件。属性(attribute):实体所具有的特性。实体和属性的型(type)与值(value):型是概念的内涵,值是概念的实例。实体集(entity se
5、t):性质相同的同类实体的集合。实体标识符(identifier):能唯一标识每个实体的属性或属性集。联系(Relationship):实体内部或实体之间的联系,1.2.1 三个世界,18,机器世界的相关术语,字段(field):标记实体属性的符号集,又称为数据项、数据元素、初等项等。字段是可以命名的最小信息单位。记录(record):字段的有序集合。文件(file):同类记录的集合。关键码(key):能唯一标识文件中每个记录的字段或字段集,简称为键。,1.2.1 三个世界,19,数据描述的两种形式,物理描述:数据在存储设备上的存储方式。逻辑描述:程序员或用户用以操作的数据形式,是抽象的概念化
6、数据。,1.2.1 三个世界,20,1.2.2 概念模型及其表示方法,实体之间的联系,1:1:实体A中每个实体,实体B中至多有一个与之联系,反之亦然1:m:实体A中每个实体,实体B中有m个与之联系,反之,B中每个实体,A中至多一个与它联系。m:n:实体A中每个实体,实体B中有多个与之联系,反之亦然。,建立模型的关键是提出实体与实体属性,还有找出实体间的联系,21,1.2.2 概念模型及其表示方法,实体联系模型,实体关系图 E-R Diagram,22,多对多联系图示,一对多联系图示,一对一联系图示,1.2.2 概念模型及其表示方法,同学们举例。,23,1.2.2 概念模型及其表示方法,病区,病
7、人,医生,科室主任,负责,所属,治疗,1,1,1,n,n,m,24,1.2.2 概念模型及其表示方法,实体集内部的联系,同一实体集内的各实体也具有三种联系1:11:mm:n,25,1.2.2 概念模型及其表示方法,三个实体集之间的联系,三个实体集间的联系有时候可以简化,商品,顾客,收银员,26,ER设计例,某企业集团有若干工厂,每个工厂生产多种产品,且每种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。根据上述
8、语义画出E-R图,在ER图中需注明实体的属性、联系的类型及实体的标识符。,27,28,课堂练习:根据下面给出的教学管理环境,请画出概念模型(E-R图)?(1)已知教学管理系统存在实体对象:学生、教师与课程。(2)各个实体包含以下属性。学生:学号、姓名、性别、班级、出生日期、籍贯、政治面貌、宿舍号、所属专业、特长等。教师:教工号、姓名、性别、职称、工作时间、学历、政治面貌、联系电话、所属专业、照片等。课程:课程编号、课程名称、学分、课时数(3)实体间存在以下联系:一个学生可以选修多门课程,一门课程可以有多名学生选修,学生选修的课程要给出成绩。一位教师可以教授多门课程,一门课程可有多个老师担任。课
9、后作业:收集一张中百仓储销售小票,分析销售活动中涉及的实体及其属性,实体间的联系。,思考与练习,29,物理存储中的数据描述,位(bit):一个二进制位。字节(byte):8个比特。字(word):计算机内部一次可以处理的二进制位数。块(block):内存和外存交换信息的最小单位。卷(volume):一台I/O设备所能装载的全部有用信息。,1.2.3 数据描述,30,1.1 数据管理技术的发展1.2 数据描述1.3 数据模型1.4 数据库系统1.5 数据库技术的发展,1.3 数据模型,目录,31,1.3 数据模型,1.3.1 数据模型的概念1.3.2 结构数据模型按计算机观点对数据建模的方法,3
10、2,1.数据模型是客观事物及其联系的数据描述。,(1)数据的描述,(2)数据联系的描述,包含哪些记录类型,并对这些记录类型进行命名;同时指明各记录项又由哪些数据项构成,每个数据项的数据类型和取值范围等。这些内容是数据完整性约束所必须的。,指明各个不同记录类型间所存在的联系和联系方式。联系本身是一种特殊类型的记录。,1.3.1 数据模型的概念,按计算机观点对数据建模的方法,33,2.数据模型的数学描述,DM(Data Model):数据模型R(Record):记录类型的集合L(reLationship):不同记录类型联系的集合,DM=R,L,1.3.1 数据模型的概念,34,1.层次模型(hie
11、rarchical model)(略),用树形结构来表示实体及其联系的模型就称为层次模型。层次模型的特点,系别教师-教学,有且仅有一个结点无父结点(即根结点)。根以外的其他结点都有且只能有一个父结点。在层次数据库中查找记录,必须指定存取路径。,存取路径:从根结点开始沿途所经过的路径。,1.3.2 结构数据模型,35,层次模型的优点(略),数据模型比较简单,操作方便。对于实体间联系是固定的且预先定义好的应用系统,性能较高。提供良好的完整性支持。,层次模型的缺点(略),不适合于表示非层次性的联系。对插入和删除操作的限制比较多。由于层次顺序的严格和复杂,程序编写比较复杂。,1.3.2 结构数据模型,
12、36,2.网状模型(network model),用有向图结构表示实体及其联系的数据模型就称为网状模型。网状模型的特点,有一个以上结点无父结点。至少有一个结点有多于一个父结点。,A,B,C,A,B,C,A,B,C,D,1.3.2 结构数据模型,37,网次模型的优点(略),能够更为直接地描述现实世界。具有良好的性能,存取效率较高。,网次模型的缺点(略),DDL语言极其复杂。编写应用程序比较复杂,程序员必须熟悉数据库的逻辑结构。,1.3.2 结构数据模型,38,(1)关系模型就是用若干个二维表来表示实体及其联系的。,R(A1,A2,A3,Ai,),关系模式R,实体的描述。实体间联系的描述。,3.关
13、系模型(relational model),?,1.3.2 结构数据模型,39,考查“教师”、“学生”和“课程”三个实体。,a.描述实体的三个关系模式:,教师(工号#,姓名,职称)学生(学号#,姓名,性别,年龄)课程(课程号#,课程名,学时数,开课时间),(2)如果不同实体间确实存在着某种自然联系的话,那么一定可以在相应的关系中通过属性的安排使之发生联系。,1.3.2 结构数据模型,40,b.用关系表示实体集间的联系。,1.3.2 结构数据模型,授课(工号,课程号)学习(学号,课程号,成绩),41,1.1 数据管理技术的发展1.2 数据描述1.3 数据模型1.4 数据库系统1.5 数据库技术的
14、发展,1.4 数据库系统,目录,42,1.4 数据库系统,数据库管理系统的功能,43,数据库定义功能提供数据描述语言DDL(Data Description Language)来定义内模式、模式和外模式。一般存放在数据字典中。2、数据库操纵功能提供数据操纵语言DML(Data Manipulation Language)实现对数据库的操作:检索和更新(插入、删除和修改)。3、数据字典(Data Dictionary,DD)DD管理着数据库三级结构的定义。,DBMS的功能,44,4、数据库的运行管理功能数据安全性控制 身份鉴别、口令、存取权限及数据加密等。数据完整性控制 即数据的正确性和有效性,
15、由数据字典保存各数据项的类型、值域和关键字等,对数据的语义和数值范围加以约束。故障恢复并发控制 网络环境和多用户环境。数据库维护功能数据库数据初始装入、数据库转储、数据库重组及系统工作日志等。,DBMS的主要功能,45,DBMS的主要功能,46,1.1 数据管理技术的发展1.2 数据描述1.3 数据模型1.4 数据库系统1.5 数据库技术的发展,1.5 数据库技术的发展,目录,47,数据库系统,分布式数据库,演绎数据库,面向对象数据库,并行数据库,多媒体数据库,数据仓库,其他数据库,1.5 数据库技术的发展,48,思考题,DBMS的功能有哪些?主要由哪几部分组成。试举三个实例,要求实体之间分别
16、具有1:1,1:n,n:m的联系。,第4讲信息系统的数据库技术基础(2),50,内容,1、关系模型与关系数据库2、数据库设计的过程,51,1、关系模型与关系数据库,1.1 关系概念性质1.2 完整性约束1.3 关系模型的形式定义,52,1.1 关系概念性质,表有什么特点?对该表可以进行什么操作?,01班学生名单,表名,表头,数据,(描述表),(行为),53,1.1 关系概念性质,表的特点,表有表名,表由两部分构成,一个表头和若干行数据,从垂直方向看表有若干列,每列都有列名,同一列的值取自同一个定义域,每一行的数据代表一个学生的信息,同样每一个学生在表中也具有一行,54,1.1 关系概念性质,二
17、维表的操作,填表。将每个学生的数据填写进表格。,修改。改正表中的错误数据。,删除。去掉一个学生的数据。,查询。在表中按某些条件查找满足条件的学生。,55,1.1 关系概念性质,关系是规范化的二维表。,01班学生名单,表名,表头,数据,学生(学号,姓名,性别,出生日期,籍贯,身高),关系名,关系模式,关系实例,元组:表中的一行称为一个元组属性:表中的一列成为属性,56,关系模式实际上就是关系框架。,如:设关系名表为REL,其属性为A1,A2,An,则关系模式为:REL(A1,A2,An)。,3.关系模式,一个关系的属性名表称为关系模式。,57,关系的性质,1.列是同质的(homogeneous)
18、,即每一列中的分量是同一类型的数据,来自同一个域2.不同的列可出自同一个域,每一列为属性,不同的属性用不同的属性名3.列的顺序是无关紧要的,58,关系的性质,4.任意两个元组(行)不能完全相同,不能有重复的元组5.元组(行)的次序可以任意交换6.分量必须取原子值,不可再分。,59,分量是原子的,关系的性质,60,1.域,(1)域必须命名。,D1=张平,李力,王义,表示某些姓名的集合;D2=男,女,表示性别的集合;D3=18,19,20,表示年龄的集合。,(2)域中数据的个数称为域的基数。,定义:域是值的集合。,补充定义,61,1.2 完整性约束,实体完整性规则(entity integrity
19、 rule)在组成主键的属性上不允许出现空值,主键,错,62,1.2 完整性约束,参照完整性规则(reference integrity rule)不允许引用不存在的元组,学生表,课程表,成绩表,该课号不存在,错误!,外键,63,1.2 完整性约束,参照完整性规则(reference integrity rule),外键:设F是关系R的一个或一组属性,但不是R的主键,另有关系S,S的主键为Ks,若F与Ks对应,则称F是R的外键。,参照完整性规则:F或者取空值或者等于S某个元组的主键值,64,1.2 完整性约束,用户定义的完整性规则(user-defined rule)具体的语义要求如:时间,分
20、数,身份证号,,024,0100,18位数、7-12位为出生年月,65,1.3 关系模型的形式定义,1.数据结构2.数据操作3.完整性规则,二维表格(关系)关系代数和关系演算三类完整性,数据模型三要素,66,2、数据库设计的过程,2.1 ER图表示2.2 ER图转化关系模型2.3 数据库设计,67,2.1 ER图表示(具体见前),实体(entity):是指明客观存在并相互区别的事物。实体集(entity set):具有相同性质的同类实体的集合。属性(attribute):实体具有许多特性,每一个特性称为属性。主键(key):惟一标识实体的属性集称为主键。,68,2.1 ER图表示,ER图用长方
21、框,椭圆框、菱形和连线表示实体、属性和连接,实体,关系,属性,连接,ER图描述概念数据模型,ER图转换为关系模型,69,实体的联系两个不同实体集的实体间的联系,有以下三种情形:一对一联系,记为1:1。一对多联系,记为1:n。多对多联系,记为m:n。E-R图转换成具体的关系,2.2 ER图转化关系模型,70,联系本身无属性,转换时只需在任一方加上另一方的关键字作为属性项。,厂长(厂长员工号,姓名,年龄,),工厂(厂号,厂名,地点),2.2 ER图转化关系模型,1:1 的联系,厂号,71,1:n将“1”方关键字纳入“n”方实体对应的关系中,同时把联系的属性也一并纳入“n”方关系中。,仓库(仓库号,
22、地点,面积),产品(货号,品名,价格,仓库号,数量),2.2 ER图转化关系模型,1:n 的联系,仓库(仓库号,地点,面积)产品(货号,品名,价格)产品存放(货号,仓库号,数量),72,m:n对联系单独建立一个关系(双方关键字,联系属性),2.2 ER图转化关系模型,m:n 的联系,73,将实体集拆分为两个相互联系的子集,然后根据联系方式按以上规则处理。,员工(员工号,姓名,性别,主管经理员工号),2.2 ER图转化关系模型,同一实体集内部 的联系,74,将多元联系转换为一个关系模式,与该联系相连的各实体的关键字及联系本身的属性为该关系模式的属性,关系模式的关键字为各实体关键字的并集。,2.2
23、 ER图转化关系模型,三个或以上实体集多元联系,销售(商品号,顾客会员号,收银员员工号,数量,时间),销售(收银单号,商品号,顾客会员号,收银员员工号,数量,时间),?,75,ER图总结,ER图,是什么WHAT,如何使用HOW,概念数据模型,四(三)种符号,转换关系模型,三种联系,76,2.3 数据库设计,数据库设计 是指相对于一个给定的应用环境,提供一个确定 最优数据模型 与处理模式的逻辑设计,以及一个确定数据库存储结构与存储方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,又能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。,77,2
24、.3 数据库设计,软件的生命周期需求分析概念结构设计逻辑结构设计物理结构设计数据库实施数据库的运行与维护,78,2.3 数据库设计,如何对数据描述?专家的思路?,79,数据抽象,所谓抽象,是对实际的事和概念的人为处理,抽取共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,组成某种模型。对象间的联系主要有两种:聚集和概括。,聚集(aggregation),形成对象之间的一个联系对象。表示”是的一部分”(is-part-of)的关系。概括(generalization),是从一类对象形成一个对象。表示“是一种”(is-a)的关系。,80,一类对象:汽车、卡车、自行车、摩托车、,一个
25、对象:公路车辆,一个人预订某旅馆在某个期限的一个房间。,这4个对象之间的聚集联系可用对象”预订“表达。,81,概括,交通工具,概括层次,邮船,卡车,自行车,飞机,滑翔机,陆上交通工具,内燃机交通工具,空中交通工具,VM卡车,FORD卡车,GM卡车,82,聚集,制造商,维修,聚集层次,运载,商品号,地点,姓名,工厂,车号,价值,内燃机车辆,技工,日期,地点,装载量,83,聚集和概括,聚集层次和概括层次的合并,制造者,卡车,邮船,价值,内燃机车辆,飞机,车号,聚集,概括,84,聚集和概括(连线),聚集,概括,找实体,确定属性,85,扩展知识,科学哲学家卡尔纳普(R.Rudolf Carnap)描述
26、科学命题的产生:直接观察始录陈述简单归纳间接陈述科学假设检验科学命题运用,86,扩展,卡尔纳普,1891-1970,美籍哲学家,逻辑经验主义的主要代表。改变哲学不适应现状的现状。哲学的任务就是通过语言的逻辑分析,从科学中清除掉一切没有意义的论断或伪问题,为有意义的判断提供一个理想的逻辑结构,从而使科学家避免为一些无意义的形而上学命题争论不休。,87,总结,1、关系模型与关系数据库1.1 关系概念性质1.2 完整性约束1.3 关系模型的形式定义2、数据库设计的过程2.1 ER图表示2.2 ER图转化关系模型2.3 数据库设计,88,补充:数据库设计实例,每位员工必须安排到一个部门却只能安排到一个
27、部门一个部门可能拥有多名员工,也可能没有任何员工每位员工必须且至少被分派一项工作,也可能被分配多项工作每项工作可以同时分派给多名员工共同完成,但并非每项给定的工作一定有员工来承担,要求:假设你拥有一间小公司,并且你自己有兴趣根据员工工作的部门、工作的安排和每项工作的时间来追踪员工的信息。企业规则:,89,员工分工报告:,90,1确定实体和主关键字,实体:entity表示特定的人、地或物的概念。,在上面的员工分工报告中涉及到那些实体?,员工,部门,工作,员工(员工号,员工姓名)部门(部门号,部门名称)工作(工作编号,工作名称),91,2、用E-R图表示概念模型,92,由员工3个实体的E-R图转换为关系模式:,员工(员工编号,姓名,部门编号)部门(部门编号,部门名称)工作(工作编号,工作名称,工时)工作安排(员工编号,工作编号),考虑如何利用完整性约束在数据库里反映出企业规则?,3、将概念模型转换成关系模型,93,4、实现关系模型,94,手表定理一个人有一只表时,可以知道现在是几点钟,而当他同时拥有两只表时却无法确定。,