第三章    数据的组织与管理   

[      浏览次数:0 ]

 

数据、数据元素、数据项

   

案例1:观察学生档案管理方法,每个学生都有学号、姓名、性别、出生日期等各种信息,这些信息是如何组织的?同学与同学之间的信息是如何区分的?

 

        在档案室里,每个学生的信息放在档案袋里,每个学生所有的信息作为一个整体放在档案室里,对学生的资料进行整理、摆放、查找等都以都以某个学生的所有的信息(档案袋)为基本单位进行的。

 

       组成数据的基本单位称为数据元素。

 

       同样,在图书馆信息表中可以将每一本书的基本信息作为基本数据单位,这样每本书的信息也称为一个数据元素。打扑克时每一张牌也称为一个数据元素。

 

       数据元素是作为一个整体进行组织和管理的,它也是进行计算的基本单位,在不同的场合,根据需要,将数据元素也成为元素、结点或记录。

  

案例2: 一个学生档案表中的包含的信息由哪几部分组成?

 

       打开学生的资料袋,可以看见学生的所有信息,即数据元素包括学号、姓名、性别、专业、出生年月、照片等信息。

 

       组成数据元素的每一项称为数据项,例如,一个学生的信息可以由学号、姓名、性别、专业、出生年月、照片等数据项组成,有时也可以将数据项称为字段或者域,数据项是数据的最小标识单位。

 

      在一些特殊情况下,一个数据元素可以只有一个数据项组成,例如,1000以内的所有素数组成的数据项就是这样。

 

       每个数据项在计算机中可以使用不同的数据元素来表示,例如,姓名、专业可以使用文本型,年龄、借书期限、图书定价可以使用数值型,出生日期可以 使用日期型,等等。

 

       数据、数据元素和数据项反映了 组织的三个层次,数据由若干个数据元素组成,每个数据元素又由若干个数据项构成。

 

        分析学生的信息、图书信息、某个电子产品例如MP4或手机,指出这个不同信息的上数据元素分别由哪些数据项组成。

 

       不同类型的信息,组成数据元素的数据项也不完全相同,在处理时通常要分别进行。

 

数据之间的联系

 

案例3一个星期7天的名称组成了一个字符串(或称为文本)的集合,按正常的顺序,这7个数据元素之间构成了一个先后关系,该数据可表示为{星期一、星期二、星期三、星期四、星期五、星期六、星期日}。

 

        在上面的关系中,“星期四”这个元素是“星期三”的后继,同时也是"星期五"的前趋,而"星期一"有一个后继但没有前趋,“星期日”有一个前趋但没有后继。

 

        对于按辈分描述某个三口之家的三个成员之间关系,如果不考虑平辈之间的关系,显然,在这个关系中,作为数据元素的“父亲”和“母亲”都没有前趋,但只有一个后继,数据元素“孩子”则有两个前趋但没有后继。

 

       某个数据元素可以没有前趋,也可以只有一个前趋换可以有多个前趋,对于后继元素也是这样。

 

       数据元素之间的前趋和后继的数量决定的数据元素之间不同的联系类型,这就是数据元素的逻辑结构。

 

数据的逻辑结构

 

案例4:分析学生档案信息、一本书的目录、Internet中的各个网页各自所属的逻辑数据结构。

 

        对于学生的档案信息,如果将每个学生的档案袋按学号的顺序放在一排,则整个学生档案就是若干数据元素(档案袋)的优先序列,显然,这种结构式线性数据结构。

 

        对于一本书的目录,如果将书名作为最上层的根节点,每一章作为下一层的根节点,而每一节作为下一层的结点,这时书的目录就成为树形的数据结构。

 

        Internet上的各个网页通过超链接方式,可以从一个网页链接到另一个网页。而且这种连接在数量上和链接目标上没有任何限制。如果将一个网页作为一个结点,则Internet上个网页之间的链接关系可以看成是图结构。

 

数据的物理结构

 

案例5:某个系有十个班,编号分别是计算机01、计算机02、……计算机10,按编号顺序显然各班之间构成了线性结构。某栋楼有50个教室,编号从1~50 ,现在要为每个班分派教室 ,以下是几种分派方案有什么特点。

 

(1)按班级编号的顺序分别安排在1~10号教室。

 

(2)按教室编号的顺序分别安排在10~20号教室。

 

(3)随意安排,班级编号和教室编号没有任何规律。

 

       前两种方案中,班级编号和教室编号都是连续的,即连续的班级安排在连续编号的教室,也就是安排的教室也保持连续的关系,这样,只要知道第一个班的教室编号,就可以方便的知道其他班的教室编号,但分派教室时要求有连续10个空教室。

 

      第三种方案在分派教室是不要求连续编号,只要有空教室就可以连续安排,但是要找到 每个班所在的教室就不像前两种那么方便了,前一种方法就是使用一张表,表中列出班的编号和教室的编号之间的对应表。这时索引存储的方法。

 

        显然,对于连续编号的班级可以分派连续编号的教室,也可以分派不连续编号的教室。

 

       用这种思想引出了顺序存储结构、链式存储结构、索引存储结构。  

             

线性表   

 

案例6:某个班级最多有50个学生,按照报道的先后次序为每个学生编一个学号,每个学生的信息除了学号外,还有姓名、性别、年龄。显然,已报道的学生的信息构成了一个线性表,对于这样一个线性表可以进行以下的工作:


                                                                                                                           上一页                    下一页