本节课主要收集总结数据库课程中的基本概念,参考书籍《数据结构》(C语言实现)。笔者本科阶段,知识水平有限,有不严谨地方望各位读者指出,不足之处望各位读者补充。
以下均为笔者个人所学所知,下面所给出的定义均可保证与书本一致,倘若与读者所学有所出入,那么读者对。
![](https://img-blog.csdnimg.cn/img_convert/6df8cfbd45c8a956a1c4ad3cc497939c.png)
上图知识尚未完全,之后了解到会加以补充。
数据
数据(Date)是对客观事物的基本单位,在计算机科学中是指所有可以输入到计算机中并被计算机程序所处理的符号的总称,它是计算机程序加工的原料。例如,一个班级的所有学生的成绩、某个学院所有教师的信息记录、从公元100至3000年间所有的闰年等等信息均可以被称之为数据。
数据元素
它是数据的基本单位,在程序设计中通常作为一个整体进行考虑和处理。例如学生学籍系统中关于某个学生的一条记录就是一个数据元素,每个记录中可能包含多个属性(姓名,性别,学号,年级等),每个属性就被称为一个数据项,数据项是具有独立含义的数据的最小单位。
数据结构
数据结构是相互之间存在一种或者多种特定关系的数据元素的集合。这些数据元素不是孤立存在的,而是有着某种关系的,这种关系称为结构。数据结构包括的内容有数据元素之间的逻辑结构、数据在计算机中的存储方式(物理结构)和施加在该数据上的操作。
3.1)数据的逻辑结构
数据元素与数据元素之间的的逻辑关系称为数据的逻辑结构。分以下四类:
![](https://img-blog.csdnimg.cn/img_convert/31e0d5d65ec6328a8e50e3e9aac9674c.png)
3.2)数据的物理结构
数据的物理结构就是数据在计算机中的存储方式数据的存储方式将直接或间接决定数据的处理效率:
![](https://img-blog.csdnimg.cn/img_convert/1b9e1d9e9de2fe9989f45736f1ea24ca.png)
其中四类优缺点如下:
![](https://img-blog.csdnimg.cn/img_convert/274a63c7b0d9e0030b750f883067f5e0.png)
1.1数据类型
在用高级程序设计语言编程时,要对程序中用到的每一个常量、变量和表达式定义数据类型,不同的数据类型的取值范围不同,所允许进行的操作也不同。因此数据类型是一个值的集合和定义在该值集上的一组操作的总称。例如C,基本整型一般两个字节(16位),范围-2**15~2**15-1,也就是-32768~32767,允许进行的操作有加减乘除和取模等,并且定义了运算规则。
1.1.1原子类型
数据类型分为原子类型和结构类型。原子类型又称为非结构类型,其值不可分解。C中原子类型即是基本数据类型(整型、字符型、浮点型和枚举型)、指针类型和空类型。
1.1.2结构类型
结构类型又称为构造类型,该类型的各个陈芬既可以是原子类型,也可以是结构类型的(即允许嵌套定义)。C中的结构类型是数组类型、结构体类型和共同体类型等。
1.2.1 抽象数据类型
抽象数据类型(Abstract Data Type,ADT)是指用于表示实际应用问题的数据模型以及定义在该模型上的一组操作。抽象数据类型与一般数据类型的概念是一致的,都只专注其逻辑特性,相同的数据类型在不同计算机系统中的表示和实现可能是不同的,但是只要其数学特性不变,就不会影响外部使用。
另一方面,从抽象的层次和定义大范畴来看,抽象数据类型较之一般的数据类型抽象的层次更高,定义的范畴更广。抽象数据类型不再局限局限于计算机系统中已经实现的数据类型,可以是用户所定义的数据类型,它可以由计算机系统已经实现的数据类型来表示和实现。抽象数据类型必须先定义后使用,定义抽象数据类型只描述数据的逻辑结构及允许进行的操作,不考虑数据的物理存储及其操作的具体实现。
一个具体问题的抽象数据类型定义一般包括对象(数据元素的集合)、数据关系和基本操作三个方面。数学表示可以用三元组(D,R,P)来表示。D:数据对象;R:D上关系的集合;P:D中数据运算的基本操作集合。对抽象数据类型的定义需要采取一定的格式,例如:
![](https://img-blog.csdnimg.cn/img_convert/df92b207352485ed65ffef709c24a702.jpeg)
基本操作有两种参数:赋值参数只为操作提供输入值;引用参数一&大头,除了可以提供额外输入之外,还将返回操作结果。初始体哦啊挤是指操作执行之前数据结构和参数应该满足什么条件,不满足则操作失败,程序将返回出错信息。操作结果是指操作正常完成条件下数据结构变化应返回的结果。
以上为笔者在第一课所学,但此时笔者并不能理解数据结构的使用方法以及其功能,也可以说是对其没有一个清晰的概念,所以本文写的十分浅显,望理解与指导!