zoukankan      html  css  js  c++  java
  • 数据库SQL---关系模型与关系代数

    1、关系数据库:表的集合,即关系的集合。

         关系数据库=关系数据库模式(型)+关系数据库内容(值)

    1)域:一组具有相同数据类型的值的集合。

    2)笛卡尔积:对集合进行穷举外变一次内变一边,是一张二维表,表中的一行对应于一个元组,表中的一列的值来自于同一个域。

         给定一组域D1,D2,...,Dn的笛卡尔积为D1×D2×...×Dn={(d1,d2,...,dn)|di€Di,i=1,2,...,n},其中集合中的每一个元素(d1,d2,...,dn)称为一个n元组,简称元组,元组中的每一个值di称为一个分量

    3)关系:笛卡尔积的子集,是一张二维表。

    2、关系模式:简记为r(U)或r(D1,D2,...,Dn),其中r是关系的名字,U是属性名(D1,D2,...,Dn)的集合,n是关系的目(或度),当n=1时,称该关系为单元关系;当n=2时,称该关系为二元关系。

    3、码

    1)超码:属性集A可以唯一地标识关系r中的一个元组,则称属性A为关系r的超码。

    2)全码:所有属性加在一起组成的候选码。

    3)候选码:属性集A是关系r的超码,且属性集A的任意真子集都不能称为关系r的超码,则称属性集A为候选码。候选码是最小的超码,即最小属性组。

    候选码的诸属性称为主属性,不能为空。不包含在任何候选码中的属性称为非码属性。

    4)主码:若一个关系有多个候选码,则可选定其中一个候选码作为该关系的主码。

    5)外码:F是关系r的一个属性,Ks是关系s的主码,若F与Ks相对应,则称F是关系r参照关系s的外码,简称F是关系r的外码,并称关系r为参照关系,关系s为被参照关系或目标关系。

    4、关系完整性约束

          关系模式中3类数据完整性约束:实体完整性、参照完整性、用户自定义完整性,其中前两种称为关系的两个不变性。

    1)实体完整性:若属性集A是关系r的主码,则A不能取空值null,即主属性不能为空。

    2)参照完整性:主键与外键的关系,外码的取值要么为空,要么为与之对应的主码的值。

    3)用户自定义完整性:限制关系中某些属性的取值、限制关系中某些属性的取值之间需要满足一定的逻辑关系、限制关系中某属性集上的取值必须唯一。

    5、关系模式中的关系操作:查询操作(最主要部分)、更新操作。

    特点:集合操作方式,即操作的对象和结果都是集合。该操作方式也称为一次一集合方式,非关系数据模型的数据操作方式称为一次一记录方式。

    6、传统的集合运算:将关系看作元组的集合,从关系的水平方向来进行的。

    1)并υ:rυs,由属性r或属性s的所有元组组成,删去重复元组。

    2)差−:r−s,由属性r的所有元素组成,从中删除与属性s相同的元组。

    3)交∩:r∩s,由既属于r又属于s的所有元组组成,取相同的元组。

    4)笛卡尔积×:r×s,关系r为n目元组的集合,关系s为m目元组的集合,结果为一个n+m目元组的集合,元组的前n列是关系r的一个元组,后m列是关系s的一个元组。 

    7、关系运算

    1)选择σ:选出若干行。是一个逻辑表达式,取值为“真”或“假”。

    2)投影Π:选出若干列,并从删除重复列。

    3)连接(θ连接):从两个关系的笛卡尔积中选取连接属性间满足谓词θ的所有元组。

    (1)等值连接:θ为等值比较谓词的连接运算。

    (2)自然连接:特殊的等值连接,要求两个参与连接的关系具有公共的属性集,并在该属性集上进行等值连接,并去除重复列。

    (3)外连接:把不能连接的元组也保留到结果关系中,关系r中不能连接的元组在结果中对应于关系s的属性全部置空。

    (4)左外连接:把左关系中不能连接的元组保留到结果关系中。

    (5)右外连接:把右关系中不能连接的元组保留到结果关系中。

    4)除运算÷:求投影。

  • 相关阅读:
    位运算02 零基础入门学习C语言65(完)
    PE格式详细讲解4 系统篇04|解密系列
    PE格式详细讲解4 系统篇04|解密系列
    int指令02 零基础入门学习汇编语言65
    Tabhost漂亮的自定义实现(背景随着选项卡滑动改变)
    Android API Guide 之 User Interface笔记
    java程序员菜鸟进阶(九)windows下搭建SVN服务器及配置myeclipse SVN客户端
    android 左右页面滑动(滑屏)增加layout文件 而不是drawable(还有activity)
    android 最简单的九宫格实现
    ViewPager
  • 原文地址:https://www.cnblogs.com/xqy1874/p/12808572.html
Copyright © 2011-2022 走看看