MySQL数据库基础与实践mobi电子书提取码

计算机与互联网 夏辉 编著
简介: 本书从实用的角度出发,全面讲解MySQL数据库技术。

第1章

数据库设计基础

当今的时代是一个信息化的时代,信息成为一种重要的战略资源,对信息的占有和利用成为衡量一个国家、地区、组织或企业综合实力的一项重要指标。随着社会各行各业信息化的飞速发展,人们的知识也以惊人的速度增长,如何有效地组织和利用如此庞大的知识,以及如何合理地管理和维护如此海量的信息,都要依靠数据库。数据库技术是数据管理的核心技术,主要研究如何科学地组织、存储和管理数据库中的数据,以提供可共享、安全、可靠的数据。

1.1 数据库设计概述

数据库(Database,DB)是“按照某种数据结构对数据进行组织、存储和管理的容器”,简单地说就是用来存储和管理数据的容器。数据库系统(Data-base System,DBS)是指在计算机中引入数据库后的系统,一般由数据库、数据库管理系统、应用程序和数据库管理员组成。数据库管理系统(DatabaseManagement System,DBMS)是一个管理、控制数据库容器中各种数据库对象的系统软件。数据库用户无法直接通过操作系统获取数据库文件中的具体内容,数据库管理系统则可以通过调用操作系统的进程管理、内存管理、设备管理及文件管理等服务,为数据库用户提供管理、控制数据库中各种数据库对象和数据库文件的接口,从而实现对数据库中具体内容的获取。数据库管理系统按照一定的数据模型组织数据,常用的模型包括“层次模型”“网状模型”“关系模型”及“面向对象模型”等,基于“关系模型”的数据库管理系统称为关系数据库管理系统(Relational Database Management System,RDBMS)。

1.1.1 关系数据库概述

关系数据库的概念是由E.F. Codd博士于1976年发表的《关于大型共享数据库数据的关系模型》论文中提出的,论文中阐述了关系数据库模型及其原理,并将其用于数据库系统。

使用关系模型对数据进行组织、存储和管理的数据库称为关系数据库,关系数据库系统是支持关系数据模型的数据库系统。在关系数据库中,所谓的“关系”,实际上是一张二维表,表是逻辑结构而不是物理结构,系统在物理层可以使用任何有效的存储结构来存储数据,如顺序文件、索引、哈希表和指针等,因此,表是对物理存储数据的一种抽象表示,即对许多存储细节的抽象,如存储记录的位置、记录的顺序、数据值的表示,以及记录的访问结构(如索引)等。

关系数据库要求将每个具有相同属性的数据独立存放在一张表中,克服了层次数据库横向关联不足的缺点,也避免了网状数据库关联过于复杂的问题,因此被广泛应用。

1.1.2 结构化查询语言SQL

结构化查询语言(Structured Query Language,SQL)是一种专门用来与数据库通信的语言,其利用一些简单的句子构成基本的语法来存取数据库中的内容,便于用户从数据库中获得和操作所需数据。例如,删除“选课系统”中课程表(course)的所有记录,一条delete from course语句就可以做到。

SQL语言具有以下特点。

1)SQL语言是非过程化语言。

SQL语言允许用户在高层的数据结构上工作,而不对单个记录进行操作,可以操作记录集。SQL语句接受集合作为输入,返回集合作为输出。在SQL语言中,用户只需要在程序中说明“做什么”,无须说明“怎样做”,即无须用户指定对数据存放的方法。

2)SQL语言是统一的语言。

SQL语言适用于所有用户的数据活动类型,即SQL语言可用于所有用户,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员,以及许多其他类型的终端用户对数据库等数据对象的定义、操作和控制活动。

3)SQL语言是关系数据库的公共语言。

用户可将使用SQL的应用从一个关系型数据库管理系统转移到另一系统。

版权:机械工业出版社