您好,欢迎访问三七文档
基础篇•1绪论•2关系数据库•3关系数据库标准语言sql•4关系系统及其查询优化•5关系数据理论第一章绪论1.1数据库系统概述1.2数据库技术的发展1.3数据模型1.4数据库系统结构1。数据库系统概念数据(Data):数据实际上就是描述事物的符号记录。数据库(Database,简称DB):数据库是长期存储在计算机内有结构的大量的共享的数据集合。它可以供各种用户共享、具有最小冗余度和较高的数据独立性。DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对系统进行恢复。数据库管理系统(DatabaseManagementSystem,简称DBMS):数据库管理系统是位于用户与操作系统之间的一层数据管理软件。主要功能:数据定义功能、数据操作功能、数据库的运行管理、数据库的建立和维护功能数据库系统(DatabaseSystem,简称DBS):第一章绪论数据库系统概念(1)数据库系统(DatabaseSystem,简称DBS):数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。关于数据库管理员和用户的观念数据库系统管理员(DatabaseAdministrator,简称DBA):负责数据库的建立、使用和维护的专门的人员。第一章绪论数据库系统概念(2)1.2数据库技术的发展数据库管理技术大致经历了人工管理阶段、文件系统阶段和数据库系统阶段。1.2.1人工管理阶段20世纪50年代以前,计算机主要用于科学计算。这一时期的数据,数据量小,无结构,由用户直接管理,且数据间缺乏逻辑组织,由于是面向应用程序的,数据缺乏独立性,应用程序与其处理的数据结合成一个整体。程序与数据的关系如下图所示:数据特点:数据不保存应用程序管理数据数据不共享数据不具有独立性硬件:纸带卡片磁带软件:没有操作系统没有管理数据的软件程序1数据1程序2数据2图1-1人工管理阶段程序与数据的关系1.2.2文件系统阶段在20世纪50年代后期到60年代中期,文件系统阶段程序与数据的关系如图所示。图1-2文件系统阶段程序与数据的关系(1)硬件:磁盘、磁鼓等直接存取存储设备。(2)软件:操作系统中有了专门的数据管理软件--文件系统。程序1程序3程序2文件3文件2文件1文件管理系统•(3)特点•数据可以长期保存•由文件系统管理数据•数据共享性差冗余度高•数据独立性差1.2.3数据库系统阶段20世纪60年代后期至今,数据库系统阶段程序与数据的关系如下图所示:图1-3数据库系统阶段程序与数据的关系(1)硬件:大容量磁盘,价格下降。(2)软件:价格上升,编制、维护系统软件及应用程序的成本相对增加,因此出现了统一管理数据的专门软件--数据库管理系统。应用1应用3应用2数据库管理系统数据库(3)特点①数据结构化。数据库系统与文件系统是有根本区别的。对于文件系统来讲,相互独立的文件的记录内部是有结构的,而数据库系统主要实现整体数据的结构化。②数据的共享性高,冗余度低,易扩充。a)数据可以被多个用户、多个应用共享使用。b)数据共享可以大大减少数据冗余、节约存储空间。c)数据共享还能够避免数据之间的不相容性与不一致性,所谓的不一致性是指同一数据的不同拷贝值不一样。③数据独立性高。数据独立性主要从物理独立性和逻辑独立性两个方面体现。从物理独立性角度讲,用户的应用程序与存储在磁盘上的数据库是相互独立的。从逻辑独立性角度讲用户的应用程序与数据库的逻辑结构是相互独立的,即数据的逻辑结构改变了,用户程序也可以不变。(4)数据由DBMS统一管理和控制。DBMS提供以下几个方面的数据控制功能:①数据库的安全性(security)保护。保护数据以防止不合法的使用造成的数据的泄密和破坏。②数据的完整性检查(integrity)。数据的完整性指数据的正确性和一致性。完整性检查是指将数据控制在有效的范围内,或保证数据之间满足一定的关系。③并发(concurrency)控制。当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。④数据库恢复(recovery)。当计算机系统遭遇硬件故障、软件故障、操作员误操作或恶意破坏时,可能导致数据错误或全部、部分丢失,此时要求数据库具有恢复功能。所谓的数据库恢复是指DBMS将数据库从错误状态恢复到某一已知的正确状态,即完整性状态。1.3数据模型•在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。•要求:能比较真实地模拟现实世界容易为人所理解便于在计算机上实现•数据模型包括两个不同的概念:(1)概念模型,概念模型也称信息模型,它是按用户的观点来对数据和信息建模[基于行为的语义描述模型]。用于设计数据库。(2)数据模型,它是按计算机系统的观点对数据建模,主要包括网状模型、层次模型、关系模型等(基于数据结构的数据模型]。用于实现数据库管理系统DBMS。•数据模型的组成要素:两种意义的模型都是基于三个组成要素展开讨论现实世界中客观对象的抽象过程现实世界信息世界机器世界•第一次抽象•第二次抽象•产生概念模型—用ER图描述•产生数据模型—关系模型一、数据结构数据结构用于描述系统的静态特性,研究与数据类型、内容、性质有关的对象,例如关系模型中的域、属性、关系等。二、数据操作数据库主要有检索和更新(包括插入、删除、修改)等两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。三、数据的约束条件数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。此外,数据模型还应该提供定义完整性约束条件的机制。总结:******第一章绪论1.3.1数据模型的组成要素返回•概念模型用于信息世界的建模概念模型不依赖于某一个DBMS支持的数据模型。概念模型可以转换为计算机上某一DBMS支持的特定数据模型。•概念模型特点(1)具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识.(2)应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。•概念模型讨论要点(1)信息世界中的基本概念(2)联系的定义(3)表示概念模型的实体—联系方法第一章绪论1.3.2概念模型(1)实体(Entity):客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。(2)属性(Attribute):实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。(3)码(Key):唯一标识实体的属性集称为码。(4)属性域(Domain):属性的取值范围称为该属性的域。(5)实体型(EntityType):用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。(6)实体集(EntitySet):同型实体的集合称为实体集。(7)联系(Relationship):现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。“联系”是一个非常重要的概念。第一章绪论1.信息世界中的基本概念•一对一联系(1:1):如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。例如,学生与课桌。•一对多联系(1:n):如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体B有一对多联系。记为1:n。例如,某课程老师与班级学生。•多对多联系(m:n):如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n。例如,老师与课程。•实体型之间的一对一、一对多、多对多联系不仅存在于两个实体型之间,也存在于两个以上的实体型之间。•同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的。第一章绪论2。实体间的联系该方法用E-R图来描述现实世界的概念模型。E-R图提供了表示实体型、属性和联系的方法:•实体型:用矩形表示,矩形框内写明实体名。•属性:用椭圆形表示,并用无向边将其与相应的实体连接起来•联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)。做E-R图的基本方法:•注意的是:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。第一章绪论3.表示概念模型的实体—联系方法(Entity-RelationshipApproach)用户名密码姓名地址姓名电话Email教研室老师实体作业实体布置作业结束时间发布时间作业代号作业名字文件名用户名科目选择题个数填空题个数注释学生实体教学做作业用户名密码班级姓名学号电话性别地址EMail第一章绪论表示概念模型的实体——联系方法示例返回•不同的数据模型具有不同的数据结构形式。•主要包括:网状模型层次模型关系模型第一章绪论1.3.3数据模型(经典数据模型)1。层次数据模型的数据结构层次模型的基本结构:层次模型用树形结构来表示各类实体以及实体间的联系。每个结点表示一个记录类型,结点之间的连线表示记录类型间的联系,这种联系只能是父子联系。每个记录类型可包含若干个字段,这里,记录类型描述的是实体,字段描述实体的属性。任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。限制:只有一个结点没有双亲结点,称之为根结点·根以外的其它结点有且只有一个双亲结点这就使得层次数据库系统只能处理一对多的实体关系。第一章绪论一、层次模型大学一系二系……M系专业1专业2……专业N教师学生姓名……姓名姓名……姓名年龄……年龄年龄……年龄....数据层次关系ZX1X2XmA1A2AnT1S1……第一章绪论一、层次模型多对多联系在层次模型中的表示多对多联系在层次模型中的表示:用层次模型表示多对多联系,必须首先将其分解成一对多联系。分解方法有两种:冗余结点法和虚拟结点法。第一章绪论一、层次模型2。层次数据模型的操纵与完整性约束层次数据模型的操纵主要有查询、插入、删除和更新。进行插入、删除、更新操作时要满足层次模型的完整性约束条件:进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值。进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除。进行更新操作时,应更新所有相应记录,以保证数据的一致性。第一章绪论一、层次模型3。层次数据模型的存储结构邻接法:按照层次树前序穿越的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序。链接法:用指引元来反映数据之间的层次联系。用层次序列链接法第一章绪论一、层次模型4。层次数据模型的优缺点优点:·数据模型比较简单,操作简单。·对于实体间联系是固定的,且预先定义好的应用系统,性能较高。·提供良好的完整性支持。缺点:·不适合于表示非层次性的联系。·对插入和删除操作的限制比较多。·查询子女结点必须通过双亲结点。·由于结构严密,层次命令趋于程序化。第一章绪论一、层次模型1。网状数据模型的数据结构网状数据模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,此外它还允许两个结点之间有多种联系(称之为复合联系)。第一章绪论二、网状模型教师1教师2教师3学生1学生2学生32。网状数据模型的操纵与完整性约束网状数据模型的操纵主要包括查询、插入、删除和更新数据。插入操作允许插入尚未确定双亲结点值的子女结
本文标题:数据库第一章绪论
链接地址:https://www.777doc.com/doc-4056476 .html