《太原理工大学-数据库系统原理课件_课件》由会员分享,可在线阅读,更多相关《太原理工大学-数据库系统原理课件_课件(96页珍藏版)》请在金锄头文库上搜索。
1、数据库技术,第1节 数据库系统概述,数据:在计算机中泛指一切可以输入计算机并能被计算机处理的符号.它可以是姓名、单位等字符型数据,也可以是工资、奖金等数值型数据。,数据库:长期存储在计算机内、有组织的(即:有结构的、相关的) 、可共享的数据集合。,学生.DBF,课程.DBF,选修.DBF,回38,学生.DBF,课程.DBF,选修.DBF,数据库,学生.DBF,表名,表 (在数据库原理中又称为关系、实体集),每行称为记录(在数据库原理中又称为元组、实体),每列称为字段(又称为属性或数据项),表由记录组成 记录由字段组成,结论:,1.1数据库系统的应用,超市信息管理系统 银行信息管理系统 交通售票
2、管理系统 电子商务网站,1.2数据库管理技术的产生和发展,人工管理阶段 文件管理阶段 数据库系统管理阶段,数据管理指的是对数据进行分类、组织、编码、存储、检索和维护的一系列工作。 在数据管理需求的推动下,数据管理经历了人工管理、文件管理及数据库系统管理三个阶段。,1、人工管理阶段,特点 数据的管理者:应用程序,数据不保存。 数据面向的对象:某一应用程序 数据的共享程度:无共享、冗余度极大 数据的独立性:不独立,完全依赖于程序,无结构。,2、文件管理阶段,特点 数据的管理者:文件系统,数据可长期保存 数据面向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大 数据的结构化:记录内有结构,整
3、体无结构 数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序 数据控制能力:应用程序自己控制,3、数据库系统管理阶段,特点 数据的管理者:DBMS 数据面向的对象:现实世界 数据的共享程度:共享性高 数据的独立性:高度的物理独立性和一定的逻辑独立性 数据的结构化:整体结构化 数据控制能力:由DBMS统一管理和控制,应用程序与数据的关系,1.3数据库系统的组成,数据库系统(DBS-Database System)由 数据库(DB- Database) 数据库管理系统(DBMS- Database Management System)常见的DBMS有: Oracle、SQL Server、
4、Visual FoxPro、ACCESS 数据库应用程序 数据库管理员(DBA - Database Administrator) 用户 五部分组成,数据库系统组成图,1.数据处理的三个世界,现实世界现实世界是指客观存在的世界中的事实及其联系。在目前数据库方法中把客观事实抽象成信息世界的实体,然后再将实体描述成计算机世界的记录。 信息世界信息世界是现实世界在人们头脑中的反映,是对客观事物及其联系的一种抽象描述,一般采用实体联系方法(E-R方法)表示。 计算机世界计算机世界可称作数据世界,是在信息世界基础上的进一步抽象,使用的方法为数据模型的方法。,第2节 数据模型,2.数据模型,数据模型就是现
5、实世界的模拟和抽象。 数据模型的组成 数据模型的分类,数据模型的组成,数据结构 数据结构是所研究的对象类型的集合。 数据操作 数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作集合,包括操作及有关的操作规则。 完整性约束:实体完整性、参照完整性、用户定义的完整性 数据的约束条件是一组完整性规则的集合。,数据模型的分类,概念模型 逻辑模型(结构数据模型) 物理模型,(1).概念模型,概念数据模型对应于视图层,是面向计算机用户、面向现实世界的数据模型,它与DBMS无关,不依赖于具体的计算机系统它主要用于应用系统开发的有关需求分析,描述一个单位的概念化结构,将现实世界抽象为信息世界。这类
6、模型主要用于信息世界的建模,强调语义表达能力,能方便、直接地表达应用中各种语义知识,其概念简单、清晰用户容易理解。 概念数据模型主要有:实体-联系模型(E-R模型)、扩展实体联系模型(EER模型),概念数据模型用于数据库的设计。,(2).逻辑模型,数据库的组织形式称为逻辑数据模型,它决定了数据库中数据之间联系的表达方式。在建立了概念数据模型后,即根据一定的规则将其转化为逻辑数据模型。目前,常用的逻辑数据模型有三种:层次模型、网状模型、关系模型。,层次模型(Hierachical Model):,数据之间的联系像一棵倒放的树,树根、树的分枝点和树叶都称为节点,节点是分层次的,树根是最高层。军队中
7、的建制、机关编制、家谱等都属于层次模型。,A,B1,B2,C1,C2,c1,结构特点:只能有一个根节点;其他节点只能有一个父节点 优点:记录之间的联系是通过指针实现,查询效率高 缺点:只能表示一对多的联系;编写应用程序复杂,网络模型(Network Model):,数据之间的联系象一张网,网上的联接点称为节点,节点与节点之间是平等的,不分层次。学校中教师、学生、教室、课程、成绩之间的联系就可以是网络模型。,R1,R2,R3,R4,R5,结构特点:有一个以上的节点无父节点;节点可以有多个父节点 优点:用指针实现记录之间的联系,存取效率高 缺点:编程比较复杂.,关系模型(Relational Mo
8、del):,关系模型是当前DBMS所支持的数据模型的主流,关系模型建立在集合论的基础上,它将数据组织成若干张二维表,不论是实体本身还是实体间的联系都用二维表加以描述。,学生.DBF,课程.DBF,选修.DBF,例:学生、课程是实体的型,选修是联系,它们都用二维表结构来描述,(3).物理模型,物理数据模型反映数据的存储结构,例如存储介质的物理块、指针和索引等。每个逻辑数据模型在实现时,都有其对应的物理数据模型。物理数据模型不但与DBMS有关,而且还与计算机系统的硬件和操作系统有关。物理数据模型和逻辑数据模型用于DBMS的实现。,第3节 数据库体系结构,从数据库管理系统角度看,数据库系统通常采用三
9、级模式结构 数据库模式的概念 数据库系统的三级模式结构 数据库的两级映射功能与数据独立性,数据模式的概念,在数据模型中有值与型的概念 模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。模式的主体就是数据库的数据模型。 模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。,数据库系统的三级模式结构: 模式、外模式、内模式,01010101010101111 11111110000010101 0101010101010101,模式,内模式,N个外模式,外模式:也称子模式(Subschema)或用户模式,它是数据库用户(包括应用程
10、序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 外模式通常是模式的子集。一个数据库可以有多个外模式。一个应用程序只能使用一个外模式。,模式也称为概念模式,是数据库中全体数据的总体逻辑结构和特征的描述,是所有用户的公共数据视图。 模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。,内模式 :也称存储模式(Storage Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。,数据库系统的分层视图,数据库的两级映射功能与数据独立性,数据库管理系统在三级模式之
11、间提供了两层映射:外模式/模式映射;模式/内模式映射。正是这两层映射保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 外模式/模式映射 模式/内模式映射,1.外模式/模式映射,模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映射,它定义了该外模式与模式之间的对应关系。这些映射定义通常包含在各自外模式的描述中。 当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映射作相应改变,力求外模式保持不变。应用程序是依据数据的外模式编写的,
12、从而应用程序减少修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。,2.模式/内模式映射,数据库中只有一个模式,也只有一个内模式,所以模式/内模式映射是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。 当数据库的存储结构改变了(例如选用了另一种存储结构),可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。,第4节 关系数据库基础,关系模型的基本概念 关系的形式化定义 关系代数基础 结构化查询语言(SQL)基础,p200,7.4.1 关系模型的基本概念 1.关系的数据结构,关系模型的数据结构非常单一。在关系模型中,现实世界的实体以
13、及实体间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构就是二维表。,2.关系的基本操作,查询(Query)操作:选择(Select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)等。维护操作:插入(Insert)删除(Delete)更新(Update)等。,3.关系的基本约束,关系模型的三类完整性:实体完整性、参照完整性和用户定义的完整性。实体完整性:是通过主键约束来实现的,即关系中的主键不能为空、不能有相同的值。参照完整性:是通过外键约束来实现,规定外键的取值在参照关系中存在或为空。
14、用户定义的完整性是对属性取值的约束。,返2,p201,7.4.2关系的形式化定义,域(Domain) 笛卡尔积(Cartesian Product) 关系(Relation),1.域:是一组有相同数据类型的值的集合。例 性别域为 男,女在设计数据库时,域的概念体现在字段有效规则中,例:姓名域D1= 性别域D2=则 D1D2=显然这是无意义的,但在数学上是对的。这里共有6个元组出现。,2.笛卡尔积(Cartesian Product),张三,李四,王五,男,女,(张三,男),(张三,女),(李四,男), (李四,女),(王五,男),(王五,女),3.关系(relation),关系的数学定义:关系
15、是一个有意义的笛卡尔子集,4.关系的性质,关系数据模型中的关系必须是有限集。 任意两个元组不能完全相同。 每一列的所有数据都属于同一种类型,必须来自同一个域; 关系中的每一列都是不可再分的; 不同的列可出自同一个域,不同的属性要有不同的属性名; 列的顺序与行的次序可以任意交换,不影响它们所表示的信息内容;,显然职业与兼职是来自同一个域,7.4.3关系代数基础,基本运算选择、投影、并、差、积 其它运算交、自然连接、除 等注意:交、自然连接、除等运算可以由基本运算定义,1.选择运算,选择运算是从关系中选择某些满足条件的元组构成一个新的关系。通常选择运算表达式记为: (R).例如,要从学生关系中选择
16、女生的元组关系代数表达式为:,学号 姓名 性别 06002657 王远征 男 06002782 李守财 女 06002792 张小冬 男 05001234 韩龙妹 女 05001343 窦旭升 男,学号 姓名 性别06002782 李守财 女 05001234 韩龙妹 女,性别=女(学生),Select * From 学生 Where 性别=女,SQL语句:,在access中 执行SQL,学生.DBF,p204,2.投影运算(project),投影运算是从关系中选择某些属性列构成个新的关系。投影的结果将消除重复元组。通常投影运算表达式记为:A,B(R),其中A和B是属性名,R是一个关系。 有学生关系R,列出学生的姓名和专业,其投影运算表达式应写成:姓名,专业(学生)投影运算是对关系在垂直方向的操作.,投影举例: 列出学生姓名和专业,