DB理论--数据库技术构成

数据库技术构成

数据库技术的出现是为了更加有效的管理和存取大量的数据资源。简单的来讲,数据库技术主要包括数据库系统,SQL语言,数据库访问技术。

  • 数据库系统

首先说明一点,数据库和数据库系统完全是两码事。数据库系统的范围比数据库大很多,数据库系统不是一个单纯的数据库,而是由数据库,数据库管理系统,应用开发工具等构成。
数据库管理系统,DataBase Management system,简称DBMS是用来定义数据,管理和维护数据的软件。它是数据库系统中的一个重要的组成部分。应用系统就是需要使用数据库的软件,应用开发工具就是用来开发应用系统的,另外数据库系统还包括数据库管理员和用户。
因为,依靠单纯的数据库管理系统来管理数据库中的数据是不现实的。很多时候需要一些专门管理这些数据的专业人员,这些管理数据的专业人员就是数据库管理员,也就是我们常说的DBA,DBA很厉害的,在大公司的中的地位和架构师差不多,可比我们这些码农NB多了呢。

  • SQL语言

SQL,structed Qurey Language即结构化查询语言,数据库管理系统通过sql语言来管理数据库中的数据。
SQL语言是一种数据库查询和程序设计语言,其主要用于存取数据,查询数据,更新数据和管理数据库系统。具体的,sql分为3个部分,这里只是大概整理一下,详细的后面我会在sql相关中仔细整理。
DDL语句:数据库定义语言。主要用于定义数据库,表,视图,索引和触发器等。CREATE语句主要用于创建数据库,创建表,创建视图。ALTER语句主要用于修改表的定义,修改视图的定义。DROP语句主要用于删除数据库,删除表和删除视图等。
DML语句:数据库操作语言。主要用于插入数据,查询数据,更新数据,删除数据。INSERT语句用于插入数据,SELECT语句用于查询数据,UPDATE语句用于更新数据,DELETE语句用于删除数据。
DCL语句:数据库控制语言。主要用于控制用户的访问权限。其中GRANT语句用于给用户增加权限,REVOKE语句用于收回用户的权限。


数据库管理系统通过这些SQL语句可以操作数据库中的数据,在应用程序中,也可以通过SQL语句来操作数据。


  • 数据库访问技术

应用系统中,程序语言需要使用数据库访问技术来访问数据库,只有使用数据库访问技术,程序中嵌入的SQL语句才会起作用。不同程序语言访问数据库的方式是不一样的,这里我们重点整理下Java的数据库访问技术。
JDBC,Java DataBase Connectivity是一种用于执行SQL语句的Java API。Java语言通过JDBC可以访问多种关系数据库,JDBC由一组用Java语言编写的类和接口组成。使用JDBC时,必须要安装驱动程序。
OK,说到了JDBC,这里也要说几句ODBC,Open DataBase Connectivity,即开放的数据库连接。ODBC和JDBC很像,严格来说,应该是JDBC模仿了ODBC的设计。ODBC也允许应用程序通过一组通用的API访问不同的数据库管理系统,从而使得基于ODBC的应用程序可以在不同的数据库之间切换。同样的,ODBC也需要各数据库厂商来提供相应的驱动程序,而ODBC用来负责管理这些驱动。 简单的了解下就好了,相比ODBC,JDBC更加简单,直观,安全性更高,更加容易部署,所以我们一般都在使用JDBC。

  • 关系数据库基本概念

在数据库发展历史中,按照时间顺序主要出现如下几种类型的数据系统。
网状型数据库→层次型数据库→关系数据库→面向对象数据库→NOSQL。在上面的4种数据库系统中,关系数据库是理论最成熟,应用最广泛的数据库。从20世纪70年代末开始,关系数据库理论逐渐成熟,随之涌现出大量商用的关系数据库。经过了30多年的发展,关系数据库现在已经相当完善,在大量数据的查找,排序操作上非常成熟且快速,并对数据库的并发,隔离有这非常完善的解决方案。

对于关系数据库而言,最基本的数据存储单元就是数据表,所以可以简单的把数据库想象成大量数据表的集合,当然,数据库绝对不是只有数据表。

对于面向对象数据库也来说几句,面向对象数据库由面向对象编程语言催生的新型数据库,目前有些数据库比如oracle 11g等开始增加面向对象特性,但是面向对象数据库还没有大规模的商业应用。

对于NOSQL等非关系数据库也来说几句,比如mongo,比如redis等等也是直接将某种数据格式直接序列化到数据库中,只不过他们一般用来处理json格式的数据,所以不需要ORM映射。关于这块我会在后面整理。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值