数据模型
在计算机科学领域,数据模型通常指:
1:对象可以采用的值。例如,很多数据模型包含具有整数值的对象。数据模型的这个方面是静态的,他告诉我们对象能接受那些值。编程语言数据模型这一静态部分通常被称为类型系统。
2:数据的运算。例如,我们常常会对整数执行加法这样的运算。模型的这一方面是动态的,它告诉我们改变值和创建新值的方式。
编程语言的数据模型
每种编程语言都有自己的数据模型,这些数据模型互不相同,而且通常有相当的差异。多数编程语言处理数据所遵循的基本原则是,每个程序都可以访问我们用于表示存储区域的 '框', 每个框都有一个数据类型,比如int
,char
。框中可以存储类型对应的值,通常将可以存储的值称为数据对象。
我们还要为这些框命名。一般来说,框的名称可以是指任何指示该框的表述性词语。我们通常会将框的名称视作该程序的变量,不过情况并非完全如此。例如,如果x
是递归函数F
的局部变量,那么就可能会有很多名为x
的框,每个x
都与对F
的不同相关联。这样的话,这种框的真实名称就是x
与对F
的某次调用的组合。
C语言中的数据类型比如:整数,浮点数,字符,数组,结构,指针,这些都是静态的概念。
可以对数据进行的操作包括整数和浮点数的常规算数运算,数组和结构的存取操作,以及指针的解引用。这些运算都是C语言数据模型的动态部分。
在程序设计课程中,我们会看到C语言中不包括的重要数据模型,比如表,树,图。用数学语言来讲,表是可以写成(a1,a2,a3,a4,....)
这种形式的的序列,可以对表进行增,删,查,改元素的操作。