




已阅读5页,还剩122页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库技术及应用,教材及参考书目,教材: 数据库技术与应用(SQL Server) 顾兵,清华大学出版社 参考书: 1Database System Concepts,Abraham Silberschats,机械工业出版社。 2数据库系统概论,王珊、萨斯萱编,高等教育出版社。,上机软件: Microsoft SQL Server 2005,成绩计算,平时成绩:30% 平时成绩=考勤10%+作业10%+实验报告10% 期末成绩:70%,第1章 数据库系统概论,本章主要内容,重点难点,数据模型中的实体联系模型(ER模型) 关系模型与关系代数,一、基本概念,数据和信息 数据处理与数据管理 数据库(DB) 数据库管理系统(DBMS) 数据库系统(DBS),数据与信息,数据 数据的定义 描述事物的符号记录 数据的种类 文本、图形、图像、音频、视频等 信息与数据之间存在着固有的联系:数据是信息的符号表示或称为载体;信息则是数据的内涵,是对数据语义的解释。,数据举例,例如:93是一个数据 语义1:学生某门课的成绩 语义2:某人的体重 语义3:计算机系2003级学生人数 语义4:。,数据举例,学生档案中的学生记录 (李明,男,197205,江苏南京市,计算机系,1990) 语义:学生姓名、性别、出生年月、籍贯、所在院系、入学时间 解释:李明是个男学生,1972年5月出生,江苏南京市人,1990年考入计算机系,数据处理与数据管理,数据处理是指从某些已知的数据出发,推导加工出一些新的数据,这些新的数据又表示了新的信息。 数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。 数据处理是与数据管理相联系的,数据管理技术的优劣,将直接影响数据处理的效率,数据库,DataBase,简称DB:是长期存储在计算机内、有组织的、统一管理的相互关联的数据集合。 数据库具有以下特点: 数据库可由人工或计算机建立、维护与使用。 数据库是具有逻辑关系和确定意义的数据集合。 可为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性。 针对明确应用目标设计、建立和加载 表现了现实世界的某些方面。,数据库管理系统,Database Management System,简称为DBMS。是位于用户与操作系统(OS)之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。,数据库管理系统主要功能, 数据定义功能 提供数据定义语言(DDL) 定义数据库中的数据对象 数据组织、存储和管理 分类组织、存储和管理各种数据 确定组织数据的文件结构和存取方式 实现数据之间的联系 提供多种存取方法提高存取效率,数据库管理系统主要功能, 数据操纵功能 提供数据操纵语言(DML) 实现对数据库的基本操作(查询、插入、删除和修改) 数据库的事务管理和运行管理 数据库在建立、运行和维护时由DBMS统一管理和控制 保证数据的安全性、完整性、多用户对数据的并发使用 发生故障后的系统恢复,数据库管理系统主要功能, 数据库的建立和维护功能(实用程序) 数据库初始数据装载转换 数据库转储 介质故障恢复 数据库的重组织 性能监视分析等 其它功能 DBMS与网络中其它软件系统的通信 两个DBMS系统的数据转换 异构数据库之间的互访和互操作,数据库系统,DataBase System,简称为DBS:是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的以某一应用领域为应用背景的计算机系统。 数据库系统的构成: 数据库 数据库管理系统(及其开发工具) 应用系统程序 数据库管理员和用户,数据库系统示意图,应用程序,开发工具,数据库管理系统(DBMS),操作系统,数据库管理员,数据库,用户,用户,二、数据库技术的发展,数据库技术的定义: 是由于数据管理任务的需要而产生、用于研究数据库的结构、存储、设计、管理和使用的一门软件学科。 在应用需求的推动下,在计算机硬件技术、软件技术快速发展的基础上,数据管理技术的发展经历了人工管理、文件系统、数据库系统3个阶段。,1.人工管理阶段,时期 20世纪40年代中-50年代中 特点 数据的管理者:用户(程序员),数据不保存在计算机内 数据面向的对象:某一应用程序 数据控制能力:应用程序自己控制 数据的共享程度:无共享、冗余度极大 数据的独立性:不独立,完全依赖于程序 数据的结构化:无结构 ,应用程序与数据的对应关系系(人工管理阶段),2.文件系统阶段,时期: 20世纪60年代 特点: 数据的管理者:文件系统,数据可长期保存 数据面向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大 数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序 数据的结构化:记录内有结构,整体无结构,应用程序与数据的对应关系(文件系统阶段),3.数据库阶段,时间: 20世纪60年代末以来 特点: 数据结构化,即采用数据模型以表示复杂的数据结构 数据共享性高、冗余度低、易扩充 数据独立性高 数据由DBMS统一管理和控制,数据结构化,整体数据的结构化是数据库的主要特征之一 整体结构化 不再仅仅针对某一个应用,而是面向全组织 不仅数据内部结构化,整体是结构化的,数据之间具有联系 数据库中实现的是数据的真正结构化 数据的结构用数据模型描述,无需程序定义和解释 数据可以变长 数据的最小存取单位是数据项,数据的共享性高,冗余度低,易扩充,数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。 数据共享的好处 减少数据冗余,节约存储空间 避免数据之间的不相容性与不一致性 使系统易于扩充,数据独立性高, 物理独立性 指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。 逻辑独立性 指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。,数据由DBMS统一管理和控制, DBMS提供的数据控制功能 (1)数据的安全性(Security)保护 保护数据,以防止不合法的使用造成的数据的泄密和破坏。 (2)数据的完整性(Integrity)检查 将数据控制在有效的范围内,或保证数据之间满足一定的关系。 (3)并发(Concurrency)控制 对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。 (4)数据库恢复(Recovery) 将数据库从错误状态恢复到某一已知的正确状态。,应用程序与数据的对应关系(数据库阶段),三、数据模型,数据模型的有关概念 实体-联系模型 关系模型,1.关于模型的基本概念,模型(Model):是对现实世界某个对象特征的模拟与抽象。 数据模型(Data Model):是对现实世界数据特征的抽象。 数据库系统均基于某种数据模型。 数据模型是数据库系统的核心与基础。,数据模型的分类,根据数据模型的不同应用目的,可划分为两类: (1)概念数据模型 它是按用户的观点来对数据和信息建模,用于数据库设计。 (2) 逻辑模型和物理模型 逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。 物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。,客观对象的抽象过程-两步抽象 现实世界中的客观对象抽象为概念模型; 把概念模型转换为某一DBMS支持的数据模型。,2.概念模型的表示方法,概念模型是对信息世界建模。 概念模型常用的表示方法:实体-联系方法(Entity-Raletionship Approach)简称E-R模型。 E-R模型是用E-R图来描述现实世界的概念模型。,E-R图基本成份,矩形框:用于表示实体类型(考虑问题的对象)。 菱形框:用于表示联系类型(实体间联系)。 椭圆形框:用于表示实体类型和联系类型的属性。 惟一标识实体的属性:加下划线。,概念设计中的数据描述,概念描述:根据用户的需求设计数据库的概念结构,与具体的DBMS无关。 实体(entity):客观存在,可以相互区别的事物。 实体集(entity set):性质相同的同类实体的集合。 属性(attribute):实体每一个特性称为属性。每个属性有一个值域。 实体标识符(identifier):能惟一标识实体的属性或属性集,称为实体标识符。也称关键码(key),或简称为键。,数据联系的描述,联系(relationship)是实体之间的相互关系。与一个联系有关的实体集个数,称为联系的元数。 联系可用实体所组成的元组表示: (e1,e2,en),当n=2,称为二元联系。,二元联系中实体关系(1),一对一联系:如果实体集E1中每个实体至多和实体集E2中的一个实体有联系,反之亦然,那么实体集E1和E2的联系称为“一对一联系”,记为“1:1”。,E1,E2,二元联系中实体关系(2),一对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体间有联系,而E2中每个实体至多和E1中一个实体有联系,那么称E1对E2的联系是“一对多联系”,记为“1:N”。,二元联系中实体关系(3),多对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么称E1和E2的联系是“多对多联系”,记为“M:N”。,实体间联系示例,多元联系,两个以上实体型之间一对多联系,多元联系,两个以上实体型间的多对多联系, 实例 供应商、项目、零件三个实体型 一个供应商可以供给多个项目多种零件 每个项目可以使用多个供应商供应的零件 每种零件可由不同供应商供给,单个实体内的联系,同一实体集内各实体之间也可以存在一对一、一对多、多对多的联系。,ER模型的设计实例,工程管理:根据需要向供应商订购零件,工程项目需要供应商提供零件 分析过程: 实体类型:零件PART,工程项目PROJECT,零件供应商SUPPLIER。 确定联系类型:PROJECT和PART之间是M:N联系,PART和SUPPLIER之间也是M:N联系,分别命名为P_P和P_S. 确定实体类型和联系类型的属性。 把实体类型和联系类型组合成ER图。 确定实体类型的键。,确定属性、键及组合E-R图,用E-R图表示某个工厂物资管理的概念模型 实体: 仓库:仓库号、面积、电话号码 零件:零件号、名称、规格、单价、描述 供应商:供应商号、姓名、地址、电话号码、帐号 项目:项目号、预算、开工日期 职工:职工号、姓名、年龄、职称 说明: (1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。用库存量来表示某种零件在某个仓库中的数量。 (2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作。 (3)职工之间具有领导-被领导关系。 (4)一个供应商可以供给多个项目多种零件,每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给。,3.常用的逻辑数据模型,目前数据库中常用的逻辑数据模型有; 层次模型(Hierarchical Model) 网状模型(Network Model) 关系模型(Relational Model) 面向对象模型(Object Oriented Model),关系模型,近三十年来,关系数据库产品占有主导地位。 关系数据库系统采用关系模型作为数据的组织方式。 关系模型成为目前最重要的数据模型。 当前,数据库领域的研究也是以关系方法为基础。,关系模型的数据结构,关系模型由一组关系组成。 每个关系的数据结构是一张规范的二维表。,关系模型中的术语,关系(Relation):即所说的规范的二维表。 元组(Tuple):表中的一行(一条记录)。 属性(Attribute):表中的一列。 主关键字(Key):可惟一标识一个元组的属性组。 域(Domain):属性的取值范围。 分量:元组中的一个属性值。 关系模式(Relation Schema):对关系的描述。可表示为: 关系名(属性1,属性2,属性3,),例1 定义如下关系模型 学生、系,系与学生之间的一对多联系: 学生(学号,姓名,年龄,性别,系号,年级) 系(系号,系名,办公地点) 例2 定义如下关系模型 系、系主任,系与系主任间的一对一联系 系(系号,系名,办公地点) 系主任(系号,姓名),例3定义如下关系模型 学生、课程、学生与课程之间的多对多联系: 学生(学号,姓名,年龄,性别,系号,年级) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩),关系必须是规范化的,满足一定的规范条件 最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许表中还有表 下图中工资和扣除是可分的数据项,不符合关系模型要求,术语对比,四、关系模型与关系数据库,采用关系模型作为数据的组织方式的数据库系统称为关系数据库。 关系数据库目前仍是数据库应用中的主流技术。,1.关系的数学定义,域(Domain):一组具有相同数据类型的值的集合。 例: 整数 实数 介于某个取值范围的整数 长度指定长度的字符串集合 男,女 ,笛卡尔积(Cartesian Product): 给定一组域D1,D2,D3,Dn,则这些域的笛卡尔积为:D1D2D3Dn=(d1,d2,d3,dn)|diDj,i=1,2,n 所有域的所有取值的一个组合 不能重复 例: D1=导师集合Supervisor=张清玫,刘逸 D2=专业集合Speciality=计算机专业,信息专业 D3=研究生集合Postgraduate=李勇,刘层,王敏,笛卡尔积, 笛卡尔积的表示方法 笛卡尔积可表示为一个二维表 表中的每行对应一个元组,表中的每列对应一个域, 元组(Tuple) 笛卡尔积中每一个元素(d1,d2,dn)叫作一个n元组(n-tuple)或简称元组(Tuple) (张清玫,计算机专业,李勇)、(张清玫,计算机专业,刘晨)等都是元组 分量(Component) 笛卡尔积元素(d1,d2,dn)中的每一个值di叫作一个分量 张清玫、计算机专业、李勇、刘晨等都是分量, 基数(Cardinal number) 若Di(i1,2,n)为有限集,其基数为mi(i1,2,n),则D1D2Dn的基数M为:,思考,关于学生选课,给出3个域: D1:STUDENT=0105,0206,0312 D2:COURSE=COM,MAT,ENG D3:TEACHER=WU,LIU,ZHANG 说出D1,D2,D3这3个域的笛卡尔积的部分内容; 说出上述笛卡尔积的基数。,关系(Relation)结构,定义:D1D2Dn的子集称为在域D1、D2 、, Dn上的关系,表示为: R(D1,D2 , Dn) 其中:R:关系名; n:关系的目或度(Degree)。 因为关系是笛卡尔积的子集(这一部分元组是有实际意义的),因此关系也是一个二维表。,SAP关系,2.关系代数,关系代数是一种抽象的查询语言,它通过关系的运算来表达查询。 关系代数的运算分为: 传统的集合运算:并、交、差和笛卡尔积 专门的关系运算:选择、投影、连接和除,关系运算符,辅助运算符,传统的集合运算,并(Union) R和S 具有相同的目n(即两个关系都有n个属性) 相应的属性取自同一个域 RS 仍为n目关系,由属于R或属于S的元组组成 RS =ttR tS,差(Difference) R和S 具有相同的目n 相应的属性取自同一个域 R - S 仍为n目关系,由属于R而不属于S的所有元组组成 R -S =ttR tS,交(Intersection) R和S 具有相同的目n 相应的属性取自同一个域 RS 仍为n目关系,由既属于R又属于S的元组组成 RS = ttR tS RS = R (R-S),笛卡尔积(Cartesian Product) R: n目关系,k1个元组 S: m目关系,k2个元组 RS 列:(n+m)列元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组 行:k1k2个元组,选择、投影、连接、除 学生-课程数据库: 学生关系Student、课程关系Course和选修关系SC,专门的关系运算,1. 选择(Selection),1) 选择又称为限制(Restriction) 2) 选择运算符的含义 在关系R中选择满足给定条件的诸元组,记作: F(R) F:选择条件,是一个逻辑表达式,基本形式为: X1Y1 其中表示比较运算符,可是=、=、=等; X1、Y1等是属性名,或为常量;属性名也可以用它的序号来代替。,3) 选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行的角度进行的运算,2. 投影(Projection),1)投影运算符的含义 从R中选择出若干属性列组成新的关系 ai,aj(R) ai,aj为R中的属性列 2)投影操作主要是从列的角度进行运算 但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行),3. 连接(Join),1)连接也称为连接 2)连接运算的含义 从两个关系的笛卡尔积中选取属性间满足一定条件的元组,记作 A和B:分别为R和S上度数相等且可比的属性组 :比较运算符 连接运算从R和S的广义笛卡尔积RS中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组,3)两类常用连接运算 等值连接(equijoin) 什么是等值连接 为“”的连接运算称为等值连接 等值连接的含义 从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为:,自然连接(Natural join) 自然连接是一种特殊的等值连接 两个关系中进行比较的分量必须是相同的属性组 在结果中把重复的属性列去掉 自然连接的含义 R和S具有相同的属性组B,4)一般的连接操作是从行的角度进行运算。 自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。,例5关系R和关系S 如下所示:,4. 除(Division),给定关系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组。 R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。 R与S的除运算得到一个新的关系P(X), P是R中满足下列条件的元组在X 属性列上的投影: 元组在X上分量值x的象集Yx包含S在Y上投影的集合,记作:,除操作是同时从行和列角度进行运算,例6设关系R、S分别为下图的(a)和(b),RS的结果为图(c),分析, 在关系R中,A可以取四个值a1,a2,a3,a4 a1的象集为(b1,c2),(b2,c3),(b2,c1) a2的象集为(b3,c7),(b2,c3) a3的象集为(b4,c6) a4的象集为(b6,c6) S在(B,C)上的投影为 (b1,c2),(b2,c1),(b2,c3) 只有a1的象集包含了S在(B,C)属性组上的投影 所以RS =a1,关系R、S如下表所示,R(Al,A2(13(S)的结果为_。 A.d B. c,d C.c,d,8 D. (a,b),(b,a),(c,d),(d,f),综合举例,以学生-课程数据库为例 例7 查询至少选修1号课程和3号课程的学生号码 首先建立一个临时关系K: 然后求:,例8 查询选修了2号课程的学生的学号。,例9 查询至少选修了一门其直接先行课为5号课程的的学生姓名,例10 查询选修了全部课程的学生号码和姓名。,关系代数运算的应用举例,设教学数据库中的4个基本关系如下: 教师关系 T(T#,Tname,Title) 课程关系 C(C#,Cname,T#) 学生关系 S(S#,Sname,Age,Sex) 选课关系 SC(S#,C#,Score),运算举例,学习课程号为C2课程的学生学号与成绩 学习课程号为C2课程的学生学号与姓名 至少选修Liu老师所授课程中一门课程的学生学号与姓名 选修课程号为C2或C4的学生学号 至少选修课程号为C2和C4的学生学号 不学C2课程的学生姓名与年龄 学习全部课程的学生姓名 所学课程中包含学生S3所学课程的学生学号,教师关系 T(T#,Tname,Title) 课程关系 C(C#,Cname,T#) 学生关系 S(S#,Sname,Age,Sex) 选课关系 SC(S#,C#,Score),Answer,S#.Score(C# = C2 (SC) ) S#.Sname(C# = C2 (S SC) ) S#.Sname(Tname = Liu (S SC C T) ) S#.(C# = C2 C# = C4 (SC) ) 1(1=42=C2 5=C4 (SC SC) ) Sname,age(S)- Sname,age(C# = C2 (S SC) ) Sname(S (S#,C# (SC) C# (C) S#,C# (SC) C# (S# = S3 (SC),五、数据库体系结构,数据库系统的三级模式结构 数据库的二级映像功能与数据独立性,数据库系统的三级模式结构,模式(Schema) 外模式(External Schema) 内模式(Internal Schema),数据库系统的三级模式结构,一、模式(Schema),模式(也称逻辑模式) 数据库中全体数据的逻辑结构和特征的描述 所有用户的公共数据视图,综合了所有用户的需求 一个数据库只有一个模式 模式的地位:是数据库系统模式结构的中间层 与数据的物理存储细节和硬件环境无关 与具体的应用程序、开发工具及高级程序设计语言无关,模式定义 数据的逻辑结构(数据项的名字、类型、取值范围等) 数据之间的联系 数据有关的安全性、完整性要求,二、外模式(External Schema),外模式(也称子模式或用户模式) 数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示,外模式的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【北京市人社局】2025年北京市人力资源市场薪酬数据报告(一季度)
- 2024北京西城外国语学校初一(下)期中数学试题及答案
- 历史中的汉字之美
- 绿色材料革新之路
- 立秋文化与教学融合
- 2025股权转让合同协议范本
- 2025船员雇佣合同模板
- 2025租房协议范本 合同示例
- 冠心病的治疗ABCDE方案
- 住院病人外出管理制度
- (一模)桂林市、来宾市2025届高考第一次跨市联合模拟考试英语试卷(含答案详解)
- 2025深圳市房产交易居间合同
- 智研咨询发布:2025年中国家庭智能机器人行业市场现状及投资前景分析报告
- 2023年郑州轨道工程职业学院单招职业适应性测试题库附答案
- 2025年安徽国际商务职业学院单招职业技能考试题库及答案1套
- 2024北京理工大附中高一(下)期中英语试题及答案
- 耳部带状疱疹护理查房
- 成语故事-闻鸡起舞-课件
- 杭州市市属事业单位招聘真题2024
- 2025-2031年中国低空经济物流行业发展全景监测及投资方向研究报告
- 干洗店中央洗衣工厂岗位职责及管理手册
评论
0/150
提交评论