- 1、本文档共123页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[第2章关系数据库理论基础
4.关系中的元组分量具有原子性,即每一个分量都必须是不可分的数据项。 5.不同的列可出自同一个域 其中的每一列称为一个属性 同一关系中:不同的属性要给予不同的属性名 如: EMPLOYEE(SSN,NAME,BDATE,SEX,ADDRESS, SALARY,SUPERSSN,DNO) 或: EMPLOYEE(雇员工号、雇员姓名、出生日期、性别、家庭住址、工资、经理工号、部门号) 2.主键(Primary key)/主码 (只有一个) 若一个关系中有多个候选键,则选定一个为主键 如:选定“工号” 3 .主属性(Primary Attribute) 候选码所包含的各属性称为主属性。 如主属性:工号、身份证号 4.非主属性(Non-key attribute): 不包含在任何候选码中的属性。 如:姓名、性别、出生年月、家庭地址、系号 注: ?同一关系内部属性间也可以存在引用关系,外码与所参照的属性必须定义在同一个(或一组)域上。 思考:哪个是参照关系?哪个是被参照关系? ?外码与相应的主码名可以取不同的名字 3)用户定义完整性(User-defined Integrity) 并 交 差 4. 广义笛卡尔积(Extended Cartesian Product) R n元关系,k1个元组 S m元关系,k2个元组 R×S 列:(n+m)列的元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组 行:k1×k2个元组 R×S = {trts |tr ?R ∧ ts?S } 广义笛卡尔积 2.3.2 专门的关系运算 专门的关系运算包括:选择、投影和连接,用于数据查询服务。 1. 选择(Selection) 1) 选择又称为限制(Restriction) 2) 选择运算符的含义 在关系R中选择满足给定条件的诸元组 σF(R) = {t|t?R∧F(t)= 真} F:选择条件,是一个逻辑表达式,基本形式为: [?( ] X1θY1 [ )][φ [?( ] X2θY2 [ )]]… θ:比较运算符(>,≥,<,≤,=或) X1,Y1等:属性名、常量、简单函数;属性名也可以用它的序号来代替; φ:逻辑运算符(∧或∨) [ ]:表示任选项 …:表示上述格式可以重复下去 3) 选择运算是从行的角度进行的运算 4) 举例 设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC。 [例1] 查询信息系(IS系)全体学生 σSdept = IS (Student) 或 σ5 =IS (Student) 结果: [例2] 查询年龄小于20岁的学生 σSage 20(Student) 或 σ4 20(Student) 结果: 2. 投影(Projection) 投影:是从指定的关系中挑选出某些属性构成新的关系。投影的结果将取消由于取消了某些列而产生的重复元组。 1)投影运算符的含义 从R中选择出若干属性列组成新的关系 πA(R) = { t[A] | t ?R } A:R中的属性列 ? 2)投影操作主要是从列的角度进行运算 但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行) 3) 举例 [例3] 查询学生的姓名和所在系 即求Student关系上学生姓名和所在系两个属性上的投影 πSname,Sdept(Student) 或 π2,5(Student) 结果: [例4] 查询学生关系Student中都有哪些系 πSdept(Student) 结果: 3. 连接(Join) 连接:是将两个和多个关系连接在一起,形成一个新的关系。(按照给定条件) 或者说,连接运算的结果是在两关系的笛卡尔积上的选择。 1)连接也称为条件连接 2)连接运算的含义 从两个关系的笛卡尔积中选取属性间满足一定条件的元组 R S = { | tr ? R∧ts ?S∧tr[A]θts[B] } A和B:分别为R和S上度数相等且可比的属性组 θ:比较运算符? 3)两类常用连接运算 等值连接(equijoin) 什么是等值连接 θ为“=”的连接运算称为等值连接 等值连接的含义 从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为: R S = { | tr ?R∧ts ?S∧tr[A] = ts[B] } 自然连接(Natural join) 什么是自
文档评论(0)