版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第11章 数据库应用基础8/8/20221教学内容:数据库应用基础学习重点:数据库结构和数据模型学习难点:数据库结构和查询方法8/8/2022211.1 数据库概述11.2 数据模型11.3 关系数据库11.4 数据库系统的设计11.5 SQL语言中的数据操作主要内容8/8/20223 数据库基本概念及发展 常见的数据库管理系统 数据库系统的分类11.1 数据库概述8/8/20224身边的数据库应用 超市销售系统 铁路售票系统 图书馆管理系统 银行业务系统 学校教学管理系统 能列出哪些管理需要大批量数据吗 ?8/8/20225人工管理文件系统数据库系统数据管理技术的发展8/8/20226应用程
2、序1应用程序2应用程序n数据组1数据组2数据组n人工管理阶段学生处教务处人事处学生信息数据集课程信息数据集教师信息数据集特点: 数据不保存在计算机内。 没有专用的软件对数据进行管理。 只有程序的概念,没有文件的概念。 一组数据对应一个程序。8/8/20227应用程序1应用程序2应用程序n数据组1数据组2数据组n 文件管理系统问题: 数据冗余与数据不一致 数据结构的不一致 不能反映现实世界事物间联系文件管理阶段(50后期-60中期)8/8/20228应用程序1应用程序2应用程序n数据库 数据库管理系统数据库管理阶段(60后期- )优点:实现数据共享减少数据的冗余度数据的一致性和完整性好数据和程序
3、之间的独立性好有较高的数据安全性并发控制性好实现数据库恢复8/8/20229数据库基本概念数据(Data)是数据库中存储的基本对象。例如:文字、图形、图像、语音等。数据库(DB,Database)是长期存储在计算机内,有组织的,可共享的数据的集合。8/8/202210数据库系统(Database System,简记为DBS)是采用数据库技术的计算机系统。一般由计算机软硬件系统、数据库、数据库管理系统及用户组成。数据库系统(DBS)8/8/202211数据库系统(DBS) 一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成;应用系统:针对某一具体应用而设计的面向用户的
4、软件系统,建立在DBMS基础上,具有良好的交互操作性和用户界面;用户:具体操作应用系统,进行业务活动的人员;数据库管理员:全面负责数据库系统的管理、维护和正常使用的的专门人员。8/8/202212硬件DS操统BM编译系统应 用软件工具开发应系用统作系8/8/202213数据结构化且统一管理数据冗余度小具有较高的数据独立性数据的共享性好数据控制功能强数据库系统的特点8/8/202214 是使用户可以定义、创建和维护数据库以及提供数据库有限制访问的软件系统。负责对数据库的数据进行统一的管理和控制。(VF、Access)数据库管理系统是位于用户与操作系统之上的一层数据管理软件。数据库管理系统(DBM
5、S)8/8/202215数据库基本概念数据数据库数据库管理系统数据库系统数据(Data)是数据库中存储的基本对象。数据库(DB,Database)是长期存储在计算机内,有组织的,可共享的数据的集合。数据库系统(Database System,简记为DBS)是采用数据库技术的计算机系统。简称DBMS,是使用户可以定义、创建和维护数据库以及提供数据库有限制访问的软件系统。8/8/202216 数据库基本概念及发展 常见的数据库管理系统 数据库系统的分类11.1 数据库概述8/8/202217常见的数据库管理系统 目前有许多数据库产品,如Oracle、Sybase、Informix、Microsof
6、t SQL Server、Microsoft Access、Visual FoxPro等产品各以自己特有的功能,在数据库市场上占有一席之地。 Oracle 数据库管理系统 Sybase 数据库管理系统(铁路系统) Informix 数据库管理系统(银行系统) Microsoft SQL Server 数据库管理系统 Microsoft Access 数据库管理系统 8/8/202218Oracle 数据库管理系统Oracle是一个最早商品化的关系型数据库管理系统,也是应用广泛、功能强大的数据库管理系统。Oracle作为一个通用的数据库管理系统,不仅具有完整的数据管理功能,还是一个分布式数据库系
7、统,支持各种分布式功能,特别是支持Internet应用。作为一个应用开发环境,Oracle提供了一套界面友好、功能齐全的数据库开发工具。Oracle使用PL/SQL语言执行各种操作,具有可开放性、可移植性、可伸缩性等功能。8/8/202219Oracle公司 国籍:美国 中文名:甲骨文公司 Oracle公司(甲骨文公司)是世界上最大的企业软件公司,向遍及145多个国家的用户提供数据库、工具和应用软件以及相关的咨询、培训和支持服务。 甲骨文公司总部设在美国加利福尼亚州的红木城,1989年正式进入中国。 公司网站:http:/ 8/8/202220Microsoft SQL ServerMicro
8、soft SQL Server是一种典型的关系型数据库管理系统,可以在许多操作系统上运行,它使用Transact-SQL语言完成数据操作。由于Microsoft SQL Server是开放式的系统,其它系统可以与它进行完好的交互操作。目前最新版本的产品为Microsoft SQL Server 2008,它具有可靠性、可伸缩性、可用性、可管理性等特点,为用户提供完整的数据库解决方案。8/8/202221Microsoft Access 作为Microsoft Office组件之一的Microsoft Access是在Windows环境下非常流行的桌面型数据库管理系统。使用Microsoft A
9、ccess无需编写任何代码,只需通过直观的可视化操作就可以完成大部分数据管理任务。可以与Word、Excel等办公软件进行数据交换和共享,并且通过对象链接与嵌入技术在数据库中嵌入和链接声音、图像等多媒体数据。 8/8/202222 数据库基本概念及发展 常见的数据库管理系统 数据库系统的分类11.1 数据库概述8/8/202223数据库系统的分类单用户数据库系统集中式结构的数据库系统分布式结构的数据库系统客户/服务器结构(C/S结构)的数据库系统8/8/202224单用户数据库系统特点:整个数据库系统都在一台计算机上,由一个用户独占,不同机器不能共享数据。8/8/202225集中式(或主从式)
10、结构的数据库系统特点:集中管理,安全性好。但在数据量很大时,容易导致主机开销过大,另外一个数据库服务器要为众多的客户服务,往往容易成为瓶颈,制约系统的性能。 8/8/202226分布式数据库系统 在该结构中,数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上,通过网络互连,共同组成一个完整的数据库。独立-网络中的每个结点都有一份DBMS的完整复制副本,可以独立处理本地数据库中的数据,执行局部应用;同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用。 易扩充,可靠性高-但实现代价高,数据分布在不同的服务器上,从而给数据的处理、管理与维护带来困难,而且进行数据库远程访
11、问时会受到网络流量的制约。8/8/202227客户/服务器结构(C/S结构)在客户服务器结构中,客户端的用户请求被传送到数据库服务器,数据库服务器进行处理后,只将结果返回给用户(而不是整个数据),从而显著减少了网络上的数据传输量,提高了系统的性能、吞吐量和负载能力。 8/8/202228客户机客户机服务器客户机网络客户/服务器系统的一般结构图功能分布:一些功能放在客户机(前端机)上运行,另一些功能则放在服务器(后端机)上执行。8/8/202229比较区别:集中式和分布式结构中,每个数据节点都是既执行DBMS功能,又执行应用程序。在C/S结构中把DBMS和应用功能分开了。优点:数据库开放性好,可
12、移植性强,软件维护费用小。缺点:数据的处理、管理和维护比较困难。C/S结构集中式和分布式结构8/8/20223011.1 数据库概述11.2 数据模型11.3 关系数据库11.4 数据库系统的设计11.5 SQL语言中的数据操作主要内容8/8/202231 数据的描述数据模型概念模型结构化数据模型11.2 数据模型E-R图1. 层次模型2. 网状模型3. 关系模型4. 面向对象模型 8/8/202232数据描述现 实 世 界信 息 世 界计算机世界(DBMS支持的数据模型)对信息进行收集、分类和抽象对信息进行加工转换,对信息数据化数 据 描 述 的 三 个 阶段非孤立相互联系的,又带有个性特征
13、用文字图形和符号表示数据世界8/8/202233上一幅图的解释(已隐藏) 计算机不能直接处理现实世界中的具体事物, 所以必须将具体事物转换成计算机能够处理的 数据; 数据模型是用来抽象、表示和处理现实世界中 数据信息的工具; 是数据库系统的核心和基础,现有数据库系统 均是基于某种数据模型;8/8/202234对象的抽象过程数据模型是什么样的?按应用目的不同分为两类: 概念(信息)模型:按用户的观点对数据和信息建模。 数据模型:按计算机系统的观点对数据建模。8/8/202235数据描述与数据模型在数据库理论中引如了3个世界假设的概念:现实世界信息世界计算机世界数据模型就是对世界的模拟。根据模型应
14、用的不同目的,分为两个层次:概念模型结构化数据模型8/8/202236 数据的描述数据模型概念模型结构化数据模型11.2 数据模型E-R图1. 层次模型2. 网状模型3. 关系模型4. 面向对象模型 8/8/202237对象的抽象过程8/8/202238概念模型用于信息世界的建模。概念模型独立于某一DBMS支持的数据模型;概念模型可以转换为计算机上某一DBMS支持的特定数据模型;相对数据模型更接近现实世界。信息世界中的数据描述方式 概念模型8/8/202239信息世界中的基本概念:实体:客观存在并可相互区分的事物属性:实体所具有的特性码 / 键 / 关键字:唯一标识实体的属性集域:某个属性的取
15、值范围实体型:用实体名及其属性名集合描述同类实体实体集:同型实体的集合联系:实体之间及其内部的联系8/8/202240两个实体型之间的联系 可以分为三类:一对一联系(1:1)一对多联系(1:n)多对多联系(m:n) A B A B A B 1:1 1:n m:n8/8/2022418/8/202242概念模型的表示方法 1976年,P .S .Chen提出实体-联系方法(Entity-Relationship),简称E-R方法。8/8/202243E-R图的基本成分实体:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,椭圆内写上联系名,并用无向边将其与相应的实体连接起来。联系:用菱形表示,
16、菱形内写上联系名,并用无向边将其与相应的实体连接起来,并在无向边旁标上联系的类型。8/8/202244 成绩课程C课程号教师名课程名学生S 学号 年龄 姓名 性别选课scMNE-R图8/8/2022458/8/202246例题:用如下数据完成一个E-R图。要求学生和课程之间有联系:选修。教师和课程之间有联系:教授实体:学生,拥有属性:学号,姓名,性别实体:课程,拥有属性:代号,名称实体:教师,拥有属性:工号,姓名,性别8/8/202247ER图属性与实体的确定方法:应按具体情况而定。但属性较简单,如果能用属性时就尽量用属性,但注意属性应不能再用其它的属性来修饰,且不能与其它实体集或属性再发生联
17、系。当属性仍有属性时,则应该把原属性作为独立的实体来建立联系。8/8/202248 数据的描述数据模型概念模型结构化数据模型11.2 数据模型1. 层次模型2. 网状模型3. 关系模型4. 面向对象模型 8/8/202249对象的抽象过程结构化数据模型分类8/8/202250字段:标记实体属性的命名单位称为字段。记录:字段的有序集合称为记录,一般一个记录描述一个实体。文件:同一类记录的集合称为文件,文件是用来描述实体集的。关键字:能够唯一标识文件中每个记录的字段或字段集称为关键字。计算机世界中的数据描述形式 数据模型8/8/202251信息世界计算机世界实 体记 录属 性字 段实 体 集文 件
18、实体标识符关 键 字计算机世界和信息世界术语的对应关系8/8/202252现实世界信息世界计算机世界事物个体事物总体实体实体集记录文件特征特征值特征取值范围属性属性值属性值域字段或数据项数据项值数据项值域3个世界中的术语的对应关系8/8/202253结构化数据模型分类1. 层次模型2. 网状模型3. 关系模型4. 面向对象模型 8/8/2022541. 层次模型层次模型用树形结构表示各类实体以及实体间的联系;现实世界中许多实体之间的联系都表现出一种很自然的层次关系; 典型代表是IBM公司的IMS数据库管理系统。8/8/202255只有一个结点无双亲结点,称之为根结点;根以外的其它结点有且仅有一
19、个双亲结点;只能处理一对多的联系;8/8/2022568/8/2022572. 网状模型自然界中实体型之间的联系更多的是非层次关系,网状模型可以清晰得表示这种非层次关系;典型代表是上世纪70年代,数据系统语言研究会CODASYL下属的数据库任务组DBTG提出的系统方案,即DBTG系统。8/8/202258用有向图结构表示实体及实体间的联系 允许多个结点没有双亲结点一个结点可以有多个双亲结点可以表示多对多的联系网状数据模型缺点:系统扩充困难,插入、删除操作实现复杂。8/8/2022598/8/202260层次模型 网状模型ABDCABDC8/8/202261关系模型是目前最重要的一种模型;由IB
20、M公司的研究员E.F.Codd 于1970年在 “大型共享数据库数据的关系模型”论文中首次提出;关系数据库是目前应用最广泛的数据库系统。3. 关系模型8/8/202262 用二维表格表达实体集 关系模型是由若干个关系模式组成的集合 关系模式相当于前面提到的记录类型,它的实例 称为关系,每个关系实际上是一张二维表格。 关系模型8/8/202263关系模式:学生(学号,姓名,性别,系别,年龄,籍贯)8/8/202264关系:一个关系对应于一张表元组:表中的一行称为一个元组(记录)属性:表中的一列称为属性主码:唯一标识一个元组的某个属性组(特殊的属性) 域:属性的取值范围分量:元组中的一个属性值关系
21、模式:对关系的描述 关系模型中的术语表示为:关系名(属性名1,属性名2 )例如:学生(学号,姓名,性别,年龄)8/8/202265每一个分量必须是单值的每一列的值应是同一类型的,列序无关任意两行不能相同,行序无关关系需要满足一些规范条件,如:8/8/202266关系模式:学生(学号,姓名,性别,系别,年龄,籍贯)8/8/202267选课系统:实体:学生,属性:S#,SNAME,AGE,SEX实体:课程,属性:C#,CNAME,TEACHER联系:选课,属性:GRADE关系模型举例:学生选课系统请动手画出学生成绩E-R图?8/8/202268选课系统关系模型:学生关系模式 S (S#,SNAME
22、,AGE,SEX)课程关系模式 C (C#,CNAME,TEACHER)选课关系模式 SC (S#,C#,GRADE)S# SNAME AGE SEX 马 18 女 104 李 19 男107 赵 18 男111 冯 18 男121 王 19 女109 林 19 男S关系S# C# GRADE 021 67104 021 90107 032 81 111 021 78 121 032 60 109 032 85 SC关系C# CNAME TEACHER 021 高数 王032 英语 黄013 线代 赵034 口语 李C关系关系模型举例:学生选课系统8/8/202269关系数据模型的操作和完整性
23、约束操作(集合操作,操作对象和结果都是关系)SELECT INSERT DELETE UPDATE完整性约束(P325) 实体完整性(属性值不能为空,尤其主键) 参照完整性(关联完整性,关联表和参照表都有此键) 用户定义的完整性(属性值域完整)8/8/202270关系数据模型的优缺点优点:数学基础强,模型单一,存取路径透明缺点:查询效率不高,必须优化查询关系数据模型的存储结构以文件形式存储8/8/20227111.1 数据库概述11.2 数据模型11.3 关系数据库11.4 数据库系统的设计11.5 SQL语言中的数据操作主要内容8/8/202272 关系模型的设计 关系操作 11.3 关系数
24、据库关系模型的数据结构关系模型的完整性规则 8/8/202273关系模型的数据结构8/8/202274数据库系统的模式结构如学生记录: (学号,姓名,性别,系别,年龄)记录型 (900201,李明,男,计算机,22)记录值“型”和“值”的概念模式是数据库中全部数据的逻辑结构和特征的描述。8/8/202275关系操作选择(Selection)操作:指在关系中选择满足某些条件的元组(行)。 投影(Projection)操作:在关系中选择某些属性。(列) 连接(Join)操作:将不同的两个关系连接成为一个关系。选择、投影、连接操作,其操作对象是关系,操作结果亦为关系。 8/8/20227611.1
25、数据库概述11.2 数据模型11.3 关系数据库11.4 数据库系统的设计11.5 SQL语言中的数据操作主要内容8/8/20227711.4 数据库系统的设计1 设计方法和过程2 需求分析(难)3 概念结构设计画出ER图(关键)4 逻辑结构设计转换成关系DB模式5 数据库物理设计在DBMS上实现6 数据库的实施与维护8/8/202278逻辑结构设计物理结构设计数据库运行和维护数据模型优化需求分析概念结构设计物理实现评价设计,性能预测试验性运行规范化方法数据库设计的基本步骤转换规则DBMS方法优化方法应用需求(数据,处理)应用要求DBMS详细特征1、转化为一般数据模型;2、转化为特定数据库管理
26、系统;3、优化模型。8/8/202279(1)将概念结构转换为数据模型1)一个实体型转换为一个关系模式。实体型的属性转化为关系的属性,实体型的码转化为关系的码。 例如:学生实体可以转换为如下关系模式:学生(学号,姓名,出生日期,所在系,年级,平均成绩)加下划线的属性为关系的码。转换原则如下:(实体、属性、联系关系模式)8/8/2022802)一个m:n联系转换为一个关系模式。关系的属性是与该联系相连的各实体的码以及联系本身的属性,关系的码是各实体码的组合。 例如:“选修”联系是一个m:n联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码:选修(学号,课程号,成绩)(码1#,码2#
27、,本身属性)8/8/2022813)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。若转换为一个独立的关系模式,则关系的属性是与该联系相连的各实体的码以及联系本身的属性,关系的码是n端实体的码。若与n端对应的关系模式合并,则合并后关系的属性是在n端关系中加入1端关系的码和联系本身的属性,合并后关系的码不变。(班级学生)8/8/202282(4)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。若转换为一个独立的关系模式,则关系的属性就是与该联系相连的各实体的码以及联系本身的属性,关系的候选码就是每个实体的码。若与某一端对应的关系模式合并
28、,则合并后关系的属性就是加入对应关系的码和联系本身的属性,合并后关系的码不变。8/8/202283(5)三个或三个以上实体间的一个多元联系转换为一个关系模式。关系的属性就是与该多元联系相连的各实体的码以及联系本身的属性,关系的码是各实体码的组合。 例如,“讲授”联系是一个三元联系,可以将它转换为如下关系模式,其中课程号、职工号和书号为关系的组合码:讲授(课程号,职工号,书号)(6)同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。8/8/202284(7)具有相同码的关系模式可合并。目的:减少系统中的关系个数。合并方法:将其中一个关系模式的全部属性加入到另一
29、个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序。例如:“拥有”关系模式:拥有(学号,性别)与学生关系模式:学生(学号,姓名,出生日期,所在系,年级,班级号,平均成绩)都以学号为码,可以将它们合并为一个关系模式:学生(学号,姓名,性别,出生日期,所在系,年级,班级号,平均成绩)8/8/202285(2)数据模型的优化适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化。关系数据模型的优化以规范化理论为指导。设计实例: 重点:联系的关系模式8/8/20228611.1 数据库概述11.2 数据模型11.3 关系数据库11.4 数
30、据库系统的设计11.5 SQL语言中的数据操作主要内容8/8/20228711.5 SQL语言中的数据操作11.5.1 数据查询11.5.2 数据更新8/8/202288Whats SQL? SQL(Structured Query Language,结构化查询语言)最早源于IBM,由ANSI(美国国家标准局)确认的关系型数据库语言的标准。 它是对关系型数据库中的数据进行定义、修改、控制及查询的语言标准。8/8/202289SQL语言包括数据定义、数据操纵、数据控制。数据定义:包括定义基本表,定义视图和定义索引。数据操纵:包括SELECT、INSERT、DELETE和UPDATE 4个语句,即
31、检索和更新(包括增、删、改)两部分功能。数据控制:指控制用户对数据的存储权力。授权功能由GRANT和REVOKE来完成的。结构化查询语言(SQL)8/8/20229011.5.1 数据查询语句(SELECT)SELECT *|字段列表 FROM 表名1,表名2, WHERE 条件表达式 GROUP BY分组字段 HAVING 分组准则 ORDER BY字段1 ASC | DESC , 字段2 ASC | DESC ; 语句功能:根据WHERE子句中的条件表达式,从基本表(或视图)中找出满足条件的元组,按SELECT子句中的目标列,选出元组中的目标列形成结果表。可见sql是比较容易理解的。这里只
32、举出选择查询语句,暂不作深入了解。8/8/202291例:“学生-课程”数据库,其关系模式集如下:学生信息表S( sno,sname,ssex,sage)课程信息表C(cno,cname,tname)成绩表Sc(sno,cno,grade)8/8/2022921.查询出S表所有学生信息SELECT *FROM S; 2.查询出Student表中所有学生的学号和姓名SELECT sno,snameFROM S; 8/8/2022933.查询出SC表中成绩在60到80之间的所有记录SELECT *FROM SCWHERE grade BETWEEN 60 AND 80;8/8/2022944.查询
33、出sc表中成绩为85、86、88的记录SELECT * FROM SCWHERE grade IN(85,86,88); 8/8/2022955.查询出所有学生的sname,cname和gradeSELECT S.SNAME,C.CNAME,Sc.GradeFROM S,C,ScWHERE S.SNO = Sc.SNO and Sc.CNO = C.CNO;8/8/2022966.查询出“张旭”教师任课的学生成绩SELECT SC.CNO,SC.SNO,SC.gradeFROM SC WHERE CNO=(SELECT C.CNO FROM C WHERE C.TNAME=张旭);8/8/202297 select sno,sname,sage fro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供应商绩效反馈改进计划
- 大型厂房钢结构吊装施工进度方案
- 护理质量持续改进追踪评价
- 冲孔工序换模保养执行细则
- 广东省深圳市2026届高三下学期第二次调研考试政治
- 犬粮试吃活动操作指导规范
- 广东中山市2026届高三模拟测试(二)语文试卷及参考答案
- 山体滑坡治理工程
- 法院领导信访包案制度
- 汽车维修服务承诺制度
- 雨课堂学堂在线学堂云《情报检索-信息时代的元素养》单元测试考核答案
- 高考英语三轮复习提分策略课件
- 安全用电三相五线培训课件
- 2026年安阳职业技术学院单招职业技能测试必刷测试卷及答案解析(夺冠系列)
- 灯饰代加工合同范本
- 110kV电力变压器结构与电磁计算
- 血管性痴呆教学课件
- 我国档案服务行业监理问题及解决方案
- 2025江苏连云港海州区国有企业第二次招聘工作人员24人笔试历年典型考点题库附带答案详解试卷3套
- 2025青岛海湾集团有限公司招聘笔试历年备考题库附带答案详解试卷2套
- 2025年矿业公司入职考试题及答案
评论
0/150
提交评论