《CH数据库系统结构.pptx》由会员分享,可在线阅读,更多相关《CH数据库系统结构.pptx(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库系统结构数据库系统结构2.1.1 数据 2.1.2 数据模型 数据库系统结构数据库系统结构l数据是人们从实际当中抽取感兴趣的事物特征或属性。l数据有一定的格式,例如,性别是一个汉字的字符。格式的规定是数据的语法。l数据是信息存在的一种形式,只有通过解释或处理才能成为有用的信息。数据的含义是数据的语义。数据库系统结构数据库系统结构l模型 是对事物、对象、过程等客观系统中感兴趣的内容的模拟和抽象表达,是理解系统的思维工具。l数据模型(Data Model) 也是一种模型,它是对现实世界数据特征的抽象。数据模型一般应满足三个要求:第一要能够比较真实地模拟现实世界;第二要容易被人们理解;第三要能
2、够很方便地在计算机上实现。 数据库系统结构数据库系统结构 根据模型应用的不同目的,可以将这些模型分为两大类,它们分别属于两个不同的层次。 第一类是概念层数据模型 第二类是组织层数据模型 数据库系统结构数据库系统结构l 从数据的应用语义视角来抽取模型并按用户的观点来对数据和信息进行建模。l 这类模型主要用在数据库的设计阶段l 它与具体的数据库管理系统无关。 数据库系统结构数据库系统结构l指用什么样的结构来组织数据 l与具体的数据库管理系统有关l主要包括:层次模型(用树型结构组织数据)网状模型(用图型结构组织数据)关系模型(用简单二维表结构组织数据)对象关系模型(用复杂表格及其他结构组织数据) 数
3、据库系统结构数据库系统结构 为了把现实世界中的具体事物抽象、组织为某一具体DBMS支持的数据模型,通常首先将现实世界抽象为信息世界,然后再将信息世界转换为机器世界。即:首先把现实世界中的客观对象抽象为某一种信息结构,然后再把概念级模型转换为计算机上的DBMS支持的数据模型,也就是组织层数据模型。 现实世界现实世界信息世界:概念模型信息世界:概念模型机器世界:具体机器世界:具体DBMSDBMS支持的数据支持的数据模型模型转换转换人的认识抽象人的认识抽象数据库系统结构数据库系统结构数据库系统结构数据库系统结构2.2.1 基本概念2.2.2 实体-联系模型 数据库系统结构数据库系统结构l概念层数据模
4、型:抽象现实系统中有应用价值的元素及其关概念层数据模型:抽象现实系统中有应用价值的元素及其关联关系,反映现实系统中有应用价值的信息结构,并且不依赖联关系,反映现实系统中有应用价值的信息结构,并且不依赖于数据的组织层结构。于数据的组织层结构。 l是现实世界到机器世界的一个中间层次是现实世界到机器世界的一个中间层次, ,l概念数据模型是面向用户、面向现实世界的数据模型,它与概念数据模型是面向用户、面向现实世界的数据模型,它与具体的具体的DBMSDBMS无关。无关。数据库系统结构数据库系统结构 1.1.实体实体: :实体是具有公共性质的可相互区别的现实世界对象的集合。l实体中的每个具体的记录值(一行
5、数据),比如学生实体中的每个具体的学生,我们称之为实体的一个实例实例。l在E-R图中用矩形框表示具体的实体,把实体名写在框内。如学生实体表示为:学生数据库系统结构数据库系统结构2 2、属性:、属性:属性就是描述实体或者联系的性质或特征的数据项。 身高年龄性别体重l属性在E-R图中用圆角矩形(或圆形)表示 职工数据库系统结构数据库系统结构3.3.联系:是数据之间的关联集合,是客观存在的联系:是数据之间的关联集合,是客观存在的应用语义链应用语义链 。l实体内部的联系: 一个实体内属性之间的联系。例:职工实体内部的职工号和此职工的部门经理号l实体之间的联系: 不同实体之间的联系。例:课程实体和学生实
6、体之间存在选课联系。数据库系统结构数据库系统结构联系名实体1实体2数据库系统结构数据库系统结构数据库系统结构数据库系统结构(1)一对一联系:如果实体A中的每个实例在实体B中至多有一个(也可以没有)实例与之关联,反之亦然,则称实体A与实体B具有一对一联系,记作:1 : 1。例如,部门和经理(假设一个部门只有一个经理,一个人只当一个部门的经理)、系和正系主任(假设一个系只有一个正主任,一个人只当一个系的主任)都是一对一联系。经理经理管理管理部门部门11系系管理管理系主任系主任11数据库系统结构数据库系统结构(2)一对多联系:如果实体A中的每个实例在实体B中有n个实例(n0)与之联系,而实体B中每个
7、实例在实体A中只有一个实例与之联系,则称实体A与实体B是一对多联系,记作:1 : n。例,假设一个部门有若干职工,而一个职工只在一个部门工作,则部门和职工之间就是一对多联系。如图所示。工作部门职工1n数据库系统结构数据库系统结构(3)多对多联系:如果对于实体A中的每个实例,实体B中有n个实例(n0)与之联系,而实体B中的每个实例,在实体A中也有m个实例(m0)与之联系,则称实体A与实体B的联系是多对多的,记为m : n 。n例如学生和课程,一个学生可以选修多门课程,一门课程也可以被多个学生选修,因此学生和课程之间是多对多的联系。如图示。学生课程选课mn数据库系统结构数据库系统结构 E-R图不仅
8、能描述两个实体之间的联系,而且还能描述两个以上实体之间的联系。比如有顾客、商品、售货员三个实体,并且有语义:每个顾客可以从多个售货员那里购买商品,并且可以购买多种商品;每个售货员可以向多名顾客销售商品,并且可以销售多种商品;每种商品可由多个售货员销售,并且可以销售给多名顾客。售货员售货员销售销售商品商品pm顾客顾客n数据库系统结构数据库系统结构例1:假设一个学生可选多门课程,而一门课程又有多个学生选修,一个教师可讲多门课程,一门课程至多只有一个教师讲授。试画出表示学生、教师、课程及其联系的E-R图。数据库系统结构数据库系统结构数据库系统结构数据库系统结构例例2:医院住院部有若干科,每科有若干医
9、生和病房,病人住在病房中:医院住院部有若干科,每科有若干医生和病房,病人住在病房中由某个医生负责治疗。每个医生只能属于一个科,每个病房也只能属由某个医生负责治疗。每个医生只能属于一个科,每个病房也只能属于一个科。一个病房可住多个病人,一个病人由固定医生负责治疗,于一个科。一个病房可住多个病人,一个病人由固定医生负责治疗,一个医生负责多个病人。试画出表示科、医生、病房、病人及其联系一个医生负责多个病人。试画出表示科、医生、病房、病人及其联系的的E-R图。图。科室病人医生病房入住诊治从属从属nnnn1111数据库系统结构数据库系统结构2.3.1 关系模型的数据结构 2.3.2 关系模型的数据操作
10、2.3.3 关系模型的数据完整性约束 数据库系统结构数据库系统结构l关系数据模型源于数学,它用二维表来组织数据,而这个二维表在关系数据库中就称为关系。关系数据库就是表或者说是关系的集合。在关系系统中,表是逻辑结构而不是物理结构。l用关系(表格数据)表示实体和实体之间联系的模型称为关系数据模型l示例:学生基本信息表 数据库系统结构数据库系统结构1关系关系就是二维表,它满足如下条件:关系表中的每一列都是不可再分的基本属性。表中各属性不能重名。 表中的行、列次序并不重要,即交换列的前后顺序不影响其表达的语义。2元组 表中的每一行数据称作是一个元组,它相当于一个记录值。3属性 表中的每一列是一个属性值
11、集,列可以命名,称为属性名。4主码 主码(Primary key)也译为主键或主关键字,是表中用于唯一地确定一个元组的属性或最小属性组。 复合主码 候选码5域 属性的取值范围就称为域。 数据库系统结构数据库系统结构v 一个实体转换为一个关系模式一个实体转换为一个关系模式。实体的属性就是关。实体的属性就是关系的属性,实体的标识符就是关系的码。系的属性,实体的标识符就是关系的码。v 对于实体间的联系有以下不同的情况对于实体间的联系有以下不同的情况: 一个一个1 1:1 1联系可以转换为一个独立的关系模式,联系可以转换为一个独立的关系模式,也可以与任意一端所对应的关系模式合并。也可以与任意一端所对应
12、的关系模式合并。 一个一个1 1:n n联系可以转换为一个独立的关系模式,联系可以转换为一个独立的关系模式,也可以与也可以与n n端所对应的关系模式合并。端所对应的关系模式合并。 一个一个m m:n n联系转换为一个关系模式。联系转换为一个关系模式。 三个或三个以上实体间的一个多元联系可以转换三个或三个以上实体间的一个多元联系可以转换为一个关系模式。为一个关系模式。 数据库系统结构数据库系统结构v部门表部门表(部门号部门号,部门名,部门名,经理号经理号)v经理表经理表(经理号经理号,经理名,经理名,电话电话 )或者:或者:v部门表部门表(部门号部门号,部门名),部门名)v经理表经理表(经理号经
13、理号,部门号部门号,经理名,电话)经理名,电话)11经理经理部门部门管理管理部门名部门名部门号部门号经理号经理号经理名经理名电话电话数据库系统结构数据库系统结构v部门表部门表(部门号部门号,部门名),部门名)v职工表职工表(职工号职工号,部门号部门号,职工名,工资)职工名,工资) n1职工职工部门部门工作工作部门名部门名部门号部门号职工号职工号职工名职工名工资工资数据库系统结构数据库系统结构v教师表教师表(教师号教师号,教师名,职称),教师名,职称)v课程表课程表(课程号课程号,课程名,学分),课程名,学分)v授课表授课表(教师号,课程号教师号,课程号,授课时数),授课时数)nm课程课程教师教
14、师授课授课教师名教师名教师号教师号课程号课程号课程名课程名学分学分职称职称授课时数授课时数数据库系统结构数据库系统结构售货员售货员销售销售商品商品pm顾客顾客n工作证号工作证号姓名姓名顾客编号顾客编号姓名姓名商品编号商品编号商品名称商品名称价格价格销售数量销售数量数据库系统结构数据库系统结构l 关系模型的操作对象是集合(也就是关系),非关系型数据库系统中典型的操作是一次一行或一次一个记录。因此,集合处理能力是关系系统区别于其他系统的一个重要特征。l 关系数据模型的数据操作主要包括四种:查询、插入、删除和修改数据。 数据库系统结构数据库系统结构 数据完整性是指数据库中存储的数据是有意义的或正确的
15、。 数据完整性约束主要包括三大类:l 实体完整性l 参照完整性l 用户定义的完整性 数据库系统结构数据库系统结构实体完整性指关系数据库中所有的表都必须有主码,而且表中不允许存在如下的记录:无主码值的记录主码值相同的记录。 关系模型中使用主码作为记录的惟一标识,主码所包含的属性称为关系的主属性,其他的非主码属性称为非主属性。在关系数据库中主属性不能取空值。数据库系统结构数据库系统结构 限制一个表中某列的取值受另一个表的某列的取值范围约束的特点就称为参照完整性,它用于描述实体之间的联系,有时也称为引用完整性,。 参照完整性一般是指多个实体或表之间的关联关系。 在关系数据库中用外码(Foreign
16、key,有时也称为外部关键字或外键)来实现参照完整性。 外码是取作本表(子表)属性之一的外表(父表,主表)主码,一般在联系实体中,用于表示两个或多个实体之间的关联关系。数据库系统结构数据库系统结构学生班属于(学号学号, 姓名姓名, 班号班号, )(班号班号,专业,人数,专业,人数, )数据库系统结构数据库系统结构外码引用例2学生课程选课(学号学号,姓名,姓名,)(课程号课程号,课程名,课程名, )(学号学号, 课程号课程号, 成绩成绩, )数据库系统结构数据库系统结构v参照完整性规则就是定义外码与主码之参照完整性规则就是定义外码与主码之间的引用规则。间的引用规则。v对于外码,一般应符合如下要求
17、:对于外码,一般应符合如下要求: 或者值为空(不作为主属性时);或者值为空(不作为主属性时); 或者等于其所应用的关系中的某个元组的主或者等于其所应用的关系中的某个元组的主码值。码值。数据库系统结构数据库系统结构用户定义的完整性也称为域完整性或语义完整性,是针对某一具体应用领域定义的数据库约束条件。用户定义的完整性实际上就是指明关系中属性的取值范围,也就是属性的域,即限制关系中的属性的取值类型及取值范围,防止属性的值与应用语义矛盾。例如,学生的考试成绩的取值范围为0100,或取优、良、中、及格、不及格。 数据库系统结构数据库系统结构2.4.1 三级模式结构 2.4.2 二级映象功能 2.4.3
18、 数据库管理系统 数据库系统结构数据库系统结构l模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。l关系模式是关系的“型”或元组的结构共性的描述。l关系模式实际上对应的是关系表的表头. 一般表示为:关系名(属性1,属性2,属性n)。表头表头 (关系模式)元组元组(实例)(实例)属性1属性2属性n数据库系统结构数据库系统结构外模式1外模式2外模式n概念模式内模式单个用户视图公共视图存储视图数据库系统的三级模式结构数据库系统的三级模式结构数据库系统结构数据库系统结构l外模式也称为用户模式或子模式,它是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同数
19、据库用户需求的数据视图,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是对数据库整体数据结构的子集或局部重构l外模式通常是模式的子集。一个数据库可以有多个外模式。l外模式是保证数据库安全的一个措施。数据库系统结构数据库系统结构l概念模式也称为逻辑模式或模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。l是数据库系统结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、与所使用的应用开发工具和环境无关。 数据库系统结构数据库系统结构l内模式也称为存储模式,是对整个数据库的底层表示,它描述了数据的存储结构,比如数据的组织与存储。 数据库系统结
20、构数据库系统结构l数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。l为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在三级模式之间提供了两层映像:数据库系统结构数据库系统结构/ / 数据和程序物理独立(存储独立)数据和程序物理独立(存储独立) 数据库系统结构数据库系统结构 数数据和程序逻辑独立(概念独立)据和程序逻辑独立(概念独立) 数据库系统结构数据库系统结构lDBMS是处理数据库访问的系统软件。l处理过程:用户使用数据库语言发出一个访问请求;用户使用数据库语言发出一
21、个访问请求; DBMSDBMS接受请求并分析;接受请求并分析;DBMSDBMS检查用户外模式、相应的外模式概念检查用户外模式、相应的外模式概念模式间的映象、概念模式、概念模式内模式模式间的映象、概念模式、概念模式内模式间的映象和存储结构定义。间的映象和存储结构定义。 数据库系统结构数据库系统结构1数据定义 2数据操纵3. 优化和执行4. 数据安全和完整性5. 数据恢复和并发 6数据字典 7性能数据库系统结构数据库系统结构科室病人医生病房入住诊治从属从属nnnn1111科名科名地址地址电话电话工作证号工作证号姓名姓名职称职称年龄年龄病房号病房号类别类别费用费用病历号病历号姓名姓名性别性别年龄年龄请将下面请将下面E-R图转换为关系模型,并指出每个关系模图转换为关系模型,并指出每个关系模式的主码、外码及外码引用关系。式的主码、外码及外码引用关系。数据库系统结构数据库系统结构教师学生课程院系属于讲授选修n1nnmm姓名姓名性别性别职称职称工作证号工作证号课程号课程号课程名课程名学分学分院系名院系名电话电话学号学号姓名姓名性别性别专业专业请将下面请将下面E-R图转换为关系模型,并指出每个关系模图转换为关系模型,并指出每个关系模式的主码、外码及外码引用关系。式的主码、外码及外码引用关系。
限制150内