数据库类型可分为层次型、网状型和关系型。
层次型数据库是把数据根据层次构造(树结构)的方法呈现;网状型数据库是采用网状原理和方法,以网状数据模型为基础建立的数据库;关系型数据库是指采用了关系模型来组织数据的数据库。
数据库的作用
1、实现数据共享:数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
2、减少数据的冗余度:同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。
3、保持数据的独立性:数据的独立性包括逻辑独立性(数据库中数据库的逻辑结构和应用程序相互独立)和物理独立性(数据物理结构的变化不影响数据的逻辑结构)。
4、数据实现集中控制:文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
第一代数据库系统采用的数据模型是层次和网状模型,这是正确的。在20世纪60年代至70年代初期,计算机技术刚开始应用于商业领域时,数据管理主要采用文件系统来实现。但随着数据量不断增大、应用场景变得更加复杂,文件系统已经无法满足需求。
为了解决这个问题,人们开始探索新的数据管理方式,并提出了层次和网状两种数据模型。其中层次模型将数据组织成树形结构,在每个节点上可以包含多个子节点;而网状模型则允许一个实体有多个父节点或者一个关系连接多个实体。
并发(concurrent)和并行(parallel)这两个概念,在数据库系统的资料中经常出现,然而有关它们的定义和区别却没有明确的说法。这里,我们根据这两个概念在资料中的使用,对它们的不同做一个说明。
并发是指多个任务的同时执行,任务与任务之间没有联系。由于数据库系统要同时为许多用户提供服务,每个用户都可以发出自己的访问请求,一个请求就是一个任务。在一个时间点,数据库系统可能要同时处理多个任务。因此,数据库系统一定要具备并发处理能力。
并行是指将一个任务划分为多个子任务,这些子任务同时执行。在所有子任务处理完成后,将它们的结果进行合并,就得到该任务的最终处理结果。在数据库系统中,如果要执行一个大的数据查询,为了提高速度、降低响应时间,用户可以通过系统配置或者在命令中,要求对该大数据量查询进行并行处理,将该查询划分成多个子查询。这些子查询同时执行,最后系统将所有子查询的处理结果进行合并,作为该查询处理的最终结果。现有的大型数据库系统都支持并行处理。
需要说明的是,并发和并行与数据库系统采用多进程还是多线程体系结构无关。对采用多进程结构的数据库系统,所有的任务、子任务通过进程来处理;而对采用多线程结构的数据库系统,这些工作是由线程来完成。
数据库系统的并发控制,涉及到任务的调度、数据的一致性及可靠性等,而数据库系统的并行处理,主要涉及任务的处理速度、系统性能等方面。
B、数据库系统回顾 从数据库管理角度看,数据库系统通常采用三级模式结构,这是数据库管理系统内部的系统结构;从数据库最终用户角度看,数据库系统的结构分为集中式结构(又可分为单用户结构、主从式结构)、分布式结构、客户/服务器结构,这是数据库系统外部的结构。
关系数据库是采用关系模型作为数据组织方式的数据库。
关系数据库的特点在于它将每个具有相同属性的数据独立地存储在一个表中。对任一表而言,用户可以新增、删除和修改表中的数据,而不会影响表中的其他数据。关系数据库产品一问世,就以其简单清晰的概念,易懂易学的数据库语言,深受广大用户喜爱。、
关系数据库的层次结构可以分为四级:数据库(Database)、表(Table)与视图、记录(Record)和字段(Field),相应的关系理论中的术语是数据库、关系、元组和属性,分别说明如下。
1.数据库
关系数据库可按其数据存储方式以及用户访问的方式而分为本地数据库和远程数据库两种类型。
(1)本地数据库:本地数据库驻留在本机驱动器或局域网中,如果多个用户并发访问数据库,则采取基于文件的锁定(防止冲突)策略,因此,本地数据库又称为基于文件的数据库。典型的本地数据库有Paradox、dBASE、FoxPro以及Access等。基于本地数据库的应用程序称为单层应用程序,因为数据库和应用程序同处于一个文件系统中。
(2)远程数据库:远程数据库通常驻留于其他机器中,用户通过结构化查询语言SQL来访问远程数据库中的数据,因此,远程数据库又称为SQL服务器。有时,来自于远程数据库的数据并不驻留于一个机器而是分布在不同的服务器上。典型的SQL服务器有InterBase、Oracle、Sybase、Informix、MicrosoftSQLServer,以及IBMDB2等。基于SQL服务器的应用程序称为两层或多层应用程序,因为数据库和应用程序驻留在彼此不依赖的系统(层)中。
本地数据库与SQL服务器相比较,前者访问速度快,但后者的数据存储容量要大得多,且适合多个用户并发访问。究竟使用本地数据库还是SQL服务器,取决于多方面因素,如要存储和处理的数据多少,并发访问数据库的用户个数,对数据库的性能要求等。
2.表
关系数据库的基本成分是一些存放数据的表(关系理论中称为“关系”)。数据库中的表从逻辑结构上看相当简单,它是由若干行和列简单交叉形成的,不能表中套表。它要求表中每个单元都只包含一个数据,可以是字符串、数字、货币值、逻辑值、时问等较为简单的数据。一般数据库中无法存储c++语言中的结构类型、类对象。图像的存储也比较烦琐,很多数据库无法实现图像存储。
对于不同的数据库系统来说,数据库对应物理文件的映射是不同的。例如,在dBASE、FoxPro、Paradox数据库中,一个表就是一个文件,索引以及其他一些数据库元素也都存储在各自的文件中,这些文件通常位于同一个目录中。而在Access数据库中,所有的表以及其他成分都存储在一个文件中。
3.视图
为了方便地使用数据库,很多DBMS都提供对于视图(Access中称为查询)结构的支持。视图是根据某种条件从一个或多个基表(实际存放数据的表)或其他视图中导出的表,数据库中只存放其定义,而数据仍存放在作为数据源的基表中。故当基表中数据有所变化时,视图中看到的数据也随之变化。
为什么要定义视图呢首先,用户在视图中看到的是按自身需求提取的数据,使用方便。其次,当用户有了新的需求时,只需定义相应的视图(增加外模式)而不必修改现有应用程序,这既扩展了应用范围,又提供了一定的逻辑独立性。另外,一般来说,用户看到的数据只是全部数据中的一部分,这也为系统提供了一定的安全保护。
4.记录
表中的一行称为一个记录。一个记录的内容是描述一类事物中的一个具体事物的一组数据,如一个雇员的编号、姓名、工资数目,一次商品交易过程中的订单编号、商品名称、客户名称、单价、数量等。一般地,一个记录由多个数据项(字段)构成,记录中的字段结构由表的标题(关系模式)决定。
记录的集合(元组集合)称为表的内容,表的行数称为表的基数。值得注意的是,表名以及表的标题是相对固定的,而表中记录的数量和多少则是经常变化的。
5.字段
表中的一列称为一个字段。每个字段表示表中所描述的对象的一个属性,如产品名称、单价、订购量等。每个字段都有相应的描述信息,如字段名、数据类型、数据宽度、数值型数据的小数位数等。由于每个字段都包含了数据类型相同的一批数据,因此,字段名相当于一种多值变量。字段是数据库 *** 纵的最小单位。
表定义的过程就是指定每个字段的字段名、数据类型及宽度(占用的字节数)。表中每个字段都只接受所定义的数据类型。
是的,第一代数据库系统采用的数据模型主要有层次模型和网状模型。层次模型以树形结构组织数据,每个节点只能有一个父节点,而可以有多个子节点;网状模型则允许一个实体拥有多个父实体或子实体,其关系图呈现出网状结构。这两种数据模型都存在着严重的局限性,在处理复杂数据时效率低下,且难以扩展和维护。
以上就是关于mysql数据类型全部的内容,包括:mysql数据类型、第一代数据库系统采用的数据模型是层次和网状模型正确还是错误、为什么数据库系统要采用并发控制等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)