通过示例理解数据库相关概念(一、关系,元组,域,键,笛卡儿积等等)

出发点:

数据中的各种定义实在看不下去,太离散数学了。只有直接看例子了,少牺牲点脑细胞。但是,没有了严谨的定义,很多东西就只可意味不可言传了。通过例子可以用来理解数据库的离散数学式的定义。

例子:

                                                                                        

Stu表
学号 姓名 性别 班级
201901 数数 11
201902 据据 12
201903 库库 13

 

关系(Relation):   Stu(学号,姓名,性别,班级)

元组(Tuple):   {201901,数数,男,711}   

键(Key):  {学号}和{姓名,性别}(假设没有同名且同性别)

             隐含键:  未被制定的键(还有一个名字替补键)

             候选键:  隐含键+主键

             超键:   如   学号,姓名     是一个超键

域:dom(学号) = {20101,201902,201903}      dom(姓名) = {数数,据据,库库}

度: 关系Stu的度为  4(因为表有4列)

笛卡尔积:

        名集D1=(数数,据据,库库)  班级集D2=(11,12,13)

        D1与D2的笛卡尔积为:D1 X D2 = { (数数,11),(数数,12),(数数,13),

                           (据据,11),(据据,12),(据据,13),

                           (库库,11),(库库,12),(库库,13) }

广义笛卡尔积:

广义笛卡尔积的对象是    关系,操作的单位直接是元组,而不是具体的元素

             假设有班级表

                                                                           

Class表
班级 班主任
11 miss11
12 miss12

 

             关系与关系Class的广义笛卡尔积为:StuStu  X  Class:

 

 

StuStu  X  Class:
Stu.学号 Stu.姓名 Stu.性别 Stu.班级 Class.班级 Class.班主任
201901 数数 11 11 Miss11
201901 数数 11 12 Miss12
201902 据据 12 11 miss11
201902 据据 12 12 miss12
201903 库库 13 11 miss11
201903 库库 13 12 miss12

        


 

 

你可能感兴趣的:(数据库)