数据库第二章作业-关系数据库

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

(1)域,笛卡尔积,关系,元组,属性;

①域:一组具有相同数据类型的集合。笛卡尔积中的每一个集合就是一个域。

②笛卡尔积:给定一组集合D1,D2,…,Dn且它们可以相同。它们的笛卡儿积定义为D1×D2…Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n},其中的每一个元素(d1,d2,…,dn)称为一个n元组或简称元组。

③关系:笛卡儿积D1×D2…×Dn上的任意子集都称为集合D1,D2,…,Dn上的关系,也称为n元关系,它是n元组的集合,记作:R(D1,D2,…,Dn)。

④元组:关系中的每个元素是称为关系中的一个元组。

⑤属性:关系等价于一张二维表,表的每一行对应一个元组,每一列对应一个域,且将这个域称为关系的一个属性。由于域可以相同,为了区分他们,必须给每列起一个名字,称为属性名。

(2)主码,候选码,外码;

①主码:若一个关系有多个候选码,则选定其中一个为主码。

②候选码:若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码候选码的诸属性称为主属性。不包含在任何候选码中的属性称为非主属性或非码属性。在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式的所有属性是这个关系模式的候选码,称为全码。

③外码:设F是基本关系R的一个或一组属性,但不是关系R的码,Ks是基本关系S的主码。如果F与Ks相对应,则称F是R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。关系R和S不一定是不同的关系。

(3)关系模式,关系,关系数据库。

①关系模式:关系的描述称为关系模式。它可以形式化地表示为R(U,D,DOM, F)
其中R为关系名,U为组成该关系的属性名集合,D为U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。

②关系:关系是关系模式在某一时刻的状态或内容。

③关系数据库:在一个给定的应用领域中,所有关系的集合构成一个关系数据库。关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述。关系数据库模式包括若干域的定义,以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。

2 举例说明关系模式和关系的区别。

关系模式是型;关系是值,是关系模式的实例。例如:Student(Sno, Sname, Sage)是关系模式,下面的表是关系,即某一时刻关系模式的值。

Sno

Sname

Sage

S1

小明

14

S2

小王

18

S3

小红

20

3 设有一个SPJ数据库,包括S、P、J及SPJ4个关系模式,试用关系代数完成以下查询:

(1)求供应工程J1零件的供应商号码SNO;

πSNO(σJNO=’J1’(SPJ))

(2)求供应工程J1零件P1的供应商号码SNO;

πSNO(σJN0=’J1’⋀PNO=’P1’(SPJ))

(3)求供应工程J1零件为红色的供应商号码SNO;

πSNOJNO=J1ΛCOLOR=(SPJ⨝P))

(4)求没有使用天津供应商生产的红色零件的工程号JNO;

πJN0-πJN0CITY=天津⋀COLOR=(S⨝SPJ⨝P))

(5)求至少用了供应商S1所供应的全部零件的工程号JNO。

πJN0,PNO(SPJ)÷πPNOSNO=S1(SPJ))

4 在学生,教师,选课,授课表数据库中用关系代数完成下列操作:

(1)求年龄在22岁以下的女同学

σ年龄<22⋀性别=‘女’(学生)

(2)求学生胡伟所在系

π专业σ姓名=‘胡伟’(学生))

(3)求成绩在90分以上的学生的学号

π学号成绩>90(选课))

(4)求选修数据库课程的学生姓名

π姓名课程名=数据库(选课⨝课程⨝学生))

(5)求选修全部课程的学生的姓名和学号

π学号,课程号(选课)÷π课程号(课程)⨝π学号,姓名(学生)

(6)求至少选修了李三同学所修课程的学生姓名

π姓名((π学号,课程号(选课)÷(σ姓名=李三(学生)⨝选课))⨝学生)

(7)求所有学生及他们所选修的课程

学生π学号,课程号(选课)⨝课程

你可能感兴趣的:(作业,数据库,mysql)