数据库的关系解释和关系代数

一 定义并理解下列术语,说明他们之间的区别和联系

  • 1 域,属性,笛卡尔积,关系,元组
    【1】域 每个属性的取值范围对应一个值的集合,称为该属性的 域
    例如:姓名的域是 10 位字符;性别的域为{男,女}
    【2】属性 在现实世界中,要描述一个实物常常取若干特征来表示,这些特征称为属性。在二维表里属性也称为列
    【3】笛卡尔积:两个集合X和Y的笛卡儿积(Cartesian product),又称直积,表示为X × Y,是其第一个对象是X的成员而第二个对象是Y的一个成员的所有可能的有序对。
    笛卡尔积的符号化为:A×B={(x,y)|x∈A∧y∈B}
    若A={a,b}, B={0,1,2},则
    A×B={(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}
    B×A={(0, a), (0, b), (1, a), (1, b), (2, a), (2, b)}

    【4】元组:笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组。 在二维表里,元组也称为行。
    【5】关系: D1×D2×…×Dn的 子集 叫作在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)
    将关系看作一张二维表,则属性被称为列,元组则称为行。

  • 2 主码,外码和候选码
    【1】候选码:若关系中的一个属性或属性组的值能够唯一地标识一个元组,且他的真子集不能唯一的标识一个元组,则称这个属性或属性组做候选码。
    【2】主码:若一个关系有多个候选码,则选定其中一个为主码。
    【3】外码:关系R中的一个属性组,他不是R的候选码,但它与另一个关系的候选码相对应,则称这个属性组为R的外码/外键。
    通常情况下,两个关系通过外码相互连接。

  • 3 关系,关系模式,关系数据库
    【1】关系模式:关系的描述称为关系模式(Relation Schema)它可以形式化地表示为:R(U,D,dom,F)
    其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映象集合,F为属性间数据的依赖关系集合。
    【2】关系:D1×D2×…×Dn的 子集 叫作在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn) R:关系名,n:关系的目或度
    【3】关系数据库:在一个给定的应用领域中,所有实体及实体之间联系的集合构成一个关系数据库。
    关系数据库的型与值:关系数据库的型称为关系数据库模式,是对关系数据库的描述,若干域的定义,在这些域上定义的若干关系模式;关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常简称为关系数据库。

  • 4 关系模型的完整性规则
    【1】实体完整性:按实体完整性规则要求,主属性不得取空值,如主关键字是多个属性的组合,则所有主属性均不得取空值。
    【2】参照完整性:这条规则要求关系中元组在组成主键的属性上不能有空值.如果出现空值,那么主键值就起不了唯一标识元组的作用.
    *这条规则要求“不引用不存在的实体”.其形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么R2的关系中,K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主键值.这条规则的实质是“不允许引用不存在的实体”。
    【3】用户定义的完整性:是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。这一约束机制一般不应由应用程序提供,而应有由关系模型提供定义并检验,用户定义完整性主要包括字段有效性约束和记录有效性。

  • 5 在参照完整性规则中,什么情况下外码的值可以为空值
    若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
    或者取空值(F的每个属性值均为空值);
    或者等于S中某个元组的主码值。*

  • *6 设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: *
    S( SNO,SNAME,STATUS,CITY);
    P(PNO,PNAME,COLOR,WEIGHT);
    J(JNO,JNAME,CITY);
    SPJ(SNO,PNO,JNO,QTY);
    供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
    在这里插入图片描述
    (1)求供应工程J1零件的供应商号码SNO;
    Π S N O ( σ J N O = J 1 ( S P J ) ) \Pi_{SNO}(\sigma_{JNO =' J1'}(SPJ))
    (2)求供应工程J零件P1的供应商号码SNO;
    Π S N O ( σ J N O = J 1 P N O = P 1 ( S P J ) \Pi_{SNO}(\sigma_{JNO='J1'∧PNO='P1'}(SPJ)
    (3)求供应工程JI零件为红色的供应商号码SNO
    ; Π S N O ( Π S N O , P N O ( σ J N O = J 1 ( S P J ) ) ) Π P N O ( σ C O L O R = ( P ) ) ) \Pi_{\left.S N O\left(\Pi_{S N O, P N O}\left(\sigma_{J N O=^{\prime} J 1^{\prime}}(S P J)\right)\right)\Join \Pi_{P N O}\left(\sigma_{C O L O R=^{\prime} \mathbb{红}^{\prime}}(P)\right)\right)}
    (4)求没有使用天津供应商生产的红色零件的工程号JNO; Π J N O ( J ) Π J N O ( Π S N O ( σ C I T Y =   ( S ) ) Π S N O , P N O , J N O ( S P J ) Π P N O ( σ C O L O R =   ( P ) ) ) \Pi_{J N O}(J)-\Pi_{J N O}\left(\Pi_{S N O}\left(\sigma_{C IT Y=^{\prime}} \ _{天津^{\prime}}(S)\right) \bowtie \Pi_{S N O, P N O, J N O}(S P J) \bowtie \Pi_{P N O}\left(\sigma_{C O L O R=^{\prime} 红\ ^{\prime}}(P)\right)\right)
    (5)求至少用了供应商S1所供应的全部零件的工程号JNO.
    Π J N O , P N O ( S P J ) ÷ Π P N O ( σ S N O = S 1 ( S P J ) ) \Pi_{J N O, P N O}(S P J) \div \Pi_{P N O}\left(\sigma_{S N O=^{\prime} S 1^{\prime}}(S P J)\right)
    手写:
    在这里插入图片描述

  • 7 关系代数的基本运算有哪些,如何用这些运算表示其他运算
    并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他三种运算,即交、链接和除,均可以用这5种运算来表达

发布了11 篇原创文章 · 获赞 6 · 访问量 2713

猜你喜欢

转载自blog.csdn.net/lrx359641708/article/details/104720852
今日推荐