目录
- 前言
-
- [一. 数据库简介](#一. 数据库简介)
-
- 1.使用数据库的必要性
- 2.数据库的基本概念
- [3. 经典数据模型](#3. 经典数据模型)
- 4.当今主流数据库介绍
- 二.关系数据库的基本概念
-
- 1.关系数据库的基本结构
- [2. 主键与外键](#2. 主键与外键)
- [3. 数据完整性规则](#3. 数据完整性规则)
- [三. MySQL服务基础](#三. MySQL服务基础)
前言
21 世纪,人类迈入了"信息爆炸时代",大量的数据、信息在不断产生,伴随而来的 就是如何安全、有效地存储、检索和管理它们。对数据的有效存储高效访问、方便共享和 安全控制已经成为信息时代亟待解决的问题。
一. 数据库简介
1.使用数据库的必要性
使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速、方便地管理数据。数据库具有以下特点。
-
可以结构化存储大量的数据信息,方便用户进行有效的检索和访问
-
可以有效地保持数据信息的一致性、完整性,降低数据冗余
-
可以满足应用的共享和安全方面的要求,
2.数据库的基本概念
(1)数据
描述事物的符号记录称为数据(Data)。数字、文字、图形、图像、声音档案记录等都是数据。
在数据库中,数据是以"记录"的形式按照统一的格式进行存储的,而不是杂乱无章的。相同格式和类型的数据统一存放在一起,而不会把"人"和"书"混在一起存储。这样,数据的存储就能够并然有序。
如下图中存储的一行数据,在数据库中称为一条"记录。每(Record)条记录中的每一个输入项称为"列 "。下图中编号、姓名、性别、年龄、民族、专业都是列名。
(2)数据库和数据库表
不同的记录组织在一起,就形成了数据库(Database,DB)的"表"(Table)。也可 以说,表是用来存储具体数据的,如图 1.1 所示。那么数据库和表存在什么关系呢?简单地说,数据库就是表的集合。它是以一定的组织方式存储的相互有关的数据集合。例如,关系数据库的表由记录组成,记录由字段组成,字段由字符或数字组成。它可以供各种用户共享,具有最小几余度和较高的数据独立性,它是统一管理的相关数据的集合。通常,数据库并不是简单地存储这些数据的,还要表示它们之间的关系。例如,书和人是存在联系的,书的作"。这种关系也需者可能就是某个人,因此需要建立书与人的"关系要用数据库来表示,因此关系的描述也是数据库的一部分。
(3)数据库管理系统和数据库系统
数据库管理系统(Database Management System,DBMS)是实现对数据库资源有效组织、管理和存取的系统软件。它在操作系统的支持下,支持用户对数据库的各项操作。DBMS 主要包括以下功能。
-
数据库的建立和维护功能:包括建立数据库的结构和数据的录入与转换、数据库的 转储与恢复、数据库的重组与性能监视等功能
-
数据定义功能:包括定义全局数据结构、局部逻辑数据结构、存储结构、保密模式及信息格式等功能。保证存储在数据库中的数据正确、有效和相容,以防止不合语 义的错误数据被输入或输出
-
数据操纵功能:包括数据查询统计和数据更新两个方面。数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制、存取控 制、数据库内部维护等功能
-
通信功能:DBMS 与其他软件系统之间的通信,如Access能与其他 Office组件进行 数据交换
数据库系统(Database System,DBS)是一个人-机系统,一般由硬件、作系统、数 据库、DBMS、应用软件和数据库用户(包括数据库管理员)组成。用户可以通过 DBMS 操作 数据库,也可以通过应用程序操作数据库。应用程序是利用 DBMS 为解决某个具体的管理或数据处理的任务而编制的一系列命令的 有序集合。如果应用程序比较完善,能够提供友好的人机界面,并编译成可执行文件发行,使得普通用户不需要具备计算机的专业知识,在较短时间就学会使用,那么就称为数据库应 用软件。常用的数据库应用软件有人事管理、财务管理、图书管理等信息管理软件及各类信息咨 询系统等。
数据库管理员(Database Administrator,DBA)负责数据库的更新和备份、数据库系 统的维护、用户管理等工作,保证数据库系统的正常运行。DBA一般由业务水平较高、资历 较深的人员担任。需要注意的是数据库、数据库系统、数据库管理系统,甚至数据库表等名词,在日常讨 论中通常不严格区别。遇到此情况时,可以根据具体情况,判断出实际所指的是什么
3. 经典数据模型
数据是现实世界中"量 "的抽象,而数据模型(Data Model)是数据特征的抽象。在数据库系统中,数据模型是它的核心与基础。数据模型表现为数据的结构、定义在其上的操作及约束条件。它从概念层次上描述了系统的静态特征、动态特征和约束条件,为数据库系统的信息表示与操作提供了一个抽象框架
数据模型所描述的内容包括三方面:数据结构、数据操作和数据约束。下面简单介绍三种经典数据模型
(1)网状模型
①数据结构
在网状模型中,数据记录组织成图的形式,使用"数据结构图"进行抽象的分析和表示
②数据操作
从数据结构的定义上不难看出,网状模型的数据操作是建立在关系链基础上的导航式的操作。针对一个特定的网状模型系统的数据结构,有可能找到最优的查询算法。但是,一旦结构发生变化,就需要新的查询办法。网状模型以图论为基础,还无法得到一个通用的、高效 的解决方案。所以,随着关系模型的飞速发展和广泛应用,网状模型已经暂时失去其重要性了。
③数据约束
网状模型的数据约束是零散孤立的,或者分散在各个节点,或者集中成为一种关系链,这样容易导致不一致性或降低效率。所以,通常网状模型不具体实现数据约束,而由应用、程序自身来实现数据约束。这样的情况也使得在网状模型基础上的开发变得困难重重。
(2)层次模型
①数据结构
层次模型是网状模型的一个特例。在层次模型中,数据记录组织成树的形式,使用"树 结构图 "进行抽象的分析和表示,适合一对多的关系模型
②数据操作
在层次模型上的数据操作不可避免地具有网状模型的特点--导航性。但是,由于禁止 了多对一和多对多的关系,因此数据操作相对网状模型而言简单了许多。这样的结构有利于提高数据的查询效率,但数据存取上还存在着必须导航的要求。因此,层次模型的数据库在数据操作上依然比较复杂
③数据约束
层次模型的数据约束与网状模型相似,由于结构的简化,去掉了网状模型中多对多和多对一的关系,数据约束处理的复杂性按级数下降。所以,层次模型的数据约束可以做到适当的系统实现,但很多还是依靠应用程序本身实现。
(3)关系模型
①数据结构
关系模型建立在关系代数的理论基础上,数据结构使用简单易懂的二维数据表,可以用简单的"实体-关系 "(E-R)图来直接表示
②数据操作
对于数据库的物理结构而言,关系数据库系统的数据结构简单、功能强、数据独立性高、 理论基础坚实。严格的关系数据库以二维的数据库表作为基本数据结构,利用简单或复杂的 索引技术实现查询算法,实现起来相对比较简单,也方便了预编译技术将 SQL 语言直接转化 为有效的数据检索算法
③数据约束
关系模型的数据约束可以针对实体,也可以针对实体的属性,还可以针对关系,并可以在定义实体、实体属性和关系时全面实现。关系模型使用的数据定义语言(DDL)和关系模型在理论上对关系数据库核心实现的要求,使得数据约束可以很容易实现,但是它的效率并不高
4.当今主流数据库介绍
在数据库技术日益发展的今天,主流数据库代表着成熟的数据库技术
(1)关系数据库
20 世纪 80~90 年代是关系数据库产品发展和竞争的时代。在市场逐渐淘汰了第一代数 据库管理系统的大局面下,SQL Server、0racle、IBM DB2、MySQL等一批很有实力的关系 数据库产品走到了主流商用数据库的位置。
①SQL Server简介
SQL Server 是 Microsoft 公司的数据库产品,在设计上大量利用了 Microsoft Windows 操作系统的底层结构,直接面向 Microsoft Windows,尤其是 Windows 系列服务器操作系统的用户
②Oracle简介
0racle 公司成立于 1977 年,最初就是专门的数据库公司。1998年9月,0racle 公司正式发布0racle 8i,"i"代表 Internet,这一版本中添加 了大量为支持Internet 而设计的特性。这一版本为数据库用户提供了全方位的 Java 支持
③DB2简介
1970 年,IBM 公司的一位研究员德加·考特发表论文,提出"关系模型的概念。此后,他被称为"关系数据库之父"。IBM 公司投入巨资,开展包括"SystemR "和"SystemR*"项目在内的关系数据库技术的研究。13年后,在"SystemR "和"SystemR*"项目的基础上,DB2 以 SystemR 为原型面世
④MySQL简介
MySQL 也是一个关系型数据库管理系统,现已被0racle公司收购。它与上述大型数据 库相比,有不足之处,但是这丝毫没有减少它受欢迎的程度。
(2)非关系数据库
非关系数据库也被称作 NoSQL(Not 0nly SQL),存储数据不以关系模型为依据,不需要 固定的表格式。非关系型数据库作为关系数据库的一个补充,在日益快速发展的网站时代,发挥着高效率与高性能
非关系型数据库的优点:
- 数据库高并发读写的需求
- 对海量数据高效率存储与访问
- 数据库的高扩展性与高可用性的需求
常用的非关系数据库例如 Memcached、Redis、MongoDB、HBase
二.关系数据库的基本概念
关系数据库系统是基于关系模型的数据库系统,是关系模型应用到数据库领域的实例化。它的基本概念来自于关系模型
1.关系数据库的基本结构
关系数据库使用的存储结构是多个二维表格,即反映事物及其联系的数据描述是以平面表格形式体现的
在每个二维表中,每一行称为一条记录,用来描述一个对象的信息,每一列称为一个字段,用来描述对象的一个属性。数据表与数据库之间存在相应的关联,这些关联用来查询相关的数据
关系数据库是由数据表之间的关联组成的。其中:
-
数据表通常是一个由行和列组成的二维表,每一个数据表分别说明数据库中某一特定的方面或部分的对象及其属性
-
数据表中的行通常叫做记录或者元组,它代表众多具有相同属性的对象中的一个
-
数据表中的列通常叫做字段或者属性,它代表相应数据库中存储对象的共有属性
2. 主键与外键
(1)主键
数据表中的每行记录都必须是唯一的,而不允许出现完全相同的记录,通过定义主键(主 关键字,Primary Kev)可以保证记录(实体)的唯一性
键,即关键字,它是关系模型中一个非常重要的元素。
主键唯一标识表中的行数据,一个主键值对应一行数据。主键由一个或多个字段组成,其值具有唯一性,不允许取空值(NULL)。:一个表只能有一个主键。
(2)外键
一个关系数据库通常包含多个表,通过外键(Foreign Key)可以使这些表关联起来
外键是用于建立和加强两个表数据之间的链接的一列或多列。通过将表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接这个列就称为第二个表的外键。
3. 数据完整性规则
为了维护数据库中的数据与现实世界的一致性,关系数据库的数据与更新操作必须遵守下列四类完整性规则
(1)实体完整性规则
实体完整性规则要求关系中的元组在主键的属性上不能有空值.如果出现空值,那么主键值就起不到唯一标识元组的作用
(2)域完整性规则
域完整性也称列完整性,指定一个数据集对某一个列是否有效或确定是否允许空值
(3)引用完整性规则
如果两个表之间相互关联,那么引用完整性规则要求不允许引用不存在的元组
(4)用户定义的完整性规则
用户定义的完整性规则是针对某一具体数据的约束条件,由应用环境决定。它反映某一具体应用所涉及的数据必须满足的语义要求。系统提供定义和检验这类完整性的机制,以便用统一的系统方法进行处理,不再由应用程序承担这项工作
三. MySQL服务基础
MySQL 是一个真正的多线程、多用户的SQL数据库服务,凭借其高性能、高可 靠和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统。在2008 年以前,MySQL项目由 MSQL AB 公司进行开发、发布和支持,之后历经Sun 公司收购 MySQL AB 公司, 0racle 公司收购 Sun 公司的过程, 目前 MySQL 项目由 0racle 公司负责运营和维护。
MySQL的二进制安装
MySQL 的安装方式除了常规的源码编译安装之外,最常用的还包括 YUM 方式安装和二进 制方式安装。二进制安装方式中,包括 rpm 版本以及 glibc 版本。rpm 版本就是在特定 Linux 版本下编译的,如果你的Linux 版本匹配,就可以安装。如下载 Cent0s7 系统所对应编译好 的rp 包安装即可。另外一种二进制安装包是基于特定的 glibc 版本编译的。
(1)环境准备
安装MySQL依赖的软件包

创建运行Mysql程序的用户

关闭Selinux和防火墙

(2)二进制安装
解压并移动


创建目录、添加属主、属组

初始化生成默认密码

此次初始化没有采用无密码模式,因此会生成初始随机密码,需要保存,用以后续登录 mysql 数据库使用
设定配置文件


配置systemctl方式启动
将MySQL添加成为系统服务,通过使用systemctl 来 管理。在/usr/local/mysql/support-files日录下找到mysql.server文件将其复制到/etc//init.d 目录下,改名为 mysqld 并赋予可执行权限

编辑生成 mysqld.service 服务,通过 systemctl 方式来管理

启动数据库,并查看端口

访问Mysql数据库

为数据库设置新密码

验证
