数据库第二章关系数据库作业及个人理解

新的一周啦,同样此篇博客作为作业同时也作为自己对所学知识理解的记录,这一周确实涉及到了更多的概念,可能有些地方的语言真的不够严谨或者出现混淆QAQ,希望路过的大佬们能给予斧正。

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

①域 笛卡尔积 关系 元组 属性

域:
域是一种具有相同类型数据的的集合。
例如:

  • 整数
  • 实数
  • 介于某个范围取值的整数
  • 指定长度的字符串集合
  • {‘男’,‘女’}

笛卡尔积:
给定一组域D1,D2,D3,……,Dn 允许其中某些域是相同的,那么D1,D2,D3,……,Dn的笛卡尔积是
D1×D2×D3×……×Dn={(d1,d2,d3,……,dn)|di∈Di,i,2,3,……,n}

  • 所有域的取值的集合
  • 不能重复
    例如:
    A={a,b},B={1,2}
    A×B={(a,1),(a,2),(b,1),(b,2)}
    通俗理解,几个域的笛卡尔积就是从每个域中任取一个数据,进行排列组合,所有排列组合的结果的集合就是笛卡尔积。

元组:
元组即笛卡尔积中的元素,像上述例子中的(a,1)(a,2)……都是元组,是2元组。
补充:分量和基数
分量是元组中的每一个值,上述例子中a,b,1,2,都是分量。
基数,如果Di是有限,那么他的基数就是这个域中元素的个数,D1×D2×……×Dn的基数就是每个域的基数的积。

关系:
D1×D2×D3×……×Dn的子集称作是在域D1,D2,……,Dn上的关系。
关系的表示:
关系的表示是一个二元表,每行是一个元组,每列是一个属性

②主码 候选码 外码
候选码:

若关系中的某一属性组能唯一地标识一个元组,那么就称这个属性组为候选码。
最简单的情况:候选码属性组中只有一个属性,即只有一个属性即可定位到特定的元组。就好比学号对学生的对应,学号就可以直接作为学生信息这一关系的候选码。
最极端的情况:所有的属性加在一起组成候选码,也成为全码。

主码:
若一个关系有多个候选码,那么选定其中一个为主码。
主属性
候选码的诸属性为主属性。
不包含在任何候选码的属性成为非主属性或非码属性。

外码:
设F是基本关系R中的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则程F是R的外码。
基本关系R称为参照关系。
基本关系S称为被参照关系
在这里插入图片描述
如上图所示,“专业号”属性F是学生关系的外码。
专业关系S是被参照关系,学生关系为参照关系。
外码被称作码,但是在它所在关系里面,并不是作为码的属性(如果参照关系和被参照关系不是同一个),而是和所在关系的被参照关系的主码有联系,才被称作“码”。
在这里插入图片描述
③关系模式 关系 关系数据库
关系模式:
在这里插入图片描述关系:
上面已经介绍过,关系即涉及到的域的笛卡尔积的子集。

关系数据库:
在一个给定的应用领域中,所有的关系的集合构成一个关系数据库。

  • 关系数据库的型:关系数据库的模式,是对关系数据库的描述。
  • 关系数据库的值:关系模式在某一时刻对应的关系的集合,通常称为关系数据库。

试述关系模型的关系完整性规则。在参照完整性中,什么情况下外码属性的值可以为空值?

在这里插入图片描述


关系运算的练习

在这里插入图片描述在这里插入图片描述
试用关系代数
(1)求供应工程J1零件的供应商号码SNO;
Π S N O \Pi_{SNO} ( σ J N O = J 1 \sigma_{JNO='J1'} ( S P J ) (SPJ) )
(2)求供应工程J1零件P1 的供应商号码SNO;
Π S N O \Pi_{SNO} ( σ J N O = J 1 P N O = P 1 \sigma_{JNO='J1'\land PNO='P1'} ( S P J ) (SPJ) )
(3)求供应工程J1零件为红色的供应商号码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_{SNO(\Pi_{}SNO,PNO(\sigma_{JNO='J1'}(SPJ)\Join \Pi_{PNO}(\sigma_{COLOR='红'}(P)))}
(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_{JNO}(J)-\Pi_{JNO}(\Pi_{SNO}(\sigma_{CITY='天津'}(S))\Join \Pi_{SNO,PNO,JNO}(SPJ)\Join \Pi_{PNO}(\sigma_{COLOR='红'}(P)))
(5)求至少用了供应商S1所供应的全部零件的工程号JNO。
Π J N O , P N O ( S P J ) ÷ Π P N O ( σ S N O = S 1 ( S P J ) ) \Pi_{JNO,PNO}(SPJ)\div \Pi_{PNO}(\sigma_{SNO='S1'}(SPJ))


关系代数的基本运算都有哪些?如何用这些基本运算表示其他运算?

关系代数的基本运算包括传统的集合运算和专门的关系运算。

  • 传统的集合运算
    ∩,∪,-,×(笛卡尔积)
  • 专门的关系运算
    选择( σ \sigma ),投影( Π \Pi ),连接( \Join ),除( ÷ \div

并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他三种运算,即交、连接和除,均可以用这5种运算来表达。

发布了10 篇原创文章 · 获赞 7 · 访问量 2595

猜你喜欢

转载自blog.csdn.net/weixin_45180685/article/details/104690112