数据库技术是计算机领域中非常重要的技术,是现代信息系统的核心和基础,它的出现于应用极大的促进了计算机在各领域的渗透。MySQL作为关系型数据库管理系统的重要产品之一,其优点有体积小、开放源码、成本低等优点,所以被广泛应用在Internet的中小型网站上。
一、数据库基本概念
1.数据(Date)是用来记录信息的可识别符号,是信息的具体表现形式。在计算机中,数据是采用计算机能够识别、存放和处理的方式对现实世界的事物进行的描述,其具体表现形式可以是数字、文本、图像、音频、视频等。
2.数据库(Database,DB)是用来存放数据的仓库,长期存储在计算机内,它按照一定的数据结构来组织、存储和管理数据的集合,具有较小的冗余度、较高的独立性和易扩展性、可供多个用户共享。
3. 数据库管理系统(Database Management System,DBMS)是一种操纵和管理数据库的大型软件,是操纵和管理数据库的软件,介于应用程序和操作系统之间,为应 用程序提供访问数据库的方法,包括数据的定义、数据操作、数据库运行管理及数据库建立与维护等功能。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。
它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。
数据库管理系统就是实现把用户意义下抽象的逻辑数据处理,转换成为计算机中具体的物理数据处理的软件。
有了数据库管理系统,用户就可以在抽象意义下处理数据,而不必顾及这些数据在计算机中的布局和物理位置。
大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。当前流行的数据库管理系统包括MySQL、Oracle、SQL Server,SYbase等。
4.数据库系统(Datebae System,DBS)由软件、数据库和数据库管理员组成。软件主要包括操作系统、各种宿主语言、数据库应用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索都要通过数据库管理系统进行,数据库管理系统是数据库系统的核心。数据库管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。
数据存储是计算机的基本功能之一。随着计算机的普及,我们需要存储的数据越来越多,数据之间的关系也越来越复杂,我们需要有效地管理计算机中的数据。
在数据库发展的历史长河中,人们使用模型来反映现实世界中数据的联系。1970年,IBM的研究员E.F.Codd博士发表了一篇论文,首次提出了关系模型的概念,为关系型数据库的设计与应用奠定了理论基础。
5.数据库服务器就指在计算机中安装一个数据库管理程序。
二、关系形数据库
1.关系型数据库
在关系模型中,实体和实体间的联系都由一个单一的关系来表示。在关系型数据库中,关系就是表,一个关系型数据库就是若干个二维表的集合。关系型数据库是指按照关系模型组织数据的数据库。
2.关系型数据库存储结构
关系型数据库采用二维表来实现数据存储,其中二维表中的每一行(row)在关系中成为元组(记录,record),表中的每一列(column)在关系中称为属性(字段,field),每个属性都有属性名,属性值是个元组属性的值。
uId | uName | uSex |
1 | 张红 | 男 |
2 | 李磊 | 女 |
举个例子,上表中,uId代表用户ID,uName代表用户名,uSex代表性别。表中的每一条记录代表了系统中的一个具体的User对象,比如用户张红、李磊等。
3.常见的关系型数据库产品
(1)Oracle是甲骨文公司的旗舰产品。作为一个通用的数据库管理系统,它不仅具有完整的数据库管理功能,还是一个分布式的数据库系统,支持各种分布式功能。Oracle提供了一套界面友好、功能齐全的数据库开发工具。Oracle使用PL/SQL语言执行各种操作,具有可开放性、可移植性、可伸缩性等特点。
(2)MySQL是最流行的开放源码的管理系统,它快速、可靠、易于使用。由MySQL AB公司开发和发布,2008年被Sun公司收购。2009年Sun公司又被Oracle公司收购,MySQL成为了Oracle又一重要数据库产品。MySQL具有跨平台性的特点可以在WIndows、UNIX、Linx、和Mac OS等平台使用。由于开源免费,运营成本低,受到雅虎、Google、新浪、网易、百度等企业的青睐,这些企业都使用MySQL作为数据库。
三、SQL语言
SQL(Structured Query Language,DDL,结构化查询语言)是关系型数据库语言的标准,最早由IBM公司开发。随着时间变迁,SQL经历了几个版本,最终SQL语言根据功能的不同被划分城数据库定义语言、数据库操纵语言和数据库控制语言。
1.数据定义语言(Data Manipulation Language)用于创建数据库和数据库对象,为数据库操作提供对象。数据库、表、存储过程、视图等都是数据库中的对象,都需要通过定义才能使用。DDL中的主要SQL语句包括CREATE、ALTER、DROP,分别用来实现数据库及数据库对象的创建、更改和删除操作。
2.数据操纵语言(Structured Manipulation Language,DML)主要用于操纵数据库中的数据,包括INSERT、SELECT、UPDATE、DELETE等语句。INSERT用于插入数据;UPDATE用于修改数据;DELETE用于删除数据;SELECT则可以根据用户需求从数据库中查询一条或多条数据。
3.数据控制语言(Data,Control Language,DCL) 主要用于实现对象的访问权限及对数据库操作事务的控制,主要语句包括GRANT、REVOKE、COMMIT和ROLLBACK。GRANT语句用于给用户授予权限;REVOKE语句用于回收用户权限;COMMIT语句用于提交事务;ROLLBACK语句用于回滚事务。
数据库中的操作都是通过执行SQL语句来完成的,它可以很方便的就嵌套在Java、C#、PHP等程序语言中,以实现应用程序对数据的查询、插入、修改和删除等操作。