数据库基础<二>关系数据库

来源:互联网 发布:珠宝批发软件 编辑:程序博客网 时间:2024/04/27 07:40

一、关系数据结构及形式化定义


1、关系模式的数据结构


     关系模式的数据结构非常简单,只包含单一的数据结构:关系


2、形式化定义


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

      笛卡尔积

      关系

      候选码:若关系中的某一属性组能唯一地标识一个元组,则称该属性组为候选码

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

      候选码的诸属性成为主属性,不包含在任何候选码中的属性称为非主属性或非码属性

      全码:关系模式的所有属性是这个关系模式的候选码,称为全码

      关系类型:基本关系(基本表/基表)、查询表、视图表


二、关系操作


连接:

           等值连接:在笛卡尔积中选取两属性值相等的那些元组。

           自然连接:等值连接的基础上,去掉重复的属性列

           外连接:把舍弃的元组也保存在结果中,而在其他属性上填空值。如果只把左(右)边关系中要舍弃的元组保留就叫做左(右)外连接。

具体实例:


       


三、关系的完整性


1、实体完整性

  

     实体完整性规则:若属性(指一个或一组属性)A 是基本关系 R 的主属性,则 A 不能取空值

 

2、参照完整性



      外码:设 F 是基本关系 R 的一个或一组属性,但不是关系 R 的码。 Ks 是基本关系 S 的主码。 如果 F 与 Ks 相对应,则称 F 是 R 的外码。如下图:

    

                               

                                 实例:学生(学号,姓名,性别,专业号)

                                            专业(专业号,学分,授课老师)

                                            上面的学生关系的”专业号“属性与专业关系的主码”专业号“相对应,因此”专业号“属性是学生关系的外码



      参照完整性规则:若属性(或属性组)F 是基本关系 R 的外码,它与基本关系 S 的主码 K 相对应(基本关系 R 和 S 不一定是不同的关系),

                                   则对于 R 中每个元组在 F 上的值必须为:

                          

                                   或者取空值(F 的每个属性值均为空值);

                                   或者等于 S 中某个元组的主码值。

          

                                   实例:如上面的例子中,学生关系中每个元组的”专业号“属性只能取下面两类值:

                                              空值:表示尚未给该学生分配专业

                                              非空值:这时该值必须是专业关系中元组”专业号“的值,表示该学生不可能分配到一个不存在的专业中。

                                  即被参照关系”专业“中一定存在一个元组,它的主码值等于该参照关系”学生“中的外码值。

  

3、用户定义完整性


      用户定义完整性就是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。

                       例如某个属性必须取唯一值、某个非主属性也不能取空值等等。




0 0
原创粉丝点击