用层次模型只能描述一对多的联系,但是现实里并不单单只存在一对多的联系,网状结构则克服了这一问题。
网状数据库系统采用网状模型作为数据的组织方式。网状数据结构的典型代表是DBTG系统,但是它并不是一个数据库系统软件。
在数据库中,满足允许一个以上的结点无无双亲、一个结点可以有多于一个的双亲这两个条件的基本层次联系集合称为网状模型。
显然,网状模型比层次模型更具有普遍性,因为它去除了层次模型的两个限制(只有一个根结点以及只有一个双亲结点),它更直接描述了现实世界。而实际上层次模型只是网状模型的一个特例。
和层次模型一样,网状模型同样是一个结点表示一个实体,每个实体有若干个属性,实体间的联系用实体间的连线表示
以学生选课为例,一个学生可以选多门课程,一门课程可以有多名学生,所以它是一个多对多的联系。学生的属性有学号、姓名、系别,课程的属性有课程号、课程名以及它所占的学分。因为DBTG系统是不支持记录类型间多对多联系,所以需要引进一个选课记录。选课记录的属性包含了学生的学号、课程的课程号以及学生的成绩。则学生选课的网状数据模型如下图所示: