6.2 关系数据库简介

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指出目标表的列名,相应于“投影 指出目标表的列名 相应于“投影” 相应于
SELECT A1,A2,……,An FROM R1,R2,…,Rm [WHERE F]
Байду номын сангаас
指出基本表或视图,相应于“连接 指出基本表或视图 相应于“连接” 相应于
F为“选择”操作的条件 为 选择 操作的条件
SELECT语句语义为:将FROM子句所指出的R(基本表或视图) 进行连接,从中选取满足WHERE子句中条件F的行(元组),最后根据 SELECT子句给出的A(列名)将查询结果表输出。
影 投 投 影
6.2.3 关系数据库语言 关系数据库语言SQL (1) )
概述
① 关系数据库管理系统一般都配置相应的语言,用户用以对数 据库中的二维表进行各式各样的操作,称为数据库语言。 ② 关系数据库语言有多种,应用最广的首推SQL(Structured Query Language)。它使用方便,功能齐全(包括数据操 作、定义、控制和管理等),简洁易学。 ③ 一些主流DBMS产品(如 ORACLE、Sybase、DB2、SQL server等)都实现了SQL语言。即使是PC机上配备的小型 DBMS产品(如Access),其SQL也部分地提供了数据库查 询和更新方面的功能。
SELECT SNANE,DEPART,CNAME,GRADE FROM S,C,SC WHERE S.SNO=SC.SNO AND SC.CNO=C.CN AND S.SEX=‘男’;
查询输出 网页输出
6.2.3 关系数据库语言 关系数据库语言SQL (5) )
SQL的视图 (可选择教学)
① 视图是DBMS提供的一种由用户观察数据库中数据的重要机制。 ② 视图可由基本表或其他视图导出。 ③ 视图只是一个虚表,而不作为一个表实际存储数据。 SQL用CREATE VIEW语句建立视图,其格式为:
数据库系统用这种制约来保证数据正确性,称其为关系数据模型的完整性。
6.2.2 二维表基本操作 (1) )
① 选择 选择操作是一元操作。它应用于一个关系并产生另一个新关系。新关系 中的元组(行)是原关系中元组的子集。选择操作根据要求从原先关系中选择部分元组。 结果关系中的属性(列)与原关系相同(保持不变)。
例如:从学生登记表(S)中,选出性别为“男”的学生元组,组成一个新关系“男学生登记表”。
6.2.2 二维表基本操作 (2) )
② 连接 是一个二元操作。它基于共有属性把两个关系组合起来。连接操作比较复杂并有较多的 变化。
例如:学生登记表(S)和学生选课成绩表(SC)的连接,生成一个信息更全面的关系.对于已 选课程的学生而言,结果关系不但包含S表原来的信息,还在其上增加了该学生选修课程的课程号(CNO)和相应 的成绩(GRADE)。
注意:标识“主键” 注意:标识“主键”。用它来唯一区分 二维表中不同的元组( )。以上关系 二维表中不同的元组(行)。以上关系 数据模式中用下划线标注出的属性就是 该模式的主键。 该模式的主键。
6.2.1 关系数据模型结构和完整性 (3) )
-
关系数据模型的完整性
(教学要求:了解)
了解: ①关系模式用R(A1,A2,…Ai,…,An)表示,仅说明关系结构的语法,但并 不是每个符合语法的元组都能成为R的元组,它还要受到语义的限制。 ② 数据的语义不但会限制属性的值,而且还会制约属性间的关系。 例子: 如学生选课成绩表中的学生必须是学生登记表中已注册的学生等。
6.2.3 关系数据库语言 关系数据库语言SQL (4) )
查询实例
①单表查询 :查询所有男学生的情况.
SELECT * FROM S WHERE SEX=‘男’; ②
查询输出
数据库 ( DB )
连接查询 (查询同时涉及两个以上的表): 查询每个男学生及其选修课程的情况。 要求列出学生名,系别,选修课程名及成绩。
SC
SO N A4 01 A4 01 A4 01 C0 05 C0 05 M3 08 R9 08 R9 08 C O GA E N RD C 12 C1 9 2 M2 4 9 .5 E3 2 M21 S1 9 0 C 12 8 .5 C1 4 C2 2 S0 8 2 M2 4 E3 8 5 C2 2 S0 7 5 M21 7 .5 S1 0 SO N A4 01 A4 01 A4 01 C0 05 C0 05 M3 08 R9 08 R9 08 CO N C 12 C1 M2 4 E3 M21 S1 C 12 C1 C2 2 S0 M2 4 E3 C2 2 S0 M21 S1
6.2.2 二维表基本操作 (3) )
③ 投影 作为一元操作的投影操作,它作用于一个关系并产生另一个新关系。新关系中的属性 (列)是原关系中属性的子集。在一般情况下,其元组(行)的数量与原关系保持不变。 例如:需要了解学生选课情况而不关心其成绩时,可对学生选课成绩表(SC)进行相关 的投影操作,其结果的每个元组仅包括学号(SNO)和课程号(CNO)两个属性。
R为关系模式名,即二维表名。Ai(1≤i≤n)是属性名 为关系模式名,即二维表名。 ( 为关系模式名 )
学生登记表(学号,姓名,系别,性别,出生日期,身高) 学生登记表(学号,姓名,系别,性别,出生日期,身高) 课程开设表(课程号,课程名,学时,开课时间) 课程开设表(课程号,课程名,学时,开课时间) 学生选课成绩表(学号,课程号,成绩) 学生选课成绩表(学号,课程号,成绩) 或者 S(SNO,SNAME,DEPART,SEX,BDATE,HEIGHT ( , , , , , C(CNO,CNAME,LHOUR,SEMESTER) ( , , , ) SC(SNO,CNO,GRADE) ( , , )
其SQL语句为:
CREATE VIEW <视图名>[<列名>,…] AS <子查询>
6.2.3 关系数据库语言 关系数据库语言SQL (6) )
SQL视图的例:
数据库 ( DB )
例如,若建立管理工程系学生的视图ME_S,语句为:
CREATE VIEW ME_s AS (SELECT SNO,SNAME,SEX,BDATE,HEIGH , , , , FROM S WHERE DEPART=‘管理工程’) ; = 管理工程’
6.2.1 关系数据模型结构和完整性 (2) )
关系数据模式:
数据的关系模型结构就是二维表结构 3张二维表分别是数据对象 张二维表分别是数据对象 学生(S)”、“课程开设 “学生 、 课程开设(C)” 、 学生选课成绩(SC)”的反映 “学生选课成绩 的反映
这种用关系数据模型对一个具体单位中 客观对象结构描述,称为关系数据模式: 客观对象结构描述,称为关系数据模式: R(A1,A2,…,Ai…,An) ( , )
6.2.3 关系数据库语言 关系数据库语言SQL (2) )
SQL 数据库的体系结构
用户使用的二维 表模式, 表模式,对应于 视图
是应用部门整 体性的二维表 模式
6.2.3 关系数据库语言 关系数据库语言SQL (3) )
SQL的数据查询
查询是数据库的核心操作。SQL提供SELECT语句,具有灵活的使用 方式和极强查询的功能。关系操作中最常用的是“投影”、 “选择”和 “连接”,都体现在SELECT语句中.
第6章 信息系统与数据库 章
6.2 关系数据库简介 6.2.1 关系数据模型结构和完整性 6.2.2 关系数据模型的基本操作 6.2.3 关系数据库语言 关系数据库语言SQL
6.2.1 关系数据模型结构和完整性 (1) )
关系数据模型的二维表结构
用户看到的二维表结构
关系代数的术语
二维表”就是“关系” “二维表”就是“关系”
视图定义后,用户就可以象对基本表操作一样对 视图进行查询。
ME-S 管理工程系学生视图
例如,在管理工程系学生视图中找年龄大于25岁的学生, FROM ME_S
WHERE 2008-YEAR(BDATE)> ; - )>25; ( )>
SELECT SNANE 2008-YEAR(BDATE) ( )
相关文档
最新文档