SQLserver数据库概述.ppt
第一章 绪论,一、数据管理技术的产生和发展二、数据库相关基本概念三、E-R模型和E-R图四、关系模型和关系代数,一、数据管理技术的产生和发展,什么是数据管理对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。数据管理技术的发展过程人工管理阶段(40年代中-50年代中)文件系统阶段(50年代末-60年代中)数据库系统阶段(60年代末-现在),数据管理技术的发展动力应用需求的推动计算机硬件的发展计算机软件的发展,1、人工管理,时期40年代中-50年代中产生的背景应用需求科学计算硬件水平无直接存取存储设备软件水平没有操作系统处理方式批处理,2、文件系统,时期50年代末-60年代中产生的背景应用需求科学计算、管理硬件水平磁盘、磁鼓软件水平有文件系统处理方式联机实时处理、批处理,3、数据库系统,时期60年代末以来产生的背景应用背景大规模管理硬件背景大容量磁盘软件背景有数据库管理系统处理方式联机实时处理,分布处理,批处理,应用程序与数据的对应关系(数据库系统),数据库系统的特点数据的管理者:DBMS数据面向的对象:现实世界数据的结构化:整体结构化数据的独立性:高度的物理独立性和一定的逻辑独立性数据的共享程度:共享性高数据控制能力:由DBMS统一管理和控制,数据独立性,物理独立性逻辑独立性,指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。,指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。,数据共享性,降低数据的冗余度,节省存储空间避免数据间的不一致性使系统易于扩充,数据库系统的发展阶段1)第一代数据库系统 20世纪70年代,以层次型数据库和网状型数据库第一代数据库系统得到广泛应用。它们基本实现了数据管理中的“集中控制与数据共享”这一目标2)第二代数据库系统20世纪80年代出现了以关系型数据库为代表的第二代数据库系统。如Oracle、Sybase、Informix、Ingres等关系数据库系统已广泛用于大型信息管理系统。3)第三代数据库系统20世纪80年代末,90年代初,新一代数据库技术的研究和开发已成为数据库领域学术界和工业界的研究热点。如:多媒体数据库、时态数据库、空间数据库、面向对象数据库、分布式数据库、并行数据库系统、数据仓库、移动数据库、XML数据管理技术等。,二、数据库相关基本概念,数据(Data)数据库(Database)数据库管理系统(DBMS)数据库系统(DBS)数据模型(Data Model)数据库系统的三级模式数据库设计的一般步骤,1、数据,数据(Data)是数据库中存储的基本单位 数据的含义:是载荷信息的媒体对现实世界中客观事物的符号表示可以是数值数据,也可以是非数值数据,如声音、图像等计算机中数据能输入计算机,并能为其处理的符号序列 数据与信息的区别与联系 信息与数据之间存在着固有的联系:数据是信息的符号表示或称为载体;信息则是数据的内涵,是对数据语义的解释。,2、数据库,数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合数据库的特征数据按一定的数据模型组织、描述和储存;可为各种用户共享;冗余度较小;数据独立性较高;易扩展。,3、数据库管理系统,什么是DBMS数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件.,DBMS的主要功能,数据定义功能 提供数据定义语言(DDL)-定义数据库中的数据对象数据操纵功能:提供数据操纵语言(DML)操纵数据实现对数据库的基本操作(查询、插入、删除和修改)数据库的运行管理保证数据的安全性、完整性多用户对数据的并发使用发生故障后的系统恢复数据库的维护功能数据库数据批量装载数据库转储介质故障恢复数据库的重组织性能监视等,DBMS对数据的控制功能,数据的安全性(Security)保护使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。数据的完整性(Integrity)检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。,并发(Concurrency)控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。数据库恢复(Recovery)将数据库从错误状态恢复到某一已知的正确状态。,4、数据库系统,什么是数据库系统 数据库系统(Database System,简称DBS)是采用数据库技术的计算机系统。DBS是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统。数据库系统的构成 由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)这五个部分构成的运行实体。,数据库系统结构,5、数据模型,在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现,数据模型的组成要素,(1)数据结构 是指对实体类型和实体间联系的表达实现,规定了数据模型的静态特性。(2)数据操作是指对数据库进行的检索和更新两类操作。(3)数据的约束条件是指给定数据模型中数据及其联系应具有的制约和依赖规则。,把现实世界中的客观对象抽象为概念模型-概念模型是现实世界到机器世界的一个中间层次,它是按用户的观点来对数据和信息建模。把概念模型转换为某一DBMS支持的逻辑数据模型-逻辑数据模型是按计算机系统的观点对数据建模,是数据库的基础和核心。,数据模型分成两个不同的层次-两步抽象,6、数据库系统的三级模式结构,数据库系统的三级模式(1)概念模式:数据库系统中全局数据逻辑结构的描述,全体用户公共数据视图;(2)外模式:也称子模式与用户模式。是用户的数据视图,也就是用户所见到的数据模式;(3)内模式:又称物理模式,它给出了数据库物理存储结构与物理存取方法。数据库系统的两级映射二级映射在DBMS内部实现三级模式的联系和转换:(1)外模式到概念模式的映射-数据的逻辑独立性;(2)概念模式到内模式的映射-数据的物理独立性。,数据库系统的三级模式结构,数据库系统的生命周期:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、维护阶段。需求分析常用结构化分析方法和面向对象的方法。结构化分析(简称SA)方法用自顶向下、逐层分解的方式分析系统。用数据流图表达数据和处理过程的关系。对数据库设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。数据库概念设计利用数据模型进行概念数据库的模式设计。它不依赖任何DBMS(数据库管理系统)常用的数据模型为E-R模型(实体联系模型)。,7、数据库设计一般步骤,数据库逻辑设计:把概念设计得到的概念数据库模式变为逻辑数据模式,它依赖于DBMS。用到的术语有:函数依赖、范式、关系分解。数据库的物理设计:设计数据库的物理结构,就是根据数据库的逻辑结构,结合选定的DBMS,设计数据库的存储结构、存取方式等。一般RDBMS中留给用户参与物理设计的内容大致有索引设计、集成簇设计和分区设计。,三、ER模型和E-R图,(1)ER数据模型(Entity-Relationship data model,即实体联系数据模型)是P.P.Chen于1976年提出的一种概念数据模型。E-R数据模型不是面向实现,而是面向现实世界。(2)一些基本概念,(1)实体(Entity),客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。,实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。,(2)属性(Attribute),(3)码(Key),唯一标识实体的属性集称为码。,属性的取值范围称为该属性的域。,用实体名及其属性名集合来抽象和刻画同类实体称为实体型。,同型实体的集合称为实体集。,(6)实体集(Entity Set),(4)域(Domain),(5)实体型(Entity Type),(7)联系(Relationship),实体内部的联系及之间的联系。,一对一联系 如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。实例班级与班长之间的联系:一个班级只有一个正班长一个班长只在一个班中任职,一对多联系如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系 记为1:n,实例:班级与学生之间的联系:一个班级中有若干名学生,每个学生只在一个班级中学习,多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n,实例:课程与学生之间的联系:一门课程同时有若干个学生选修一个学生可以同时选修多门课程,(3)ER图是ER数据模型的图形表示法,是一种直观表示现实世界的有力工具。E-R图用于数据库的概念设计。,实体型的表示:用矩形表示,矩形框内写明实体名。,属性的表示:用椭圆形表示,并用无向边将其与相应的实体连接起来。,学号是键,用下划线表示。,如何画E-R图?,单属性:某个特定的实体在该属性上的取值唯一,用带有属性名的椭圆形框表示。,学号,平均成绩,属性的类型,派生属性可以从其他相关的属性或实体派生出来的属性称为派生属性;用虚椭圆形框表示.如学生(学号,姓名,平均成绩),选课(学号,课程号,成绩),则平均成绩可由学生所选课程的总成绩除以课程总数来得到。称平均成绩为派生属性,而成绩为基属性,或存储属性;数据库中,一般只存基属性值,而派生属性只存其定义或依赖关系,用到时再从基属性中计算出来;,多值属性:某个特定的实体在该属性上的有多于一个的取值,用双椭圆形框表示。,举例:教师(教师号,姓名,性别,职称,E-mail地址,电话号码,家庭地址)实体集的属性表示如下。,E-mail:多值属性家庭地址:派生属性,联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。,联系的表示:联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n),例:用E-R图来表示某工厂物资管理实体之间联系的概念模型。,物资管理涉及的实体A.仓库。属性有仓库号,仓库面积,电话号码。B.零件。属性有零件号,名称,规格,单价,描述。C.供应商。属性有供应商号,姓名,地址,电话号码,帐号。D.项目。属性有项目号,预算,开工日期。E.职工。属性有职工号,姓名,年龄,职称,某工厂物资管理实体间的联系:,物资管理涉及的实体:A.仓库。属性有仓库号,仓库面积,电话号码。B.零件。属性有零件号,名称,规格,单价,描述。C.供应商。属性有供应商号,姓名,地址,电话号码,帐号。D.项目。属性有项目号,预算,开工日期。E.职工。属性有职工号,姓名,年龄,职称,系,几个ER实例,医院病房 管理ER,几个ER实例,四、关系模型和关系代数,层次模型(Hierarchical Model)网状模型(Network Model)关系模型(Relational Model)面向对象模型(Object Oriented Model)对象关系模型(Object Relational Model),常用的(逻辑)数据模型,1970年由美国IBM公司San Jose研究室提出。本课程重点介绍,关系模型的基本概念,关系(Relation):一个关系对应通常说的一张二维表。元组(Tuple):表中的一行即为一个元组。属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名。码(Key):表中的某个属性组,它可以唯一确定一个元组。域(Domain):属性的取值范围。分量:元组中的一个属性值。关系模式:对关系的描述关系名(属性1,属性2,属性n)例:学生(学号,姓名,年龄,性别,系部号),关系的性质,关系是一个二维表,表中的每一行对应一个元组,表中的每一列有一个属性名且对应一个域。列是同质的,即每一列的值来自同一域。关系中的每一个属性是不可再分解,即所有域都应是原子数据的集合。关系中任意两个元组不能完全相同。每个关系都有关键字的属性集唯一标识各个元组。关系中行的排列顺序、列的排列顺序是无关紧要的。,关系是一个简单的二维表,其主要性质为:,(1)实体完整性约束 每个关系应有一个主键,每个元组的主键的值应是唯一的。主键的值不能为NULL,否则无法区分和识别元组。(2)域完整性约束 域完整性约束限定了属性值的取值范围,并由语义决定一个属性值是否允许为空值NULL。(3)参照完整性约束 参照完整性约束是不同关系间的约束,当存在关系间的引用时,要求不能引用不存在的元组。(4)用户自定义完整性 用户自定义完整性是根据应用环境的要求和实际需要,对某一具体应用所涉及的数据提出约束性条件。这一约束机制一般由关系模型提供定义并检验。,关系的完整性约束,查询、插入、删除、更新关系的数据操作是集合操作,操作对象和操作结果都是关系,是建立在关系代数的理论基础上的,关系的数据操作,表以文件形式存储有的DBMS一个表对应一个操作系统文件有的DBMS自己设计文件结构,关系的数据存储,关系代数:关系代数是由一组以关系作为运算对象的特定的关系运算所组成,用户通过这组运算对一个或多个关系进行“组合”与“分割”,从而得到所需要的新关系。,传统的集合运算 主要包括并运算、差运算、交运算和笛卡儿乘积运算等。专门的关系运算 包括选择运算、投影运算、连接运算、除运算等。关系演算 除了用关系代数表示关系操作外,还可以用谓词演算来表达关系的操作,称为关系演算。关系演算又可分为元组关系演算和域关系演算。,关系代数的五个基本操作,关系代数操作集,是个完备的操作集,任何其他关系代数操作都可以用这五种操作来表示。,设关系R和S具有相同结构的关系模式,R和S的并是由属于R或属于S的元组构成的集合,记为RS。形式定义如下:RSt|tR tS,例如:有库存和进货两个表(见下表),要将两个表合并为一个表,可利用并运算来实现。,(1)并(Union),(2)差(Difference),设关系R和S具有相同结构的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为RS。形式定义如下:RS t|tR t S,例如:有考生成绩合格者名单和身体不合格名单两个关系,按录取条件将成绩合格且身体健康的考生中产生录取名单关系。,举例,(3)笛卡儿积定义,设有关系R和S,它们分别是r目和s目关系(即它们的属性个数分别为r和s),分别有p和q个元组。则关系R,S经笛卡儿积运算的结果T是一个有着(r+s)个属性列的元组的集合,共有pq个元组,每一个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组。,关系R与S的笛卡儿积记为RS,形式定义如下:,RS=t|t=trRtsS,表MANAGER与表DEPTINFO的笛卡儿积如下:,举例,(4)选择运算(Selection),这个操作是根据某些条件对关系做水平分割,即在一个关系内选择符合条件的元组称为选择运算。选择运算可表示为:C(R)ttRCt=True,C表示逻辑条件表达式。这个表达式按以下规则组成:,其中、是属性名或常量,但、不能同为常量。是比较运算符,它可以是、或。称为基本逻辑条件。由若干基本逻辑条件经过逻辑运算(与)、(或)、(非)构成复合逻辑条件。,举例,SALARY2200 AGE40(WORKER),(5)投影(Project),这个操作是对一个关系进行垂直分割,即:使用关系中的部分列组成一个新的关系。记作:A(R)=tA|tR,举例,注意:如果结果表中有相同的行,则合并.,c,关系代数操作的结果(b)RS(c)RS(d)RS(e)C,A(R)(f)B=b(R),综合举例,优点 关系模型有坚实的理论基础。在关系模型中,二维表不仅能表示实体集,而且能方便地表示实体集间的联系。关系数据模型中数据的表示方法统一、简单,便于计算机实现,使用用户使用。数据独立性高。缺点 关系数据模型的主要缺点是查询效率常常不如非关系数据模型。关系数据模型等传统数据模型还存在不能以自然的方式表示实体集间的联系、语义信息不足、数据类型过少等弱点。因此自20世纪80年代后期以来,陆续出现了以面向对象数据模型为代表的新的数据模型。,关系模型的优缺点,典型的关系数据库系统,ORACLESYBASEINFORMIXDB/2COBASEPBASEEasyBaseDM/2OpenBase,