一、层次和网状数据模型

            层次数据模型:基本想法:现实生活中很多东西都用层次

                    记录和域:比如学生是记录(现实生活中的实体),学号、班级等就是域

                    双亲子女关系:表达现实世界中的一个一对多关系,两个记录类型之间;比如一个系有多个班级

                    多个PCR关系形成树形结构,一个记录类型只能有一个父类型                

                    现实世界中有很多多对多关系,并且一个记录类型可能有多个父类型,并且还存三元模型,难以表示;为此引入了虚记录类型,实际上是一个指针;

                    网状数据模型:

                        基本数据结构为set,一个set表达了现实世界中的两个记录类型的一对多关系,1为主记录,N为属记录,一个记录类型可以是多个系的主记录,也可以是多个系的属记录

                        突破了层次数据模型的限制、记录和数据项(可以是一个向量,即复合类型)、set(系)、LINK记录类型(表达现实世界中表达多对多和N元模型)

   数据库学习笔记(数据模型)

二、关系数据模型

            基本数据结构:表 实体和联系都用表来表示

            特性:A、基于集合论,抽象级别更高 

                      B、屏蔽了底层细节,容易理解

                      C、可以建立新的代数系统-关系代数

                      D、定义非过程化查询语言-SQL

                      E、软连接           

            属性(attribute):比如姓名、学号等等

            域(domain):取值范围         原子的,不能再分,基本数据类型,允许为null;

           关系(relation):实体和实体之间的联系被表达为一个或多个关系;一个关系是在它所有属性的值域上定义的N元联系,属性的个数称为目

            元组(tuple):一行

            主键(primary key):

                    1、这个关系里任意两条不同元组在这个属性上的值不相等(即该属性的值唯一决定其他属性的值)

                    2、这个属性组的任何子集不满足条件1

                        A、满足1不满足2称为超键

                        B、如果有多个,则有DBA选择一个为primary key,其余的为alternate key

                        C、如果由所有属性组成,则称之为全键

            外键(foreign key):用一组属性引用其他表内的元组,该属性为其他表内的主键,则称为这张表内的外键(不为空)

            其他完整性约束:A、域完整性约束(每个值都应该复合值域)B、实体完整性约束(主键不能为空)

            关系代数:

                基本操作:selection()选择满足关系的元组    

                                        模式:与原关系相同

                                projection(π)删除不需要的属性       

                                        模式:结果关系里面的属性就是运算符里面的属性    

                                        必须消除结果中可能出现的重复元组,因为重复元组表示同一个实体(实际系统中,不会特意删除,                                          除非用户自己要求)

                                 cross—product(x)笛卡尔乘积,把两个关系拼接

                                 set-difference(-)找出属于第一个关系不属于第二个关系的元组

                                 union(并)合并两个满足并兼容关系的元组

                                                并兼容条件:A、属性个数相同        B、对应属性类型相同

                                 condition join(条件连接):R和S条件连接,先RXS,在根据条件C选择

数据库学习笔记(数据模型)

                            Equi-Join:等值连接,如果条件连接里面的条件全是等值,等值只保留一个

                            Natural-Join:自然连接,所有的公共属性都做等值连接

                            Division(除法):常用于查找所有;A/B(A中有x,y,B中有y):对关系B中任何一个y,A中都有对应的                                                              xy,这样的x即为所求

数据库学习笔记(数据模型)

                        Outer-Join(外连接):左外连接,右外连接,全外连接;

                        Outer-Unions(外并操作):参与运算的属性的并,元组也是参与运算的属性的并

                    关系演算(非过程化)

                                原子公式:<x1,x2,...,xn>属于Rnname,XopY,X op constant

                            元组关系演算(TRC)

                            域关系演算(DRC)

  三、E-R模型

                            基数比约束:可以一对多,多对多,多对一,一对一

                            参与度约束:每一个实体参与某一个联系的最大最小次数

相关文章: