在目前阶段,若是要存储和管理数据,则离不开数据库。当数据存储到数据库后,就会经过数据库管理系统对这些数据进行组织和管理。数据库由一批数据构成有序的集合,这些数据被存放在结构化的数据表里。数据表之间相互关联,反映了客观事物间的本质联系。数据库系统阶段提供对数据的安全控制和完整性控制。数据库
所谓数据管理,是指对各类数据进行分类、组织、编码、存储、检索和维护。发展到如今,数据库管理技术经历了三个阶段,分别为人工管理阶段、文件系统阶段和数据库系统阶段。编程
20世纪50年代中期之前。因为计算机中硬件尚未像如今这样的硬盘、软件没有专门管理数据的软件,因此计算机只局限于科学技术方面,数据只由计算和处理它的程序自行携带。该时期被称为人工管理阶段。数组
人工管理阶段特色以下:安全
l 数据不能长期保存。服务器
l 程序自己管理数据。网络
l 数据不能共享。数据结构
l 数据不具备独立性。框架
随着技术的发展,在20世纪50年代后期到20世纪60年代中期,计算机不只应用于科学技术,并且开始用于管理。在该时期因为计算机硬件出现了硬盘,计算机软件出现了高级语言和操做系统,所以程序和数据有了必定独立性,出现了程序文件和数据文件,这就是所谓的文件系统阶段。函数
文件系统阶段的特色以下:大数据
l 数据能够长期保存
l 数据由文件系统来管理。
l 数据冗余大,共享性差。
l 数据独立性差。
随着网络技术的发展,计算机软硬件功能的进步,在20世纪60年代后期,计算机能够管理规模巨大的数据,这时若是计算机还使用文件系统来管理数据,则远远不能知足当时各类应用需求,因而出现了数据库技术,特别是关系型数据库技术。该阶段就是所谓的数据库系统阶段。
数据库阶段的特色以下:
l 数据实现结构化。
l 数据实现了共享性。
l 数据独立性强。
l 数据粒度变小。
在数据库系统管理数据阶段,随着时间的推移,又经历了3个技术阶段,分别为:层次数据库和网状数据库技术阶段、关系数据库技术阶段,不一样种类的数据库按照不一样的数据结构来联系和组织。
数据库(DataBase DB):是指长期保存在计算机的存储设备上,按照必定规则组织起来,能够被各类用户共享的,被统一管理的数据的集合。
数据库管理系统(DataBase Management System DBMS):是指一种操做和管理数据库的大型软件,用于创建、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户经过数据库管理系统管理和访问数据库中的数据。当前比较流行和经常使用的数据库管理系统有Oracle、MySQL、SQL Server和DB2等。
数据库系统(Database System DBS):是指在计算机系统中引入数据库后的系统,一般由计算机硬件、软件、数据库管理系统和数据管理员组成。
一般会用数据库来表示咱们使用的数据库软件,确切说数据库软件应该为数据库管理系统。
数据库应用程序(DataBase Application):虽然已经有了DBMS,可是在不少状况下,DBMS没法知足对数据管理的要求。数据库应用程序的使用能够知足对数据管理的更高要求,还可使数据管理过程更加直观和友好。数据库应用程序负责与DBMS进行通讯,访问和管理DBMS中存储的数据,容许用户插入、删除、修改DB中的数据。
表(Table):在关系数据库中,数据库表是一系列二维数组的集合,用来存储数据和操做数据的逻辑结构。它由纵向的列和横向的行组成,行被称为记录,是组织数据的单位;列被称为字段,每个列表示记录的一个属性,都有相应的描述信息,如数据类型、数据宽度等。数据表是由表名、表中的字段和表的记录三个部分组成的。设计数据表结构就是定义数据表文件名,肯定数据表包含哪些字段,各字段的字段名、字段类型、及宽度,并将这些数据输入到计算机当中。一个数据库中数据库表名称惟一。
数据类型:数据类型决定了数据在计算机中的存储格式,表明不一样的信息类型。经常使用的数据类型有:整数数据类型、浮点数数据类型、精确小数类型、二进制数据类型、日期/时间数据类型、字符串数据类型。
主键(PRIMARY KEY):又称主码,用于惟一地标识表中的每一行记录。能够定义表中的一列或多列为主键,主键不能为空值。主键约束:非空,惟一,被引用(外键),主键列的值不能为NULL,也不能重复!指定主键约束使用PRIMARY KEY关键字。
简单来讲数据库由硬件和软件构成,硬件包括计算机、存储设备等。软件部分包括DBMS、支持DBMS运行的操做系统,以及支持多种语言进行应用开发的访问技术等。
数据库系统由一下三个部分构成:
l 数据库(Database)
l 数据库管理系统(Database Management System)
l 数据库应用程序(DataBase Application)
对数据库进行查询和修改操做的语言叫作SQL。SQL的含义是结构化查询语言(Structured Query Language)。
SQL有许多不一样的类型,有3个主要的标准:
l ANSI(美国国家标准)SQL;
l SQL-99
l 各大数据库厂商提供的SQL标准,这些标准包括原始的ANSI SQL,并在此基础上进行了扩展,这些扩展咱们称为该数据库的私有语句。
SQL语言包括如下四个部分:
l DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;
l DML(Data Manipulation Language):数据操做语言,用来定义数据库记录(数据);
l DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;
l DQL(Data Query Language):数据查询语言,用来查询记录(数据)。
SQL语法要求
l SQL语句能够单行或多行书写,以分号结尾;
l 能够用空格和缩进来来加强语句的可读性;
l 关键字不区别大小写,建议使用大写;
不一样的程序设计语言会有本身不一样的数据库访问接口,执行SQL语句进行数据库管理。主要数据库接口有如下几部分:
ODBC:开放式数据库互连(Open Database Connectivity),是微软公司推出的一种实现应用程序和关系数据库之间通信的方法标准,是一个接口标准。因此它其实是一种标准,符合标准的数据库就能够经过SQL语言编写的命令对数据库进行操做,但只能针对关系数据库进行操做(如SQL Server,Oracle,Access,Excel等),目前全部的关系数据库都符合该标准。ODBC本质上是一组数据库访问API(应用程序编程接口),由一组函数调用组成,核心是SQL语句。
一个基于ODBC的应用程序对数据库进行操做时,用户直接将SQL语句传送给ODBC,同时ODBC对数据库的操做也不依赖任何DBMS,不直接与DBMS打交道,它将全部的数据库操做由对应的DBMS的ODBC驱动程序完成,由对应DBMS的ODBC驱动程序对DBMS进行操做。也就是说,不管是FoxPro、Access仍是Oracle数据库,都可用ODBC API进行访问。因而可知,ODBC的最大优势是能以统一的方式处理全部的关系数据库。 具体见图1所示。
在具体操做时,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,创建起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能创建起与相应数据库的链接。
不过直接使用ODBC API比较麻烦,因此微软后来又发展出来DAO、RDO、ADO这些数据库接口,使用这些数据库接口开发程序更容易。这些接口都支持ODBC,因此即便你所访问的数据库没有提供ADO的驱动,只要有ODBC驱动同样可使用ADO进行访问。但由图2能够看出,ODBC其实是一种至关底层的访问技术,所以它能够从底层设置和控制数据库,完成一些高级数据库技术没法完成的功能。
Java Data Base Connectivity(Java数据库链接)用于Java应用程序链接数据库的标准方法,是一种用于执行SQL语句的Java API,能够为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
ADO.NET是微软在.NET框架下开发设计的一组用于和数据源进行交互的面向对象类库。ADO.NET提供了对关系数据、XML和应用程序数据的访问,容许和不一样类型的数据源以及数据库进行交互。
PDO(PHP Data Object)为PHP访问数据库定义了一个轻量级、一致性的接口,它提供了一个数据访问抽象层,这样,不管使用什么数据库,均可以经过一致的函数执行查询和获取数据。PDO是PHP5新加入的一个重大功能。
针对不一样的程序语言,在数据库中提供了不一样数据库访问链接驱动,咱们能够在使用时具体根据语言下载相关驱动。
l Oracle:甲骨文;
l DB2:IBM;
l SQL Server:微软;
l Sybase:赛尔斯;
l MySQL:甲骨文;(Oracle收购SUN)
咱们如今所说的数据库泛指关“关系型数据库管理系统(RDBMS - Relational database management system)”,即“数据库服务器”。
当咱们安装了数据库服务器后,就能够在数据库服务器中建立数据库,每一个数据库中还能够包含多张表。
数据库表就是一个多行多列的表格。在建立表时,须要指定表的列数,以及列名称,列类型等信息。而不用指定表格的行数,行数是没有上限的。下面是tab_student表的结构:
当把表格建立好了以后,就能够向表格中添加数据了。向表格添加数据是以行为单位的!下面是s_student表的记录:
s_id |
s_name |
s_age |
s_sex |
S_1001 |
zhangSan |
23 |
male |
S_1002 |
liSi |
32 |
female |
S_1003 |
wangWu |
44 |
male |
你们要学会区分什么是表结构,什么是表记录。
数据表是由表名、表中的字段和表的记录三个部分组成的。设计数据表结构就是定义数据表文件名,肯定数据表包含哪些字段,各字段的字段名、字段类型、及宽度,并将这些数据输入到计算机当中。
应用程序使用数据库完成对数据的存储!