软件工程之关系数据库基础摘要.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 投影运算 * S# SN AGE SEX DEP S1 A 20 M CS S2 B 21 F CS S3 C 19 M MA S4 D 19 F CI S5 E 20 F MA S6 F 22 M CS SN DEP A CS B CS C MA D CI E MA F CS DEP CS MA CI S 对学生姓名和所在系属性取投影 ?SN,DEP(S) 或 ?2,5(S) 查询学生关系中都有哪些系 ?DEP(S) 或 ?5(S) 设关系R(X,Y),X,Y均为属性集合。关系R在属性X上的投影是在关系R中选取X属性的相应列并删去重复行,组成一个新关系。这是从关系的垂直方向上(列的角度)取子集的运算。 投影结果关系记作: 实例: 专门的关系运算_连接运算 * A B C a1 2 c a2 4 d a3 4 c D E d 4 e 10 A B C D E a1 2 c d 4 a1 2 c e 10 a2 4 d e 10 a3 4 c e 10 R S R S BE A B C D E a1 2 c d 4 a1 2 c e 10 a2 4 d d 4 a2 4 d e 10 a3 4 c d 4 a3 4 c e 10 R×S ? ? ? ? ? ? 连接运算就是从两个关系的笛卡尔乘积中选取满足连接条件的那些元组。 连接结果记作: 实例: 专门的关系运算_等值连接运算 * S D SNO SNAME DNO DNO DEPT SNO SNAME DNO D.DNO DEPT C1 Li 01 01 计算机 C1 Li 01 01 计算机 C2 Wang 01 02 信息 C2 Wang 01 01 计算机 C3 Jin 02 03 园林 C3 Jin 02 02 信息 C4 Zhang 03 C4 Zhang 03 03 园林 C5 Yang 02 C5 Yang 02 02 信息 设有关系S和D,如下图所示。S与D在DNO属性上的等值连接结果如图所示。 * SQL语言概述 SQL:Structured Query Language,结构化查询语言 一种介于关系代数与关系演算之间的语言 美国1986年10月正式把SQL语言作为关系数据库的标准语言,并公布了第一个SQL语言的标准,即SQL86。此后不久,国际标准化组织(ISO)也于1987年通过了这个标准。 1989年,ISO又公布了SQL89标准。 1992年,ISO又公布了SQL92标准。 目前,新标准SQL3也正式发表。 关系数据库的标准语言 功能 数据的定义、查询、操纵、控制 * SQL语言的动词 SQL功能 动词 数据查询 SELECT 数据定义 CREATE,DROP,ALTER 数据操纵 INSERT,UPDATE,DELETE * 数据查询语句——SELECT SQL语言格式 SELECT 列名 :投影 FROM 表名 :连接 WHERE 条件 :选取 GROUP BY 列名 :分组 HAVING 条件 :分组条件 ORDER BY 列名 :排序 * 简单的SELECT查询语句例 查询指定的列 查询学生的姓名年龄和性别 SELECT 姓名,年龄,性别 FROM student; 查询使用有表达式的列 SELECT子句的目标列表达式不仅可以是表中的属性列,也可以是表达式。 查询全体学生的姓名及其出生年份。 SELECT 姓名,2000-年龄 FROM student; * 比较复杂的SELECT语句例 检索出至少选修三门课的学生学号、姓名、平均成绩和选课门数 SELECT S.SNO AS 学号,SN AS 姓名,AVG(GRADE) AS 平均分,COUNT(*) AS 选课门数, FROM S,SC,C WHERE S.SNO=SC.SNO AND SC.CNO=C.CNO GROUP BY S.SNO,SN HAVING COUNT(*) =3 * 程序中SELECT语句的优化 应用程序经常要面对海量的数据库数据,要快速的检索出所需数据,需对查询语句进行优化。 例如数据的分页显示。 分页SQL语句例: SELECT TOP PAGESIZE * FROM ZZZY WHERE ID NOT IN (SELECT TOP PAGESIZE*PAGE ID FROM ZZZY ORDER BY ID) ORDER BY ID SELECT TOP PAGESIZE * FROM ZZZY WHERE ID (SELECT MAX(ID) FROM (SELECT TOP PAGESIZE*PAGE ID FROM ZZZY ORDER BY ID)

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档