《最新同方第6章62信息系统与数据库new幻灯片》由会员分享,可在线阅读,更多相关《最新同方第6章62信息系统与数据库new幻灯片(33页珍藏版)》请在金锄头文库上搜索。
1、同方第同方第6 6章章6262信息系统与数信息系统与数据库据库newnew2第6章 信息系统与数据库(1)关系数据模型关系数据模型(操作操作)n举例用例举例用例(5张二维表张二维表):SNAMEGRADE钱欣75张进元62张华68胡平平79周亮80SNAMEGRADE王宁100钱欣75顾永华90黄进82胡平平79周亮80SC1:60-80分成绩表分成绩表SC2:70-100分成绩表分成绩表3第6章 信息系统与数据库(1)4第6章 信息系统与数据库(1)5第6章 信息系统与数据库(1)6第6章 信息系统与数据库(1)7第6章 信息系统与数据库(1)8第6章 信息系统与数据库(1)9第6章 信息系
2、统与数据库(1)关系数据模型关系数据模型 (专门的关系操作专门的关系操作)n更改更改n 更改操作也是一种一元操作,它应用于一个关系。用更改操作也是一种一元操作,它应用于一个关系。用来改变关系中指定元组中的部分属性值。来改变关系中指定元组中的部分属性值。n 例如例如:课程开设表课程开设表(C)中的课程中的课程ME234元组的元组的LHOUR值由值由“40”改为改为“30”,SEMESTER值由值由“秋秋”改为改为“春春”。 10第6章 信息系统与数据库(1)关系数据模型关系数据模型 (专门的关系操作专门的关系操作)n选择选择n 选择操作是一元操作。它应用于一个关系并产生另一个新选择操作是一元操作
3、。它应用于一个关系并产生另一个新关系。新关系中的元组(行)是原关系中元组的子集。选择操关系。新关系中的元组(行)是原关系中元组的子集。选择操作根据要求从原先关系中选择部分元组。结果关系中的属性作根据要求从原先关系中选择部分元组。结果关系中的属性(列)与原关系相同(保持不变)。(列)与原关系相同(保持不变)。n 例如例如:从学生登记表从学生登记表(S)中,选出性别为中,选出性别为“男男”的学生元组,组的学生元组,组成一个新关系成一个新关系“男学生登记表男学生登记表”。11第6章 信息系统与数据库(1)关系数据模型关系数据模型 (专门的关系操作专门的关系操作)n投影投影n 是一元操作,它作用于一个
4、关系并产生另一个新关系。新是一元操作,它作用于一个关系并产生另一个新关系。新关系中的属性(列)是原关系中属性的子集。在一般情况下,关系中的属性(列)是原关系中属性的子集。在一般情况下,虽然新关系中的元组属性减少了,但其元组(行)的数量与原虽然新关系中的元组属性减少了,但其元组(行)的数量与原关系保持不变。关系保持不变。n 例如例如:需要了解学生选课情况而不关心其成绩时,可对学生需要了解学生选课情况而不关心其成绩时,可对学生选课成绩表(选课成绩表(SC)进行相关的投影操作)进行相关的投影操作. n。其结果的每个元组其结果的每个元组仅包括学(仅包括学(SNO) 课程号(课程号(CNO) 两个属性两
5、个属性12第6章 信息系统与数据库(1)关系数据模型关系数据模型 (专门的关系操作专门的关系操作)n连接连接n 是一个二元操作。它基于共有属性把两个关系组合起来。是一个二元操作。它基于共有属性把两个关系组合起来。连接操作比较复杂并有较多的变化。连接操作比较复杂并有较多的变化。n 例如例如:学生登记表(学生登记表(S)和学生选课成绩表()和学生选课成绩表(SC)的连接)的连接,生成一生成一个信息更全面的关系个信息更全面的关系.对于已选课程的学生而言,结果关系包对于已选课程的学生而言,结果关系包含含SC表原来的信息,并增加了该学生表原来的信息,并增加了该学生选修课程号(选修课程号(CNO)和成绩)
6、和成绩(GRADE)。)。13第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLn 数据库语言数据库语言n 以上讨论的关系操作,比较直观地说明了其对二维以上讨论的关系操作,比较直观地说明了其对二维表运算的含意表运算的含意(数学上对关系操作的抽象描述是数学上对关系操作的抽象描述是“关系代关系代数数”)。在此基础上,关系数据库管理系统必须配置与此。在此基础上,关系数据库管理系统必须配置与此相应的语言,使用户可以对数据库进行各式各样的操作,相应的语言,使用户可以对数据库进行各式各样的操作,这就构成了用户和数据库的接口。由于这就构成了用户和数据库的接口。由于DBMS所提供的所提供的语言一
7、般局限于对数据库的操作,不同于计算机的程序语言一般局限于对数据库的操作,不同于计算机的程序设计语言,因而称它为设计语言,因而称它为数据库语言数据库语言. DB数据库语言数据库语言程序程序用户用户14第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLn 关系数据库语言关系数据库语言SQL特点特点n 是一是一种“非非过程程语言言”n 体现关系模型在结构体现关系模型在结构, ,完整性和操作方面的特征完整性和操作方面的特征n 有命令和嵌入程序两种使用方式有命令和嵌入程序两种使用方式n 功能齐全功能齐全,简洁易学简洁易学,使用方便使用方便n 为主流为主流DBMSDBMS产品所支持产品所支持
8、用户只要指出用户只要指出“做什么做什么”,而而“如何做如何做”的的过程由过程由DBMS完成完成.命令式命令式:直接用语句操作直接用语句操作嵌入式嵌入式:将语句嵌入程序将语句嵌入程序ORACLE,MS-SQL Server,Sybase DB2,(Access,VFP有接口有接口)15第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLn 关系数据库语言关系数据库语言SQL 3级体系结构级体系结构用户看到的关系模式用户看到的关系模式主要是视图主要是视图系统的全局关系模系统的全局关系模式是基本表式是基本表系统的存储结构是系统的存储结构是文件文件16第6章 信息系统与数据库(1)关系数据
9、库语言关系数据库语言SQLn SQL数据定义语言数据定义语言DDLn 作为建立数据库最重要的一步,根据关系模式定义所需的基本表,作为建立数据库最重要的一步,根据关系模式定义所需的基本表,SQL语句表示为:语句表示为:n n其中其中:n 表示可含有该子句,也可为空表示可含有该子句,也可为空.n 基本表名字基本表名字.n 每个基本表可以由一个或多个列组成。每个基本表可以由一个或多个列组成。n 定义基本表时要指明每个列的类型和长度,同时还可定义基本表时要指明每个列的类型和长度,同时还可n 以定义与该表有关的完整性约束条件,以定义与该表有关的完整性约束条件,CREATE TABLE (列名数据类型完整
10、性约束条件,(列名数据类型完整性约束条件,)17第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLnDDL例例: n 按照关系模式按照关系模式S,定义学生基本表的,定义学生基本表的SQL语句语句:执行语句后,在数据库建立执行语句后,在数据库建立一个学生表一个学生表S的结构的结构 CREATE TABLE S (SNO CHAR(4) , (类型为定长字符串)(类型为定长字符串) SNAME VARCHAR(8)(类型为变长字符串,串长为)(类型为变长字符串,串长为8) DEPART VARCHAR(12),), SEX CHAR(2) BDATE DATE, (类型为日期型)(类
11、型为日期型) HEIGHT DEC(5,2), (类型为(类型为5位十进制数,小数点后位十进制数,小数点后2位)位) PRIMARY KEY(SNO);(指明);(指明SNO为为S的主键)的主键)18第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLn SQL的数据查询的数据查询n 查询是数据库的核心操作。查询是数据库的核心操作。SQL提供提供SELECT语句语句,具有灵具有灵活的使用方式和极强查询的功能。关系操作中最常用的是活的使用方式和极强查询的功能。关系操作中最常用的是“投投影、选择和连接影、选择和连接”,都体现在都体现在SELECT语句中语句中:n SELECT A1,A
12、2,An n FROM R1,R2,Rmn WHERE Fn SELECT语句语义为:将语句语义为:将FROM子句所指出的子句所指出的R(基本表或视图基本表或视图)进行连接,从中选取满足进行连接,从中选取满足WHERE子句中条件子句中条件F的行(元组),最后根的行(元组),最后根据据SELECT子句给出的子句给出的A(列名列名)将查询结果表输出。将查询结果表输出。指出目标表的列名指出目标表的列名,相应于相应于“投影投影”指出基本表或视图指出基本表或视图,相应于相应于“连接连接”F为为“选择选择”操作的条件操作的条件19第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLn单表查询单
13、表查询n 从指定的一个表中找出符合条件的元组从指定的一个表中找出符合条件的元组.n 例如,查询所有男学生名的情况例如,查询所有男学生名的情况.n SELECT * FROM S WHERE SEX男男;20第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLSNAMEDEPARTCNAMEGRADE张雷计算机软件工程84.5张雷计算机数据库82周光明自动控制软件工程92周光明自动控制数学分析92.5周光明自动控制人工智能90钱欣管理工程数据库75钱欣管理工程人工智能70.5连接查询连接查询 一个查询同时涉及两个以上的表,称连接查询。是关系数据库一个查询同时涉及两个以上的表,称连接查
14、询。是关系数据库中最主要的查询。例如,查询每个男学生及其选修课程的情况。要中最主要的查询。例如,查询每个男学生及其选修课程的情况。要求列出学生名,系别,选修课程名及成绩。求列出学生名,系别,选修课程名及成绩。SELECT SNANE,DEPART,CNAME,GRADE FROM S,C,SC WHERE S.SNOSC.SNO AND SC.CNOC.CNO AND S.SEX男男;查询涉及查询涉及S、C和和SC三个表,三个表,S和和SC表通过表通过SNO作连接作连接,C和和SC表通过表通过CNO来实现连接来实现连接21第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLn SQ
15、L的数据更新的数据更新nSQL提供了插入数据、更改数据和删除数据的提供了插入数据、更改数据和删除数据的3类语句类语句。n (1) 插入语句插入语句n 插入语句插入语句INSERT可将一个记录插入到指定的表中:可将一个记录插入到指定的表中:n例如,将一个新的课程记录插入到课程开设表例如,将一个新的课程记录插入到课程开设表C中中:n INSERT INTO (,) VALUES(,)INSERT INTO S(CNO,CNAME,LHOUR,SEMESTER) VALUES(CW101,论文写作论文写作,30,春春)22第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLn(2)更改语
16、句)更改语句n 对指定表中已有数据进行修改。语句格式如下:对指定表中已有数据进行修改。语句格式如下: 其功能是修改指定表中满足其功能是修改指定表中满足WHERE子句条件的记录,其中子句条件的记录,其中SET子句给出子句给出的的值用于取代相应列的值值用于取代相应列的值. n例如例如 :将将ME234课程的课时改为课程的课时改为30,并改成春季开设:并改成春季开设:n UPDATE SET .WHEREUPDATE C SET LHOUR=30, SEMESTER春春 WHERE CNOME234 ;23第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLn(3)删除数据)删除数据n
17、SQL删除语句的格式为:删除语句的格式为:n其功能是从指定表中删除满足其功能是从指定表中删除满足WHERE子句条件的记录。子句条件的记录。如果省略如果省略WHERE子句,则删除表中所有记录子句,则删除表中所有记录. n 例如,从例如,从C表中删除课程号为表中删除课程号为CC112的记录:的记录:n DELETE FROM WHERE DELETE FROM C WHERE CNO=CC112;24第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLn SQL的的视图视图n 视图是视图是DBMS所提供的一种由用户观察数据库中数据的重所提供的一种由用户观察数据库中数据的重要机制。视图可
18、由基本表或其他视图导出。它与基本表不同,要机制。视图可由基本表或其他视图导出。它与基本表不同,视图只是一个虚表,在数据字典中保留其逻辑定义,而不作为视图只是一个虚表,在数据字典中保留其逻辑定义,而不作为一个表实际存储数据。一个表实际存储数据。n SQL用用CREATE VIEW语句建立视图,其格式为:语句建立视图,其格式为:n n CREATE VIEW 视图名列名,视图名列名,n AS 子查询子查询25第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLnSQL视图的例视图的例:n例如,若建立管理工程系学生的视图例如,若建立管理工程系学生的视图ME_S,语句为:,语句为:n n
19、视图定义后,用户就可以象对基本表操作一样对视图进行查视图定义后,用户就可以象对基本表操作一样对视图进行查询。询。例如,在管理工程系的学生视图中找出年龄大于例如,在管理工程系的学生视图中找出年龄大于25岁的学岁的学生生,其其SQL语句为语句为:n CREATE VIEW ME_s AS (SELECT SNO,SNAME,SEX,BDATE,HEIGHT FROM S WHERE DEPART管理工程管理工程) ;SELECT SNANE 2008-YEAR(BDATE) FROM ME_S WHERE 2008YEAR(BDATE)25;26第6章 信息系统与数据库(1)数据库系统及应用新技术
20、数据库系统及应用新技术n数据库体系结构的发展数据库体系结构的发展n DBS运行在计算机系统之上,其体系结构与计算机体系结运行在计算机系统之上,其体系结构与计算机体系结构密切相关。因此构密切相关。因此DBS的系统结构也随着它的硬件和软件支撑的系统结构也随着它的硬件和软件支撑环境的变化而不断演变。环境的变化而不断演变。n 集中式数据库系统集中式数据库系统。早期的。早期的DBMS以分时操作系统作以分时操作系统作为运行环境,采用集中式的数据库系统结构,把数据库建立在为运行环境,采用集中式的数据库系统结构,把数据库建立在本单位的主计算机上,且不与其他计算机系统进行数据交互。本单位的主计算机上,且不与其他
21、计算机系统进行数据交互。在这种系统中,不但数据是集中的,数据的管理也是集中的。在这种系统中,不但数据是集中的,数据的管理也是集中的。.终端终端DB27第6章 信息系统与数据库(1)数据库体系结构的发展数据库体系结构的发展n 客户客户/服务器结构服务器结构(C/S)n 是一种网络处理系统。有多台用作客户机的计算机和一至是一种网络处理系统。有多台用作客户机的计算机和一至多台用作服务器的计算机。客户机直接面向用户,接收并处理多台用作服务器的计算机。客户机直接面向用户,接收并处理任务,将需要任务,将需要DB操作的任务委托服务器执行;而服务器只接操作的任务委托服务器执行;而服务器只接收这种委托,完成对收
22、这种委托,完成对DB的查询和更新,并把查询结果返回给的查询和更新,并把查询结果返回给客户机。客户机。C/S结构的结构的DBS虽然处理上是分布的,但数据却是集虽然处理上是分布的,但数据却是集中的,还是属于集中式数据库系统。中的,还是属于集中式数据库系统。客户机客户机计算机网络计算机网络DB数据库服务器数据库服务器28第6章 信息系统与数据库(1)数据库体系结构的发展数据库体系结构的发展n 浏览器浏览器/服务器结构服务器结构(B/S)n n 由浏览器由浏览器,Web服务器服务器,数数据库服务器据库服务器3个层次组成个层次组成.客客户端使用一个通用的浏览器户端使用一个通用的浏览器代替了各种应用软件代
23、替了各种应用软件.用户操用户操作通过浏览器执行作通过浏览器执行.n 客户机客户机计算机网络计算机网络DB浏览器浏览器数据库服务器数据库服务器29第6章 信息系统与数据库(1)数据库体系结构的发展数据库体系结构的发展n 分布式数据库系统分布式数据库系统n 数据共享和数据集中管理是数据库的主要特征。但面对应数据共享和数据集中管理是数据库的主要特征。但面对应用规模的扩大和用户地理位置分散的实际情况,如果一个单位用规模的扩大和用户地理位置分散的实际情况,如果一个单位的计算机仍用联网式的集中数据库系统,将会产生很多问题的计算机仍用联网式的集中数据库系统,将会产生很多问题:n 各个用户结点计算机要通过网络
24、存取数据,各个用户结点计算机要通过网络存取数据,n 如何解决通信开销太大和延迟的问题如何解决通信开销太大和延迟的问题?n 一旦数据库不能工作还将导致整个系统一旦数据库不能工作还将导致整个系统n 的瘫痪,如何保证系统的可用性和可扩性的瘫痪,如何保证系统的可用性和可扩性?30第6章 信息系统与数据库(1)数据库体系结构的发展数据库体系结构的发展n 在分布式在分布式DBS中,把一个单中,把一个单位的数据按其来源和用途,合理位的数据按其来源和用途,合理分布在系统的多个地理位置不同分布在系统的多个地理位置不同的计算机结点上的计算机结点上(局部数据库局部数据库),使,使数据可以就近存取。数据在物理数据可以
25、就近存取。数据在物理上分布后,由系统统一管理。系上分布后,由系统统一管理。系统中每个地理位置上的结点实际统中每个地理位置上的结点实际上是一个独立的上是一个独立的DBS,它包括本,它包括本地结点用户、本地地结点用户、本地DBMS和应用和应用软件。每个结点上的用户都可以软件。每个结点上的用户都可以通过网络对其他结点数据库上的通过网络对其他结点数据库上的数据进行访问,就如同这些数据数据进行访问,就如同这些数据都存储在自己所在的结点数据库都存储在自己所在的结点数据库上一样。上一样。计算机网络计算机网络DBDBDBDDBMSnDDBMS2DDBMS1DDBMS是分布式数据库管理系统是分布式数据库管理系统
26、31第6章 信息系统与数据库(1)数据库体系结构的发展数据库体系结构的发展n 并行数据库系统并行数据库系统n随着应用领域随着应用领域DB规模的增长,规模的增长,n其运行负荷日益加重,对其运行负荷日益加重,对DBSn性能要求也越来越高性能要求也越来越高.需求需求:n计算机系统通过并行地使用多个计算机系统通过并行地使用多个 CPU和磁盘,可提高处理速度和磁盘,可提高处理速度和和IO速度。速度。技术技术:并行数据库系统并行数据库系统 并行处理技术很适宜与关系并行处理技术很适宜与关系DBS技术相结合,在关系技术相结合,在关系模型中,数据库二维表是元组的集合,模型中,数据库二维表是元组的集合,DBS操作也是集合操作也是集合操作;在许多情况下对集合的操作可分解为一系列对子集操作;在许多情况下对集合的操作可分解为一系列对子集的操作,这些子集操作存在很好的并行性的操作,这些子集操作存在很好的并行性32第6章 信息系统与数据库(1)后面章节建议看书后面章节建议看书