版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章数据库技术及应用基础
本章要点基本概念数据模型数据库技术的发展历程和发展方向常用数据库开发平台关系数据库标准语言SQL简介数据库技术应用实例第六章数据库技术及应用基础本章要点基本概念理解数据、信息、数据处理的概念理解数据库、数据库管理系统和数据库系统的概念了解数据库的特点、数据库管理系统的功能和数据库系统的组成了解数据管理技术的发展的三个阶段学习目标6.1基本概念理解数据、信息、数据处理的概念学习目标6.1基本概念6.1基本概念6.1.1数据、信息和数据处理6.1.2数据库、数据库管理系统和数据库系统
6.1.3数据管理技术的发展6.1基本概念6.1.1数据、信息和数据处理6.1.2数据(Data):在一般意义上被认为是对客观事物特征所进行的一种抽象化、符号化的表示,本身并没有实际意义。数据可以有不同的形式,包括数字、文字、图形、图象、视频、声音等都是数据。可以说,凡是能被计算机处理的对象都可以称为数据。信息(Information):通常意义上被认为是有一定含义的、经过加工处理的、有价值的数据。数据经过处理仍然是数据,只有经过解释后才有意义,才成为信息。数据处理:是将数据转换成信息的过程,它包括对原始数据的收集、分类、存储、排序、检索、加工和传输等一系列活动。其目的是从大量的原始数据中抽取和推导出有价值的信息。为了更好地提高信息的价值,必须用数据库技术来管理信息。
6.1.1数据、信息和数据处理数据(Data):在一般意义上被认为是对客观事物特征所进行的数据库(DB,DataBase):是存放数据的仓库。但所存放的数据并不是杂乱无章的,而是长期存储在某种存储介质上的有组织的、可共享的相关数据的集合。数据库中的数据具有较高的数据共享性、独立性、完整性及较低的数据冗余度。
6.1.2数据库、数据库管理系统和数据库系统
数据库(DB,DataBase):是存放数据的仓库。但所存放数据库管理系统(DBMS,DataBaseManagementSystem)数据库管理系统是用来对数据库进行集中统一的管理,是帮助用户创建、维护和使用数据库的系统软件,从这个意义上说,DBMS是用户与数据库之间的接口。
DBMS的功能
数据定义:DBMS提供数据定义语言(datadefinitionlanguage,DDL),用户利用DDL可以方便地对数据库中的数据对象进行定义。数据操纵:DBMS提供数据操纵语言(datamanipulationlanguage,DML),用户通过DML实现对数据的检索、插入、修改、删除和统计等数据存取及处理功能。数据库的运行管理:包括数据的完整性、安全性及并发控制的管理。数据库的建立与维护:包括数据的输入、转换,数据库的转储、恢复、重组及性能检测和分析等。
6.1.2数据库、数据库管理系统和数据库系统数据库管理系统(DBMS,DataBaseManageme数据库系统(DBS,DataBaseSystem)数据库系统指在计算机系统中引进数据库技术后的整个系统,数据库系统由数据库、数据库管理系统、应用开发工具(如:Delphi,VisualBasic,VisualC++等)、应用系统(用户或专业软件开发人员编写的应用程序)、数据库管理员和用户构成。数据库关注的是数据,数据库管理系统强调的是系统软件,是整个数据库系统的核心,而数据库系统侧重的是数据库的整个运行系统。
6.1.2数据库、数据库管理系统和数据库系统数据库系统(DBS,DataBaseSystem)6.1.6.1.2数据库、数据库管理系统和数据库系统用户用户用户应用开发工具数据库管理系统操作系统应用系统数据库管理员数据库数据库系统6.1.2数据库、数据库管理系统和数据库系统用户用户用户数据处理是计算机的主要应用领域,其面临着如何管理大量复杂的数据,即计算机数据管理成了数据处理的中心问题,数据管理技术是伴随着计算机软、硬件技术与数据管理手段的发展而发展,它的发展经历了以下三个阶段:
人工管理阶段(20世纪40年代中—50年代中)文件系统阶段(20世纪50年代末--60年代中)数据库系统阶段(20世纪60年代末--现在)6.1.3数据管理技术的发展数据处理是计算机的主要应用领域,其面临着如何管理大量复杂的数时期20世纪40年代中--20世纪50年代中产生的背景应用需求 科学计算 硬件水平无直接存取存储设备 软件水平没有操作系统 处理方式 批处理 6.1.3数据管理技术的发展
1人工管理阶段时期6.1.3数据管理技术的发展1人工管理阶段应用程序与数据的对应关系(人工管理)6.1.3数据管理技术的发展
应用程序1数据集1应用程序2数据集2应用程序n数据集n...…...…应用程序与数据的对应关系(人工管理)6.1.3数据管理技术时期20世纪50年代末--20世纪60年代中产生的背景应用需求 科学计算、管理 硬件水平 磁盘、磁鼓 软件水平 有文件系统 处理方式 联机实时处理、批处理6.1.3数据管理技术的发展
2文件系统管理阶段时期6.1.3数据管理技术的发展2文件系统管理阶段应用程序与数据的对应关系(文件系统)6.1.3数据管理技术的发展
应用程序1文件1应用程序2文件2应用程序n文件n文件管理系统...…...…应用程序与数据的对应关系(文件系统)6.1.3数据管理技术数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序数据控制能力:应用程序自己控制6.1.3数据管理技术的发展
文件系统管理阶段特点数据的管理者:文件系统,数据可长期保存6.1.3数据管理技时期20世纪60年代末以来产生的背景应用背景 大规模管理 硬件背景 大容量磁盘 软件背景 有数据库管理系统 处理方式 联机实时处理,分布处理,批处理6.1.3数据管理技术的发展
3数据库管理阶段时期6.1.3数据管理技术的发展3数据库管理阶段应用程序与数据的对应关系(数据库系统)6.1.3数据管理技术的发展
DBMS应用程序1应用程序2数据库…应用程序与数据的对应关系(数据库系统)6.1.3数据管理技数据的管理者:DBMS数据面向的对象:现实世界 数据的共享程度:共享性高 数据的独立性:高度的物理独立性和一定的逻辑独立性 数据的结构化:整体结构化数据控制能力:由DBMS统一管理和控制6.1.3数据管理技术的发展
数据库系统特点返回数据的管理者:DBMS6.1.3数据管理技术的发展数据库了解现实世界、信息世界和机器世界的关系;了解数据模型的两个层次;理解信息世界所涉及的概念(实体、属性、联系);掌握E-R图表示的基本方法;了解层次模型、网状模型;理解关系模型的基本概念(包括关系、元组、属性、域、关键字、主键、外键等)、关系模型的特点及关系的三种基本运算(选择、投影、连接)。
学习目标6.2数据模型了解现实世界、信息世界和机器世界的关系;学习目标6.2数据6.2数据模型6.2.1数据模型的基本概念6.2.2概念模型及其表示
6.2.3常见的三种数据模型6.2数据模型6.2.1数据模型的基本概念6.2.2概数据模型就是现实世界的模拟,是对客观事物及其联系的抽象描述。在数据库系统中针对不同的使用对象和不同的应用目的,可采用不同层次的数据模型。数据模型大致分为两个不同层次:概念模型:也称信息模型,是按用户的观点对数据和信息进行建模,是现实世界到信息世界的第一层抽象;基本数据模型:是按计算机系统的观点对数据进行建模,是概念模型的数据化。
6.2.1数据模型的基本概念数据模型就是现实世界的模拟,是对客观事物及其联系的抽象描述。数据从现实世界到计算机里的具体表示一般要经历现实世界、信息世界和机器世界三个阶段。这三个世界的关系如下图所示。
6.2.1数据模型的基本概念现实世界信息世界数据世界抽象化数据化概念模型(E—R模型)DBMS能够支持的数据模型数据从现实世界到计算机里的具体表示一般要经历现实世界、信息世在进行数据库设计时,必须首先给出概念模型,它不涉及DBMS,它只描述实体的存在及联系。
概念模型的用途概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言对概念模型的基本要求较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识;简单、清晰、易于用户理解。6.2.2概念模型及其表示在进行数据库设计时,必须首先给出概念模型,它不涉及DBMS,概念模型的最常用方法是P.P.Chen于1976年提出的实体—联系方法(E-R图法,Entity-RelationshipApproach)。E-R图法提供了表示实体集、属性和联系的方法,在E-R图中:实体:用矩形框表示,框内标明实体名。属性:用椭圆框表示,框内标明属性名。联系:用菱形框表示,框内标明联系名。实体与其属性之间以无向边连接,菱形框及相关实体之间也用无向边连接,并在无向边旁标明联系的类型。6.2.2概念模型及其表示概念模型的最常用方法是P.P.Chen于1976年提出的实体E-R图中三种基本图素内涵如下:实体(Entity):通常是现实世界中客观存在的可以相互区分的事物,例如一个学生、一台计算机等;也可以是抽象的概念,例如一场比赛、一门课程等。实体集是具有相同属性的实体集合。例如学校所有学生具有相同的属性,因此,学生的集合可以定义为一个实体集。属性(Attribute):是描述对象的某个特性,如:学生实体可用学号、姓名、性别、出生日期等属性来描述;课程实体可用课程号、课程名、学分等属性来描述。联系(Relationship):是实体间的相互关系。它反映了客观事物间相互依存的状态。6.2.2概念模型及其表示E-R图中三种基本图素内涵如下:6.2.2概念模型及其表示联系(Relationship)
现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系两个不同实体集之间的联系有三种类型:一对一联系(1:1):如果对于实体集A中的每个实体,实体集B中至多有一个实体(也可以没有)与之联系,反之亦然,则称实体集A与实体集B具有一对一的联系,记为1:1。一对多联系(1:n):如果对于实体集A中的每个实体,实体集B中有多个实体与之联系,反之,对于实体集B中的每个实体,实体集A中至多有一个实体与之联系,则称实体集A与实体集B具有一对多的联系,记为1:n。多对多联系(m:n):如果对于实体集A中的每个实体,实体集B中有多个实体与之联系,反之,对于实体集B中的每个实体,实体集A中也有多个实体与之联系,则称实体集A与实体集B具有多对多的联系,记为m:n。6.2.2概念模型及其表示联系(Relationship)6.2.2概念模型及其E-R模型的表示方法
6.2.2概念模型及其表示班长组织班级111:1联系学生选修课程mnm:n联系班级属于学生1n1:n联系姓名班号成绩E-R模型的表示方法6.2.2概念模型及其表示班长组织班级运用E-R方法可以方便地进行概念模型设计。概念模型设计是对实体的抽象过程:第一步:根据各个局部应用设计出分E-R图。第二步:综合各分E-R图得到初步E-R图,在综合过程中主要的工作是消除冲突。第三步:对初步E-R图消除冗余,得到基本E-R图。6.2.2概念模型及其表示运用E-R方法可以方便地进行概念模型设计。6.2.2概念模以教学管理系统为例经需求分析后,可确定如下实体:学生:学号、姓名、性别、出生日期、地址、…课程:课程号、课程名称、学时、学分、…班级:班级号、班级名称、入学时间、…专业:专业号、专业名称、专业类型、…教师:教师号、姓名、性别、出生日期、职称、…系:系名称、系地址、电话、…6.2.2概念模型及其表示以教学管理系统为例6.2.2概念模型及其表示以上各实体间的联系如下:一个学生可选修多门课,一门课可为多个学生选修;一个学生只属于一个班,一个班有多名学生;一个班只属于一个专业,一个专业拥有多个班;一个教师可讲授多门课,一门课可由多名教师讲授;一个系有多名教师,一个教师只属于一个系。经分析可分为三个局部E-R图,分别是:学生学籍、学生选课、教师任课6.2.2概念模型及其表示以上各实体间的联系如下:6.2.2概念模型及其表示第一步局部E-R模型设计学生学籍局部E-R图如下:6.2.2概念模型及其表示专业班级学生属于拥有1n1n专业号专业名专业类型班级号班级名入学时间学号姓名性别出生日期地址第一步局部E-R模型设计6.2.2概念模型及其表示专业班级学生选课局部E-R图如下:6.2.2概念模型及其表示课程学生选修nm课程号课程名学时学号姓名性别出生日期地址学分成绩学生选课局部E-R图如下:6.2.2概念模型及其表示课程学教师任课局部E-R图如下:6.2.2概念模型及其表示系教师课程任职讲授1nmn系名称系地址电话教师号姓名出生日期课程号课程名学时学分性别职称水平教师任课局部E-R图如下:6.2.2概念模型及其表示系教师第二步合并成初步E-R模型合并后的初步E-R图如下:6.2.2概念模型及其表示专业班级学生属于拥有1n1n选修课程mn成绩教师系任职1n拥有mn水平第二步合并成初步E-R模型6.2.2概念模型及其表示专业班在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。数据模型应满足三方面要求:能比较真实地模拟现实世界;容易为人所理解;便于在计算机上实现;数据模型的三要素:
数据结构、数据操作和完整性规则(结束)。目前成熟地应用在数据库系统中的数据模型有:
层次模型、网状模型和关系模型。6.2.3常见的三种数据模型在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数层次模型用树型结构来表示实体之间联系的模型叫层次模型。层次模型必须满足下面两个条件:有且只有一个结点没有双亲结点,这个结点称为根结点根以外的其它结点有且只有一个双亲结点层次模型中的几个术语根结点,双亲结点,兄弟结点,叶结点6.2.3常见的三种数据模型1层次模型层次模型6.2.3常见的三种数据模型1层次模型层次模型样例6.2.3常见的三种数据模型学院科室教研室处系科室教研室层次模型样例6.2.3常见的三种数据模型学院科室教研室处系网状模型满足下面两个条件的基本层次联系的集合为网状模型。允许一个以上的结点无双亲;一个结点可以有多于一个的双亲。6.2.3常见的三种数据模型2网状模型网状模型6.2.3常见的三种数据模型2网状模型网状模型样例6.2.3常见的三种数据模型卫生厅教育厅医科大学工科大学机械系建筑系网状模型样例6.2.3常见的三种数据模型卫生厅教育厅医科大关系模型的基本概念关系模型是目前使用最广的数据模型。关系数据库系统采用关系模型作为数据的组织方式,现在流行的数据库管理系统几乎都支持关系模型,如SQLServer、Oracle、Access、FoxPro等。关系模型具有特别强的数据表示能力,可表示一对一、一对多和多对多的联系。在关系模型中,用一个二维表格来描述实体及其之间的联系。6.2.3常见的三种数据模型3关系模型关系模型的基本概念6.2.3常见的三种数据模型3关关系模型中的常用术语:关系(Relation):对应通常所说的二维表。元组(Tuple):表中的一行称为一个元组。属性(Attribute):表中的一列称为一个属性,列名称为属性名,列值称为属性值。关键字(Key):能够唯一确定一个元组的属性集合称为关键字。主键(PrimaryKey):表中可能有多个关键字,在应用中被选用的关键字称为主键。域(Domain):属性的取值范围称为域。外键(ForeignKey):若属性集合S存在于关系R1中,但不是关系R1的主键;它同时也存在于关系R2中,而且是关系R2的主键,则S是关系R1相对于R2的外键。6.2.3常见的三种数据模型关系模型中的常用术语:6.2.3常见的三种数据模型关系模型中的常用术语:关系模式(RelationMode):对关系的描述,一般表示为关系名(属性名1,属性名2,……,属性名n)例如,学生关系模式可描述为:学生(学号,姓名,性别,出生日期,专业)主属性:组成主键的属性非主属性:一个关系模式中不是主属性的属性6.2.3常见的三种数据模型关系名关系模式元组属性和属性名(字段)关系主键外键关系模型中的常用术语:6.2.3常见的三种数据模型关系名关关系模型的特点:对于一个符合关系模型的二维表格,通常将其中的每一列称为一个字段(Field);而将其中的每一行称为一个记录(Record)。一张二维表格若能构成一个关系模型,必须满足一定的条件,即关系必须规范化,一个规范化的关系必须具备以下几个特点:每一列不可再分,即不能表中有表;关系的每一列上,属性值应取自同一值域;在同一个关系中不能有相同的属性名;在同一个关系中不能有完全相同的元组;在一个关系中行、列的顺序无关紧要。
6.2.3常见的三种数据模型关系模型的特点:6.2.3常见的三种数据模型关系模型的基本运算:在一个关系中访问数据时,必然要进行一定的关系运算,关系模型主要支持的三种基本关系运算为:选择、投影和连接,它们操作的对象和结果都是关系。
选择运算从一个关系或二维表格中找出满足给定条件的记录行的操作称为选择。选择运算是对单个关系施加的运算,是从水平方向(即行的方向)上进行的选择,其结果构成一个新的关系,这个关系是原关系上的一个子集,其关系模式不变。例:从学生表中筛选出“计算机”专业的记录,可用SQL语句表示为:
SELECT*FROM学生WHERE专业=‘计算机’
6.2.3常见的三种数据模型关系模型的基本运算:6.2.3常见的三种数据模型
投影运算从一个关系或二维表格中找出若干个属性列组成新的关系的操作称为投影。投影运算也是对单个关系施加的运算,是从垂直方向(即列的方向)上进行的运算,投影运算的结果也形成新的关系,其关系模式所包含的字段(属性)个数往往比原关系少,或者字段(属性)排列的顺序将有所不同,它是原关系的一个子集。例:从学生表中筛选出所需的列(学号、姓名、专业),可用SQL语句表示为:SELECT学号,姓名,专业FROM学生6.2.3常见的三种数据模型投影运算6.2.3常见的三种数据模型
连接运算将两个关系表中的记录按一定的条件横向结合,组成一个新的关系表的操作称为连接。最常见的连接运算是自然连接,它是利用两个关系中所共有的一个字段,
将该字段值相等的记录内容连接起来,自动剔除掉重复的字段作为新关系中的一条记录。连接运算是对两个或两个以上的表施行的运算,如果需要连接的是两个以上的表,则应当进行两两关系连接,而连接过程是通过连接条件来控制的。例:从表中筛选出“课程号”为C01的列(姓名、课程号、成绩),可用SQL语句表示为:SELECT姓名,课程号,成绩FROM学生,成绩WHERE学生.学号=成绩.学号AND课程号=‘C01’6.2.3常见的三种数据模型返回连接运算6.2.3常见的三种数据模型返回了解数据库技术发展的三个阶段了解数据库技术的发展方向。
学习目标6.3数据库技术的发展历程和发展方向了解数据库技术发展的三个阶段学习目标6.3数据库技术的发展6.3数据库技术的发展历程和发展方向6.3.1数据库技术的发展历程6.3.2数据库技术的发展方向6.3数据库技术的发展历程和发展方向6.3.1数据库技术数据库技术的发展,已经成为信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术最初产生于20世纪60年代中期,根据数据模型的发展,可以划分为以下三个阶段:第一代的网状、层次数据库系统
第二代的关系数据库系统
第三代的以面向对象模型为主要特征的数据库系统
6.3.1数据库技术的发展历程数据库技术的发展,已经成为信息技术的重要组成部分,是现代计算计算机硬件的发展和数据库技术的广泛使用,推动着数据库技术与系统的发展。尤其是互联网的出现,极大地改变了数据库的应用环境,向数据库领域提出了前所未有的技术挑战。这些因素的变化推动着数据库技术的进步,衍生出一批新的数据库技术,如Web数据库技术、并行数据库技术、数据仓库(DataWarehouse,DW)与联机分析处理(LineAnalyticalProcessing,OLAP)技术、数据挖掘(DataMining,DM)与商务智能技术、内容管理技术、海量数据管理技术等。这些数据库技术将促使数据库向智能化集成化方向发展。6.3.2数据库技术的发展方向返回计算机硬件的发展和数据库技术的广泛使用,推动着数据库技术与系了解数据库开发平台了解使用SQLServer2000的基本方法
学习目标6.4常用数据库开发平台了解数据库开发平台学习目标6.4常用数据库开发平台6.4常用数据库开发平台6.4.1认识数据库开发平台6.4.2AccessXP6.4.3SQLServer20006.4常用数据库开发平台6.4.1认识数据库开发平台6.使用数据库开发平台的目的就是建立数据库,将数据库的设计方案付与实施。按数据库的观点这些软件可划分为如下的两大类。数据库服务器这一类数据库软件常见的有SQLServer、Oracle、Sybase、MySQL等,它们都是大型的数据库开发平台,重点在于后端数据库的管理,它们的数据库都是隐身于后的“服务器”。其主要功能有:强大的数据库引擎、高度的数据安全、备份及还原、不同数据库之间的数据转换等。
桌面型数据库软件目前,最流行的桌面型数据库软件有Access和VisualFoxPro等,它们都是小型的数据库开发平台,其特点是易学易用,适合建立小型数据库。其主要特色有:强大的窗体及报表制作能力、强化数据库的工具和易学易用的操作界面等。
6.4.1认识数据库开发平台使用数据库开发平台的目的就是建立数据库,将数据库的设计方案付作为MicrosoftOffice组件之一的MicrosoftAccess是在Windows环境下最具代表性的桌面型数据库开发平台。使用MicrosoftAccess无需编写任何代码,只需通过直观的可视化操作就可以轻松地创建数据库和数据表,并进行有效的管理。AccessXP的使用方法。
6.4.2AccessXP作为MicrosoftOffice组件之一的MicrosoAccessXP是一种关系型数据库管理系统。
数据库的组成在AccessXP中,一个数据库包含的对象有表、查询、窗体、报表、宏、模块和页。
表:是数据库中最基本的对象,没有表也就没有其他对象。查询:就是从一个或多个表(或查询)中选择一部分数据,将它们集中起来,形成一个全局性的集合,供用户查看。窗体:是用户与数据库交互的界面,是数据库维护的一种最灵活的方式。6.4.2AccessXPAccess数据库的建立和维护AccessXP是一种关系型数据库管理系统。6.4.2数据库的组成
报表:Access中的报表与现实生活的报表是一样的,是一种按指定的样式格式化的数据形式。宏:宏是若干个操作的组合,可用来简化一些经常性的操作。模块:在模块中,用户可以用VBA语言编写函数过程或子程序。页:是Access2003中新增加的对象。用户通过创建页(Web),把数据库中的数据向Internet或Intranet上发布。6.4.2AccessXP数据库的组成6.4.2AccessXP数据库的建立
设计一个数据库的关键就集中体现在建立基础表上。字段数据类型
文本型(Text)
备注型(Memo)数字型(Number)日期/时间型(Date/Time)
货币型(Currency)
自动编号型(AutoNumber)
是/否型(Yes/No)OLE对象(OLEObject)6.4.2AccessXP数据库的建立6.4.2AccessXP字段属性确定数据类型之后,还应设定字段属性才能更准确地确定数据的存储。
字段大小
格式
小数位数
标题
默认值
有效性规则
有效性文本
索引
6.4.2AccessXP字段属性6.4.2AccessXP表的建立
建立表有三种方法。除了使用设计器创建表之外,还能使用向导创建表和通过输入数据创建表。数据库的管理与维护
数据库的管理与维护主要就是表的管理与维护。向表中输入、修改、删除数据
表结构的修改数据的导出和导入表的复制、删除、恢复和更名6.4.2AccessXP表的建立6.4.2AccessXPSQLServer2000是美国微软公司在大型关系数据库领域的旗舰产品,它使用传统的Transact-SQL语言,基于客户机/服务器,将所有的工作分解为客户机任务和服务器任务,由两者分别完成。它的可靠性和易用性使其成为一个杰出的数据库平台,可用于大型联机事务处理、数据仓库及电子商务等。SQLServer2000提供了功能强大而又使用便捷的三个管理工具:服务器管理器、企业管理器和查询管理器。6.4.3SQLServer2000SQLServer2000是美国微软公司在大型关系数据库服务管理器SQLServer服务管理器的主要作用是用来启动数据库服务器的实时服务、暂停和停止正在运行的服务,或在暂停服务后继续服务。
6.4.3SQLServer2000服务管理器6.4.3SQLServer2000企业管理器
企业管理器是SQLServer中最重要和最常用的管理工具,它可以完成大多数的数据库管理工作,如用户、登录、权限的管理;创建和管理数据库;创建和管理表、视图、存储过程、触发器、索引、规则等SQLServer的数据库对象和用户自定义数据类型及导入与导出数据等。
6.4.3SQLServer2000企业管理器6.4.3SQLServer2000查询分析器SQLServer2000提供的查询管理器既可使用户交互式地输入和执行各种Transact-SQL语句,方便地编写查询程序;又可迅速地查看这些语句的执行结果,来完成对数据库中数据的分析和处理。这是一个非常实用的管理工具。6.4.3SQLServer2000返回查询分析器6.4.3SQLServer2000返回了解SQL语言的特点;掌握使用AccessXP的基本方法(包括建立数据库、数据表、表间的联系及进入SQL查询窗口等);掌握在AccessXP的“SQL查询”窗口中使用SELECT语句实现简单查询、条件查询和自然连接查询的方法。学习目标6.5关系数据库标准语言SQL简介了解SQL语言的特点;学习目标6.5关系数据库标准语言SQ6.5关系数据库标准语言SQL简介6.5.1SQL概述6.5.2SQL数据查询语句6.5关系数据库标准语言SQL简介6.5.1SQL概述6SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。SQL语言是一种介于关系代数与关系演算之间的语言,其功能包括数据定义、数据查询、数据操纵和数据控制等4个方面,是一个通用的功能极强的关系数据库标准语言。SQL语言已经被确定为关系数据库系统的国际标准,被绝大多数商品化的关系数据库系统采用。如Oracle、DB2、SQLServer、Sybase等。6.5.1SQL概述SQL是英文StructuredQueryLanguagSQL语言的组成数据定义(DDL,DataDefinitionLanguage)数据操纵DML(DataManipulationLanguage)数据控制(DCL,Datacontrollanguage)6.5.1SQL概述SQL语言的组成6.5.1SQL概述SQL语言的特点非过程化语言面向集合的操作方式两种使用方式:可以作为独立语言和嵌入某种高级语言中使用SQL是一种语言标准语言简洁、功能强大:SQL语言功能极强,完成核心功能只用了9个动词,包括如下四类:数据查询:SELECT数据定义:CREATE、DROP、ALTER数据操纵:INSERT、UPDATE、DELETE数据控制:GRANT、REVOKE6.5.1SQL概述SQL语言的特点6.5.1SQL概述定义基本表的SQL语句CREATETABLE<表名>(<列名><数据类型>[<列级完整性约束条件>][,<列名><数据类型>[<列级完整性约束条件>]]…[,<表级完整性约束条件>]);<表名>:所要定义的基本表的名字<列名>:组成该表的各个属性(列)<列级完整性约束条件>:涉及相应属性列的完整性约束条件<表级完整性约束条件>:涉及一个或多个属性列的完整性约束条件6.5.2SQL数据查询语句定义基本表的SQL语句6.5.2SQL数据查询语句[例1]建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一。CREATETABLEStudent(SnoCHAR(5)PrimaryKey,SnameCHAR(20)UNIQUE,SsexCHAR(1),SageINT,SdeptCHAR(15));6.5.2SQL数据查询语句[例1]建立一个“学生”表Student,它由学号Sno常用完整性约束主码约束:PRIMARYKEY唯一性约束:UNIQUE非空值约束:NOTNULL参照完整性约束PRIMARYKEY与UNIQUE的区别?6.5.2SQL数据查询语句常用完整性约束6.5.2SQL数据查询语句修改基本表的SQL语句ALTERTABLE<表名>[ADD<新列名><数据类型>[完整性约束]][DROP<完整性约束名>][MODIFY<列名><数据类型>];<表名>:要修改的基本表ADD子句:增加新列和新的完整性约束条件DROP子句:删除指定的完整性约束条件MODIFY子句:用于修改列名和数据类型6.5.2SQL数据查询语句修改基本表的SQL语句6.5.2SQL数据查询语句[例2]向Student表增加“入学时间”列,其数据类型为日期型。ALTERTABLEStudentADDScomeDATE;不论基本表中原来是否已有数据,新增加的列一律为空值。
6.5.2SQL数据查询语句[例2]向Student表增加“入学时间”列,其数据类型删除基本表的SQL语句DROPTABLE<表名>;
基本表被删除,则表中数据、表上的索引都删除;表上的视图往往仍然保留,但无法引用。删除基本表时,系统会从数据字典中删去有关该基本表及其索引的描述
6.5.2SQL数据查询语句删除基本表的SQL语句6.5.2SQL数据查询语句查询语句SELECT的格式SELECT[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…FROM<表名或视图名>[,<表名或视图名>]…[WHERE<条件表达式>][GROUPBY<列名1>[HAVING<条件表达式>]][ORDERBY<列名2>[ASC|DESC]];6.5.2SQL数据查询语句查询语句SELECT的格式6.5.2SQL数据查询语句SELECT子句:指定要显示的属性列(所有列用*)FROM子句:指定查询对象(基本表或视图)WHERE子句:指定查询条件GROUPBY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用集函数。HAVING短语:筛选出只有满足指定条件的组,只能与GROUPBY配合使用ORDERBY子句:对查询结果表按指定列值的升序或降序排序6.5.2SQL数据查询语句SELECT子句:指定要显示的属性列(所有列用*)6.5.2(1)比较运算符>、>=、<、<=、=、<>、!>、!<(2)范围运算符BETWEEN…AND…,NOTBETWEEN…AND…例1:SageBETWEEN20AND25等价于:Sage>=20ANDSage<=25例2:SageNOTBETWEEN20AND25等价于:Sage<20ORSage>256.5.2SQL数据查询语句条件运算符(1)比较运算符6.5.2SQL数据查询语句条件运算符(3)列表运算符[NOT]IN(列表项1,列表项2,……)例1:SsexIN(‘男’,‘女’)等价于:Ssex=‘男’ORSsex=‘女’例2:SdeptNOTIN(‘计算机系’,‘信息系’)等价于:Sdept<>‘计算机系’ANDSdept<>‘信息系’6.5.2SQL数据查询语句条件运算符(3)列表运算符6.5.2SQL数据查询语句条件运算符(4)模式匹配运算符[NOT]LIKE‘含通配字符的字符串’通配字符(在ACCESS中):*——任意类型和长度的字符?——单个任意字符例:SnameLIKE‘张*’SnameLIKE‘?四?’6.5.2SQL数据查询语句条件运算符(4)模式匹配运算符6.5.2SQL数据查询语句条件运算符(5)空值判断运算符IS[NOT]NULL例:所在系未确定的名单SdeptISNULL(6)逻辑运算符NOT、AND、OR例:计算机系的所有女生Ssex=‘女’ANDSdept=‘计算机系’6.5.2SQL数据查询语句条件运算符(5)空值判断运算符6.5.2SQL数据查询语句条件运算符若查询涉及两个以上的表且目标列中去掉相同的字段名,则称为自然连接查询。例:查询选修了课程号为“C1”的学生学号、姓名和成绩。SELECTStudent.Sno,Sname,GradeFROMStudent,ScoreWHEREStudent.Sno=Score.SnoANDCno=’C1’;注:如果字段名在各个表中是唯一的,可以把字段名前的表名去掉,否则就必须加上表名作为前缀,以免引起混淆。
6.5.2SQL数据查询语句自然连接查询若查询涉及两个以上的表且目标列中去掉相同的字段名,则称为自然查询结果排序[ORDERBY{order_by_expression
[ASC|DESC]}
[,...n]]例:从STUDENT表中列出所有信息。输出时要求首先按所在系降序排列,若是同一系的再按出生日期的先后顺序排列。SELECT*FROMstudentORDERBYSdeptDESC,Sbirthday6.5.2SQL数据查询语句查询结果排序6.5.2SQL数据查询语句数据统计函数计数COUNT(ALL|*|<列名>)计算总和SUM([ALL]|<列名>) 计算平均值AVG([ALL]|<列名>)求最大值MAX([ALL]|<列名>)求最小值MIN([ALL]|<列名>) 6.5.2SQL数据查询语句数据统计函数6.5.2SQL数据查询语句[例1]查询学生总人数。SELECTCOUNT(*)FROMStudent;[例2]计算C1号课程的学生平均成绩。SELECTAVG(Grade)FROMScoreWHERECno='C1';
[例3]查询选修C1号课程的学生最高分数。SELECTMAX(Grade)FROMScoreWHERCno='C1';6.5.2SQL数据查询语句[例1]查询学生总人数。6.5.2SQL数据查询语句使用GROUPBY子句分组细化统计函数的作用对象
未对查询结果分组,集函数将作用于整个查询结果对查询结果分组后,集函数将分别作用于每个组HAVING短语作用于组,从中选择满足条件的组。6.5.2SQL数据查询语句使用GROUPBY子句分组细化统计函数的作用对象6.5.2[例4]查询有3门以上课程是90分以上的学生的学号及(90分以上的)课程数。
SELECTSno,COUNT(*)FROMScoreWHEREGrade>=90GROUPBYSnoHAVINGCOUNT(*)>=3;6.5.2SQL数据查询语句[例4]查询有3门以上课程是90分以上的插入数据的INSERT语句格式INSERTINTO<表名>[(<属性列1>[,<属性列2>…)]VALUES(<常量1>[,<常量2>]…)功能:将新元组插入指定表中。6.5.2SQL数据查询语句插入数据插入数据的INSERT语句格式6.5.2SQL数据查询语句[例1]将一个新学生记录(学号:95020;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中。
INSERTINTOStudentVALUES('95020','陈冬','男','IS',18);[例2]
插入一条选课记录('95020','1')。INSERTINTOScore(Sno,Cno)VALUES('95020','1');新插入的记录在Grade列上取空值6.5.2SQL数据查询语句插入数据[例1]将一个新学生记录6.5.2SQL数据查询语句插修改数据的UPDATE语句格式UPDATE<表名>SET<列名>=<表达式>[,<列名>=<表达式>]…[WHERE<条件>];功能修改指定表中满足WHERE子句条件的元组6.5.2SQL数据查询语句修改数据修改数据的UPDATE语句格式6.5.2SQL数据查询语句[例3]将学生95001的年龄改为22岁。UPDATEStudentSETSage=22WHERESno='95001';[例4]将所有学生的年龄增加1岁。UPDATEStudentSETSage=Sage+1;6.5.2SQL数据查询语句修改数据[例3]将学生95001的年龄改为22岁。6.5.2S删除数据的DELETE语句格式
DELETEFROM<表名>[WHERE<条件>];功能删除指定表中满足WHERE子句条件的元组WHERE子句指定要删除的元组缺省表示要修改表中的所有元组6.5.2SQL数据查询语句删除数据删除数据的DELETE语句格式6.5.2SQL数据查询语句[例5]删除学号为95019的学生记录。DELETEFROMStudentWHERESno='95019';[例6]删除C2号课程的所有选课记录。DELETEFROMScore;WHERECno=‘C2';[例7]删除所有的学生选课记录。DELETEFROMScore;6.5.2SQL数据查询语句删除数据返回[例5]删除学号为95019的学生记录。6.5.2SQ了解数据库设计(包括概念结构的设计和逻辑结构的设计)了解数据库实施的基本方法。
学习目标6.6数据库技术应用实例了解数据库设计(包括概念结构的设计和逻辑结构的设计)学习目标6.6数据库技术应用实例6.6.1学生成绩管理数据库的设计6.6.2学生成绩管理数据库的实施6.6数据库技术应用实例6.6.1学生成绩管理数据库的设概念结构的设计
通过对学生成绩管理数据库的需求分析,设计出总体E-R图模型,如下图所示
6.6.1学生成绩管理数据库的设计课程学生选修nm课程号课程名学时学号姓名性别出生日期专业学分成绩概念结构的设计6.6.1学生成绩管理数据库的设计课程学生逻辑结构的设计
将E-R模型转换为关系模型,并以规范化理论为指导加以优化,转换的原则如下:每一个实体转换为一个关系模式以实体名为关系名(表名);以实体的属性为关系的属性(字段名);确定主码(关键字)属性。每个联系按照下列规则转换为关系模式一对一的联系:将一个表的主码作为外码放在另一个表中;一对多的联系:将“一”表中的主码作为外码放在“多”表中;多对多的联系:建立复合实体,复合实体的主码一般由两个(或多个以上)联系实体的主码复合组成。复合实体的主码也是外码,不能为空。复合实体的属性还应包括联系的属性。6.6.1学生成绩管理数据库的设计逻辑结构的设计6.6.1学生成绩管理数据库的设计逻辑结构的设计
根据转换的原则将学生成绩管理数据库的E-R模型转换为如下关系模型。学生(学号,姓名,性别,出生日期,专业)课程(课程号,课程名称,学时,学分)选修(学号,课程号,成绩)数据库逻辑设计的结果不是唯一的,为了获得好的关系数据库模式,还必须进行数据模型的优化,它必须以规范化理论为指导。
6.6.1学生成绩管理数据库的设计逻辑结构的设计6.6.1学生成绩管理数据库的设计使用AccessXP创建学生成绩管理数据库创建三个数据表并录入数据创建表间关联使用SQL语言查询数据库内容
6.6.2学生成绩管理数据库的实施返回使用AccessXP创建学生成绩管理数据库6.6.2学生第六章数据库技术及应用基础
本章要点基本概念数据模型数据库技术的发展历程和发展方向常用数据库开发平台关系数据库标准语言SQL简介数据库技术应用实例第六章数据库技术及应用基础本章要点基本概念理解数据、信息、数据处理的概念理解数据库、数据库管理系统和数据库系统的概念了解数据库的特点、数据库管理系统的功能和数据库系统的组成了解数据管理技术的发展的三个阶段学习目标6.1基本概念理解数据、信息、数据处理的概念学习目标6.1基本概念6.1基本概念6.1.1数据、信息和数据处理6.1.2数据库、数据库管理系统和数据库系统
6.1.3数据管理技术的发展6.1基本概念6.1.1数据、信息和数据处理6.1.2数据(Data):在一般意义上被认为是对客观事物特征所进行的一种抽象化、符号化的表示,本身并没有实际意义。数据可以有不同的形式,包括数字、文字、图形、图象、视频、声音等都是数据。可以说,凡是能被计算机处理的对象都可以称为数据。信息(Information):通常意义上被认为是有一定含义的、经过加工处理的、有价值的数据。数据经过处理仍然是数据,只有经过解释后才有意义,才成为信息。数据处理:是将数据转换成信息的过程,它包括对原始数据的收集、分类、存储、排序、检索、加工和传输等一系列活动。其目的是从大量的原始数据中抽取和推导出有价值的信息。为了更好地提高信息的价值,必须用数据库技术来管理信息。
6.1.1数据、信息和数据处理数据(Data):在一般意义上被认为是对客观事物特征所进行的数据库(DB,DataBase):是存放数据的仓库。但所存放的数据并不是杂乱无章的,而是长期存储在某种存储介质上的有组织的、可共享的相关数据的集合。数据库中的数据具有较高的数据共享性、独立性、完整性及较低的数据冗余度。
6.1.2数据库、数据库管理系统和数据库系统
数据库(DB,DataBase):是存放数据的仓库。但所存放数据库管理系统(DBMS,DataBaseManagementSystem)数据库管理系统是用来对数据库进行集中统一的管理,是帮助用户创建、维护和使用数据库的系统软件,从这个意义上说,DBMS是用户与数据库之间的接口。
DBMS的功能
数据定义:DBMS提供数据定义语言(datadefinitionlanguage,DDL),用户利用DDL可以方便地对数据库中的数据对象进行定义。数据操纵:DBMS提供数据操纵语言(datamanipulationlanguage,DML),用户通过DML实现对数据的检索、插入、修改、删除和统计等数据存取及处理功能。数据库的运行管理:包括数据的完整性、安全性及并发控制的管理。数据库的建立与维护:包括数据的输入、转换,数据库的转储、恢复、重组及性能检测和分析等。
6.1.2数据库、数据库管理系统和数据库系统数据库管理系统(DBMS,DataBaseManageme数据库系统(DBS,DataBaseSystem)数据库系统指在计算机系统中引进数据库技术后的整个系统,数据库系统由数据库、数据库管理系统、应用开发工具(如:Delphi,VisualBasic,VisualC++等)、应用系统(用户或专业软件开发人员编写的应用程序)、数据库管理员和用户构成。数据库关注的是数据,数据库管理系统强调的是系统软件,是整个数据库系统的核心,而数据库系统侧重的是数据库的整个运行系统。
6.1.2数据库、数据库管理系统和数据库系统数据库系统(DBS,DataBaseSystem)6.1.6.1.2数据库、数据库管理系统和数据库系统用户用户用户应用开发工具数据库管理系统操作系统应用系统数据库管理员数据库数据库系统6.1.2数据库、数据库管理系统和数据库系统用户用户用户数据处理是计算机的主要应用领域,其面临着如何管理大量复杂的数据,即计算机数据管理成了数据处理的中心问题,数据管理技术是伴随着计算机软、硬件技术与数据管理手段的发展而发展,它的发展经历了以下三个阶段:
人工管理阶段(20世纪40年代中—50年代中)文件系统阶段(20世纪50年代末--60年代中)数据库系统阶段(20世纪60年代末--现在)6.1.3数据管理技术的发展数据处理是计算机的主要应用领域,其面临着如何管理大量复杂的数时期20世纪40年代中--20世纪50年代中产生的背景应用需求 科学计算 硬件水平无直接存取存储设备 软件水平没有操作系统 处理方式 批处理 6.1.3数据管理技术的发展
1人工管理阶段时期6.1.3数据管理技术的发展1人工管理阶段应用程序与数据的对应关系(人工管理)6.1.3数据管理技术的发展
应用程序1数据集1应用程序2数据集2应用程序n数据集n...…...…应用程序与数据的对应关系(人工管理)6.1.3数据管理技术时期20世纪50年代末--20世纪60年代中产生的背景应用需求 科学计算、管理 硬件水平 磁盘、磁鼓 软件水平 有文件系统 处理方式 联机实时处理、批处理6.1.3数据管理技术的发展
2文件系统管理阶段时期6.1.3数据管理技术的发展2文件系统管理阶段应用程序与数据的对应关系(文件系统)6.1.3数据管理技术的发展
应用程序1文件1应用程序2文件2应用程序n文件n文件管理系统...…...…应用程序与数据的对应关系(文件系统)6.1.3数据管理技术数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序数据控制能力:应用程序自己控制6.1.3数据管理技术的发展
文件系统管理阶段特点数据的管理者:文件系统,数据可长期保存6.1.3数据管理技时期20世纪60年代末以来产生的背景应用背景 大规模管理 硬件背景 大容量磁盘 软件背景 有数据库管理系统 处理方式 联机实时处理,分布处理,批处理6.1.3数据管理技术的发展
3数据库管理阶段时期6.1.3数据管理技术的发展3数据库管理阶段应用程序与数据的对应关系(数据库系统)6.1.3数据管理技术的发展
DBMS应用程序1应用程序2数据库…应用程序与数据的对应关系(数据库系统)6.1.3数据管理技数据的管理者:DBMS数据面向的对象:现实世界 数据的共享程度:共享性高 数据的独立性:高度的物理独立性和一定的逻辑独立性 数据的结构化:整体结构化数据控制能力:由DBMS统一管理和控制6.1.3数据管理技术的发展
数据库系统特点返回数据的管理者:DBMS6.1.3数据管理技术的发展数据库了解现实世界、信息世界和机器世界的关系;了解数据模型的两个层次;理解信息世界所涉及的概念(实体、属性、联系);掌握E-R图表示的基本方法;了解层次模型、网状模型;理解关系模型的基本概念(包括关系、元组、属性、域、关键字、主键、外键等)、关系模型的特点及关系的三种基本运算(选择、投影、连接)。
学习目标6.2数据模型了解现实世界、信息世界和机器世界的关系;学习目标6.2数据6.2数据模型6.2.1数据模型的基本概念6.2.2概念模型及其表示
6.2.3常见的三种数据模型6.2数据模型6.2.1数据模型的基本概念6.2.2概数据模型就是现实世界的模拟,是对客观事物及其联系的抽象描述。在数据库系统中针对不同的使用对象和不同的应用目的,可采用不同层次的数据模型。数据模型大致分为两个不同层次:概念模型:也称信息模型,是按用户的观点对数据和信息进行建模,是现实世界到信息世界的第一层抽象;基本数据模型:是按计算机系统的观点对数据进行建模,是概念模型的数据化。
6.2.1数据模型的基本概念数据模型就是现实世界的模拟,是对客观事物及其联系的抽象描述。数据从现实世界到计算机里的具体表示一般要经历现实世界、信息世界和机器世界三个阶段。这三个世界的关系如下图所示。
6.2.1数据模型的基本概念现实世界信息世界数据世界抽象化数据化概念模型(E—R模型)DBMS能够支持的数据模型数据从现实世界到计算机里的具体表示一般要经历现实世界、信息世在进行数据库设计时,必须首先给出概念模型,它不涉及DBMS,它只描述实体的存在及联系。
概念模型的用途概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言对概念模型的基本要求较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识;简单、清晰、易于用户理解。6.2.2概念模型及其表示在进行数据库设计时,必须首先给出概念模型,它不涉及DBMS,概念模型的最常用方法是P.P.Chen于1976年提出的实体—联系方法(E-R图法,Entity-RelationshipApproach)。E-R图法提供了表示实体集、属性和联系的方法,在E-R图中:实体:用矩形框表示,框内标明实体名。属性:用椭圆框表示,框内标明属性名。联系:用菱形框表示,框内标明联系名。实体与其属性之间以无向边连接,菱形框及相关实体之间也用无向边连接,并在无向边旁标明联系的类型。6.2.2概念模型及其表示概念模型的最常用方法是P.P.Chen于1976年提出的实体E-R图中三种基本图素内涵如下:实体(Entity):通常是现实世界中客观存在的可以相互区分的事物,例如一个学生、一台计算机等;也可以是抽象的概念,例如一场比赛、一门课程等。实体集是具有相同属性的实体集合。例如学校所有学生具有相同的属性,因此,学生的集合可以定义为一个实体集。属性(Attribute):是描述对象的某个特性,如:学生实体可用学号、姓名、性别、出生日期等属性来描述;课程实体可用课程号、课程名、学分等属性来描述。联系(Relationship):是实体间的相互关系。它反映了客观事物间相互依存的状态。6.2.2概念模型及其表示E-R图中三种基本图素内涵如下:6.2.2概念模型及其表示联系(Relationship)
现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系两个不同实体集之间的联系有三种类型:一对一联系(1:1):如果对于实体集A中的每个实体,实体集B中至多有一个实体(也可以没有)与之联系,反之亦然,则称实体集A与实体集B具有一对一的联系,记为1:1。一对多联系(1:n):如果对于实体集A中的每个实体,实体集B中有多个实体与之联系,反之,对于实体集B中的每个实体,实体集A中至多有一个实体与之联系,则称实体集A与实体集B具有一对多的联系,记为1:n。多对多联系(m:n):如果对于实体集A中的每个实体,实体集B中有多个实体与之联系,反之,对于实体集B中的每个实体,实体集A中也有多个实体与之联系,则称实体集A与实体集B具有多对多的联系,记为m:n。6.2.2概念模型及其表示联系(Relationship)6.2.2概念模型及其E-R模型的表示方法
6.2.2概念模型及其表示班长组织班级111:1联系学生选修课程mnm:n联系班级属于学生1n1:n联系姓名班号成绩E-R模型的表示方法6.2.2概念模型及其表示班长组织班级运用E-R方法可以方便地进行概念模型设计。概念模型设计是对实体的抽象过程:第一步:根据各个局部应用设计出分E-R图。第二步:综合各分E-R图得到初步E-R图,在综合过程中主要的工作是消除冲突。第三步:对初步E-R图消除冗余,得到基本E-R图。6.2.2概念模型及其表示运用E-R方法可以方便地进行概念模型设计。6.2.2概念模以教学管理系统为例经需求分析后,可确定如下实体:学生:学号、姓名、性别、出生日期、地址、…课程:课程号、课程名称、学时、学分、…班级:班级号、班级名称、入学时间、…专业:专业号、专业名称、专业类型、…教师:教师号、姓名、性别、出生日期、职称、…系:系名称、系地址、电话、…6.2.2概念模型及其表示以教学管理系统为例6.2.2概念模型及其表示以上各实体间的联系如下:一个学生可选修多门课,一门课可为多个学生选修;一个学生只属于一个班,一个班有多名学生;一个班只属于一个专业,一个专业拥有多个班;一个教师可讲授多门课,一门课可由多名教师讲授;一个系有多名教师,一个教师只属于一个系。经分析可分为三个局部E-R图,分别是:学生学籍、学生选课、教师任课6.2.2概念模型及其表示以上各实体间的联系如下:6.2.2概念模型及其表示第一步局部E-R模型设计学生学籍局部E-R图如下:6.2.2概念模型及其表示专业班级学生属于拥有1n1n专业号专业名专业类型班级号班级名入学时间学号姓名性别出生日期地址第一步局部E-R模型设计6.2.2概念模型及其表示专业班级学生选课局部E-R图如下:6.2.2概念模型及其表示课程学生选修nm课程号课程名学时学号姓名性别出生日期地址学分成绩学生选课局部E-R图如下:6.2.2概念模型及其表示课程学教师任课局部E-R图如下:6.2.2概念模型及其表示系教师课程任职讲授1nmn系名称系地址电话教师号姓名出生日期课程号课程名学时学分性别职称水平教师任课局部E-R图如下:6.2.2概念模型及其表示系教师第二步合并成初步E-R模型合并后的初步E-R图如下:6.2.2概念模型及其表示专业班级学生属于拥有1n1n选修课程mn成绩教师系任职1n拥有mn水平第二步合并成初步E-R模型6.2.2概念模型及其表示专业班在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。数据模型应满足三方面要求:能比较真实地模拟现实世界;容易为人所理解;便于在计算机上实现;数据模型的三要素:
数据结构、数据操作和完整性规则(结束)。目前成熟地应用在数据库系统中的数据模型有:
层次模型、网状模型和关系模型。6.2.3常见的三种数据模型在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数层次模型用树型结构来表示实体之间联系的模型叫层次模型。层次模型必须满足下面两个条件:有且只有一个结点没有双亲结点,这个结点称为根结点根以外的其它结点有且只有一个双亲结点层次模型中的几个术语根结点,双亲结点,兄弟结点,叶结点6.2.3常见的三种数据模型1层次模型层次模型6.2.3常见的三种数据模型1层次模型层次模型样例6.2.3常见的三种数据模型学院科室教研室处系科室教研室层次模型样例6.2.3常见的三种数据模型学院科室教研室处系网状模型满足下面两个条件的基本层次联系的集合为网状模型。允许一个以上的结点无双亲;一个结点可以有多于一个的双亲。6.2.3常见的三种数据模型2网状模型网状模型6.2.3常见的三种数据模型2网状模型网状模型样例6.2.3常见的三种数据模型卫生厅教育厅医科大学工科大学机械系建筑系网状模型样例6.2.3常见的三种数据模型卫生厅教育厅医科大关系模型的基本概念关系模型是目前使用最广的数据模型。关系数据库系统采用关系模型作为数据的组织方式,现在流行的数据库管理系统几乎都支持关系模型,如SQLServer、Oracle、Access、FoxPro等。关系模型具有特别强的数据表示能力,可表示一对一、一对多和多对多的联系。在关系模型中,用一个二维表格来描述实体及其之间的联系。6.2.3常见的三种数据模型3关系模型关系模型的基本概念6.2.3常见的三种数据模型3关关系模型中的常用术语:关系(Relation):对应通常所说的二维表。元组(Tuple):表中的一行称为一个元组。属性(Attribute):表中的一列称为一个属性,列名称为属性名,列值称为属性值。关键字(Key):能够唯一确定一个元组的属性集合称为关键字。主键(PrimaryKey):表中可能有多个关键字,在应用中被选用的关键字称为主键。域(Domain):属性的取值范围称为域。外键(ForeignKey):若属性集合S存在于关系R1中,但不是关系R1的主键;它同时也存在于关系R2中,而且是关系R2的主键,则S是关系R1相对于R2的外键。6.2.3常见的三种数据模型关系模型中的常用术语:6.2.3常见的三种数据模型关系模型中的常用术语:关系模式(RelationMode):对关系的描述,一般表示为关系名(属性名1,属性名2,……,属性名n)例如,学生关系模式可描述为:学生(学号,姓名,性别,出生日期,专业)主属性:组成主键的属性非主属性:一个关系模式中不是主属性的属性6.2.3常见的三种数据模型关系名关系模式元组属性和属性名(字段)关系主键外键关系模
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3-1-Carboxyvinyloxy-benzoic-acid-生命科学试剂-MCE-7834
- 二零二五年度船舶入股船舶船员培训合作协议
- 2025年度时尚产品销售总额提成与时尚趋势合作合同
- 2025年度离职员工保密协议及竞业禁止条款合同
- 二零二五年度班组承包市场营销合作协议
- 2025年度酒店客房装修风格设计与施工合同
- 施工现场施工防生物毒素泄漏制度
- 施工日志填写中的常见错误及避免方法
- 现代科技下的学生心理发展研究
- 学校如何实施绿色化教学与管理
- 【学前教育小学化成因分析及其对策10000字(论文)】
- 腕管综合征课件
- 事业单位工作人员年度考核登记表(通用模板)
- 人教版七年级数学下册《垂线》
- 公开选拔村级后备干部报名登记表
- 2022年湖南公务员考试《申论》真题套卷(乡镇卷)2
- 【薪酬】国有企业中长期股权激励课件
- 《新闻摄影教程(第五版)》第三章 新闻摄影工作者的职责与素养
- 学前儿童行为观察第一章观察概述课件
- 化学品防范说明编码
- 帕金森病(英文版)课件
评论
0/150
提交评论