数据库这玩意可能大家天天都在用,可是问你几个关于数据库的概念,很多人都是支支吾吾,如果你也觉得可能会这样,那最好看看下面的一些基础概念。
数据 狭义的理解,数据就是数值,即0、1、2、3、4、5、6、7、8、9和符号、小数点组成的数值,广义地讲,计算机所能处理的数据是指计算机能接受、存储、处理的任何信息,除了数值外,还有字符数据、图形数据、音频数据、视频数据、控制信号数据等等。
数据库 数据库(Database)就是按一定的结构组织在一起的相关数据的集合。对于一个特定的数据库来说,它是集中、统一地保存、管理着某一单位或某一领域内所有有用信息的系统。这个系统根据数据间的自然联系结构而成,数据较少冗余,并且具有较高的数据独立性,能为多种应用服务。如,学校中的所有学生的档案,公司企业的人事档案和有关的商务信息等。
数据类型 在处理各种数据时,为了便于处理、查错和充分利用存储空间,许多开发环境都要求对数据类型进行说明,一般有整数型、实数型、字符串型、布尔型、日期型、备注型、浮点型、双精度型等等。
整数型:普通整数 实数型:普通实数
字符串型:单个字母或数字或符号称作字符,假如一个组同时有多个字母、数字和符号称作字符串。
布尔型:布尔型数值是电脑常用的一种数值类型。它表示为“True ”和“False”,即“真”和“假”。
浮点型:实数类型,规定数的位数固定,但小数点所在的位置可以变化。
双精度型:同浮点一样,实数类型,但能反映更广的数值。
数据库管理系统 Data Base Management System,简称为DBMS,是用于描述、管理和维护数据库的程序系统,是数据库系统的核心组成部分。它建立在操作系统的基础上,对数据库进行统一的管理和控制。它的主要功能是:
●描述数据库:描述和定义数据库的逻辑结构、存储结构、语义信息和保密要求等。
●管理数据库:控制整个数据库系统的运行,执行数据检索、插入、删除、修改等操作。
●维护数据库:控制数据库初始数据的装入,记录工作日志,监视数据库性能,修改更新数据库,重新组织数据库,恢复出现故障的数据库。
●数据通信:组织数据的传输,以保证多个用户同时使用数据库。
SQL SQL是Structured Quevy Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
SQL标准 是一种有关SQL的国际化的标准规范,如SQL92、SQL99等,在表、列、数据类型、键索引、schema操作、行和表约束、视图、基本关系操作以及编程语言绑定等方面总结了规范。
表(基表) 数据表(Table)可以比喻成一个存放原始数据的特定容器,是一种数据集合。在一个数据表中,常常可以按照行或列的格式组织数据。有些数据库系统的数据库,表和数据库是同一个概念,如dBase等,有一些的数据库和表是不同的概念,如Access等。比如说,在学校中关于学生信息的数据保存在一个表中,而有关学生的成绩保存在另一张表中。在数据库中,所有数据都存放在表中。表有两个组件:行和列。
记录和字段 数据表可以被分为行和列,行称为记录(Record),列成为字段(Fields)。在表中同一行数据被称为一条记录。每一个信息行都可以设想为一个单独的实体,它可以根据需要进行存取或排列。例如,在前面所举的例子中,将学生表中的涉及同一学生的信息就包含在一条记录中。记录通常通过记录在数据表中的唯一的数据值来识别,这个数据值通常被称为主键。在表中同一列数据具有相似的信息,这些数据的列条目就是字段。例如:学号、姓名等等。每一个字段都通过明确的数据类型来进行识别,常见的数据类型有文本型、数字型、货币型等。
数据值 数据表中的行和列,即记录与字段的相交处就是值----存储的数据元素。数据值的特点是不唯一性,在同一个表中,同一个值可能会重复出现。而每个数据值的字段和记录却是唯一的,字段可以用字段名来识别,记录则通常通过记录的某些唯一的特征符号来识别。
索引 索引用来快速地寻找那些具有特定值的记录。如果没有索引,执行查询时数据库必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,数据库无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。例如我们在查找字典时首先会查找它的索引,以便快速找到目标字所在的页码。
视图 视图是从一个或几个基本表(或视图)导出的表,它与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。基本表中的数据发生变化,从视图查询出的数据也随之改变。定义和合理地使用视图能带来的好处有:
●视图能够简化用户的操作
●视图使用户能以多种角度看待同一数据
●视图对重构数据库提供了一定程度的逻辑独立性
●视图能够对机密数据提供安全保护
存储过程 存储过程是一组已经被编辑在一起的,存储在服务器上的,执行某种功能的SQL语句。它是一种封装重复任务操作的方法,可以加快程序的执行速度。存储过程的优点:
●存储过程只在创造时进行准备,以后每次执行存储过程都不需再重新准备,而一般SQL语句每执行一次就准备一次,所以使用存储过程可提高数据库执行速度。
●当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
●存储过程可以重复使用,可减少数据库开发人员的工作量。
●安全性高,可设定只有某此用户才具有对指定存储过程的使用权。
触发器 触发器是一种特殊的存储过程。它在一定的事件(Insert,Update,Delete 等)里自动执行。当用户对指定的数据进行修改时,数据库自动激发执行的一组SQL语句。这组语句先被人为预定义,用来完成一些比较特殊的复杂逻辑。
数据字典 是整个数据库的信息中心和情报系统。数据字典由一系列系统表组成,只不过这些表不是由用户建立而是由系统建立的,我们称之为系统表,其表名均以“SYS”开头。当一个管理信息系统建成后,数据字典就是数据库各种用户观察数据库的窗口。用户可以阅读这些表的内容,了解系统性能、空间使用情况及各种统计信息,以便及时掌握数据库的运行状态,有效控制系统高效地运行。为此,DM提供了数据字典查询语句,可供数据库各种用户在规定的权限范围内查询数据字典的有关内容,为用户随时了解和掌握系统工作情况提供了方便,也为用户在运行和调试应用程序过程中及时了解系统状态提供了方便。
事务 简单的说,事务是作为单个逻辑工作单元执行的一系列操作。对于数据库来说,这组操作要么全部完成,要么一个都不执行。如果在事务执行的过程中出现错误,则服务器会取消事务所作的所有修改,将数据库自动恢复到执行该事务前的状态。
网上还有种通俗的解释方法:
“什么叫事务? 这些就是数据库特有的术语了。懒虫在这里口头解释:就是把多件事情当做一件事情来处理。也就是大家同在一条船上,要活一起活,要over一起over !
我为什么要使用事务? 俺这里再举个很俗很俗的例子:俺到银行存钱,于是有这么几个步骤:1、把钱交给工作人员;2、工作人员填单;3、将单子给我签字;4、工作人员确认并输入电脑。
要是,要是我把钱交给工作人员之后,进行到3我签字了。那哥们突然心脏病发作,over掉了,那,我的钱还没有输入电脑,但我却交了钱又签字确认了,而并没有其他任何记录。我岂不是要亏死了???我的血汗钱啊!赶紧退给我!!于是,在数据库里产生了这么一个术语:事务(Transaction),也就是要么成功,要么失败,并恢复原状。”
回滚 Rollback,上面提到的事务在未完成时自动恢复的机制称为回滚。
接口 可以简单的理解为“交流的通道”、“互访的门”。比如ODBC是种接口,我们可以说“ODBC是应用程序和数据库之间的一种交流的通道”。
ODBC 基于SQL(Structured Query Language),并把它作为访问数据库的标准(接口)。这个接口提供了最大限度的相互可操作性:一个应用程序可以通过一组通用的代码访问不同的数据库管理系统。多用在Windows系统平台下。
ODBC管理器 在Windows平台中,它负责安装驱动程序,管理数据源,并帮助程序员跟踪ODBC的函数调用。在ODBC中,应用程序不能直接存取数据库,它必须通过管理器和数据库交换信息。
JDBC 是执行SQL语句的Java API。其实,JDBC本身是一个产品的商标名。相对与ODBC(Open Database Connectivity开放数据库连接),也可以把JDBC看作“Java Database Connectivity(Java数据库连接)”,它是用Java语言编写。使用JDBC可以很容易地把SQL语句传送到任何关系型数据库中。
API 就是Windows的32位应用程序编程接口,是一系列很复杂的函数,消息和结构,它使编程人员可以用不同类型的编程语言编制出的运行在Windows95和Windows NT操作系统上的应用程序。
OLE DB 是一种底层编程接口,用来访问许多不同类型的数据源,其中包括消息、文件系统以及其它一些非传统的数据源。OLE DB是一个由Component Object Model(COM)接口组成的集合,用来隐藏创建数据访问服务过程中的细节。
ADO 全名是ActiveX Data Object(ActiveX数据对象),是一组优化的访问数据库的专用对象集,ADO主要包括Connection,Recordset和Command三个对象, 它们的主要功能如下:
●Connection对象:负责打开或连接数据库文件;
●Recordset对象:存取数据库的内容;
●Command对象:对数据库下达行动查询指令,以及执行SQL Server的存储过程。
段大小 就是指一条记录理论上所能达到的最大长度。再DM数据库中,段大小时可选的(4K、8K、16K、32K),根据应用需求而定。
全文检索 全文检索的基本原理就是以文字数据为处理对象,提供按照数据资料的内容本身而不是外部特征来实现信息的检索。全文检索技术是用来弥补传统数据库字段检索的不足,它采用特别的索引技术,将欲查询的文件资料及资料源,经过索引产生器的浏览而建立成所谓的索引数据库。当我们在进行查询时,系统透过使用者输入的关键词,迅速的从索引数据库中找到我们要的资料,并且条列式的显示出来。除此之外,系统搭配许多方便使用者的特性,使我们可以更精确、更快的找到合适的资料。
XML 是用于网络上数据交换的语言,具有与描述Web页面的“HTML”语言相似的格式。该语言有“可以利用Web浏览器进行数据确认”以及“易于生成数据”等优点,因此主要用于在企业之间,或者在企业内部更加方便地进行数据交换和利用。
SMP 对称多处理机的缩写。在DM中可以理解为支持多CPU系统。
Java 是Sun公司推出的一种编程语言。它是一种通过解释方式来执行的语言,语法规则和C++类似。同时,Java也是一种跨平台的程序设计语言。用Java语言编写的程序叫做“Applet”(小应用程序),用编译器将它编译成类文件后,将它存在WWW页面中,并在HTML档上作好相应标记,用户端只要装上Java的客户软件就可以在网上直接运行“Applet”。 Java非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。 Java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。Java摈弃了C++中各种弊大于利的功能和许多很少用到的功能。 Jave可以运行与任何微处理器,用Java开发的程序可以在网络上传输,并运行于任何客户机上。
C/S模式 Client/Server 客户端/服务器模式。客户端程序也有参与,或是完全实现了核心逻辑,是运算的一个重点,所以,需要在各个机器上(除服务器)安装客户端程序。
B/S模式 Browser/Server 浏览器/服务器模式。客户端程序是浏览器,不参与核心逻辑,只是表现界面。不需要在客户机器上安装客户端程序,用标准的html浏览器(比如IE浏览器)就可以了。