MySQL数据库初体验

目录

一:数据库简介

1.使用数据库的必要性

2.数据库的基本概念

3.经典数据模型

4.关系型数据库的基本概念

5.数据完整性规则

二:进制安装

1.基础环境准备

2.安装

3.设定配置文件

4.配置ysytemctl方式启动

5.访问mysql数据库


一:数据库简介

1.使用数据库的必要性

使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速、方便地管理数据。数据库具有以下特点。

  • 可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。
  • 可以有效地保持数据信息的一致性、完整性,降低数据几余。
  • 可以满足应用的共享和安全方面的要求。

数据库技术是计算机科学的核心技术之一,具有完备的理论基础。对数据库基本概念的掌握,将有助于对数据库的理解。

2.数据库的基本概念

(1)数据

描述事物的符号记录称为数据(Data)。数字、文字、图形、图像、声音、档案记录等都是数据。

在数据库中,数据是以“记录”的形式按照统一的格式进行存储的,而不是杂乱无章的。相同格式和类型的数据统一存放在一起,而不会把“人”和“书”混在一起存储。这样,数据的存储就能够并然有序。

如下图中存储的一行数据,在数据库中称为一条“记录”(Record)。每条记录中的每一个输入项称为“列 ”。下图中编号、姓名、性别、年龄、民族、专业都是列名。

编号姓名性别年龄民族专业
11王明22计算机科学与技术
22张三20音乐
33李四23自动化

(2)数据库管理系统和数据库系统

数据库管理系统(Database Management System,DBMS)是实现对数据库资源有效组织、管理和存取的系统软件。它在操作系统的支持下,支持用户对数据库的各项操作。DBMS主要包括以下功能。

  • 数据库的建立和维护功能:包括建立数据库的结构和数据的录入与转换、数据库的 转储与恢复、数据库的重组与性能监视等功能。
  • 数据定义功能:包括定义全局数据结构、局部逻辑数据结构、存储结构、保密模式 及信息格式等功能。保证存储在数据库中的数据正确、有效和相容,以防止不合语 义的错误数据被输入或输出
  • 数据操纵功能:包括数据查询统计和数据更新两个方面。
  • 数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制、存取控 制、数据库内部维护等功能。
  • 通信功能:DBMS 与其他软件系统之间的通信,如Access 能与其他 Office组件进行 数据交换。

数据库系统(DatabaseSystem,DBS)是一个人-机系统,一般由硬件、操作系统、数 据库、DBMS、应用软件和数据库用户(包括数据库管理员)组成。用户可以通过 DBMS 操作 数据库,也可以通过应用程序操作数据库。

应用程序是利用 DBMS 为解决某个具体的管理或数据处理的任务而编制的一系列命令的 有序集合。如果应用程序比较完善,能够提供友好的人机界面,并编译成可执行文件发行, 使得普通用户不需要具备计算机的专业知识,在较短时间就学会使用,那么就称为数据库应用软件。

数据库管理员(Database Administrator,DBA)负责数据库的更新和备份数据库系 统的维护、用户管理等工作,保证数据库系统的正常运行。DBA一般由业务水平较高、资历 较深的人员担任

3.经典数据模型

数据是现实世界中“量 ”的抽象,而数据模型(Data Model)是数据特征的抽象。在数据库系统中,数据模型是它的核心与基础。数据模型表现为数据的结构、定义在其上的操作及约束条件。它从概念层次上描述了系统的静态特征、动态特征和约束条件,为数据库系统的信息表示与操作提供了一个抽象框架。

在 DBMS 的发展过程中,出现了网状模型、层次模型和关系模型三种经典的数据模型。 由于受限于数学基础、编程技术和硬件条件,最初出现的层次模型和网状模型与关系模型相 比,在用户接口的上、中层部分更易于实现。所以,这在很长一段时间阻碍了关系模型的发展。

数据模型所描述的内容包括三方面:数据结构、数据操作和数据约束。下面简单介绍三种经典数据模型。

(1)网状模型

数据结构

在网状模型中,数据记录组织成图的形式,使用“数据结构图”进行抽象的分析和表示。 图 1.2 所示的网状模型数据结构图表示的是银行客户、银行账户和银行支行三方面的一种复 杂关系。

 所示的网状模型抽象于图 1.3 所示的实际情况,它表示了下列基本关系

  •  一个银行客户可以拥有多个银行账号(一对多)
  • 一个银行账号也可以被多个客户所有(一对多)
  • 每个银行账户位于特定的银行支行(一对一)

其中更蕴含着客户和银行之间多对多、名对一的关系。这样复杂的数据关系在网状模型上可以得到很好的支持。

网状模型适合表达复杂的数据关系,也可以将数据几余减小到最小,它的数据结构模型能直观反映现实中数据之间的联系。

数据操作

从数据结构的定义上不难看出,网状模型的数据操作是建立在关系链基础上的导航式的操作。针对一个特定的网状模型系统的数据结构,有可能找到最优的查询算法。但是,一旦结构发生变化,就需要新的查询办法。网状模型以图论为基础,还无法得到一个通用的、高效 的解决方案。所以,随着关系模型的飞速发展和广泛应用,网状模型已经暂时失去其重要性了。

数据约束

网状模型的数据约束是零散孤立的,或者分散在各个节点,或者集中成为一种关系链,这样容易导致不一致性或降低效率。所以,通常网状模型不具体实现数据约束,而由应用 程序自身来实现数据约束。这样的情况也使得在网状模型基础上的开发变得困难重重。

(2)层次模型

数据结构

层次模型是网状模型的一个特例。在层次模型中,数据记录组织成树的形式,使用“树 结构图 ”进行抽象的分析和表示,适合一对多的关系模型。图 1.4 所示为企业组织结构的树 结构图。

图 1.4 所示的层次模型的树结构图抽象于图 1.5 所示的实际情况,它包含了下列关系。

  • 企业下辖多个部门(一对多)。
  • 部门下辖多个科室(一对多)。
  • 科室下辖多个小组(一对多)。

相对于网状模型,层次模型禁止了多对多和多对一的关系,使得它的数据结构相对简单。

数据操作

在层次模型上的数据操作不可避免地具有网状模型的特点--导航性。但是,由于禁止 了多对一和多对多的关系,因此数据操作相对网状模型而言简单了许多。这样的结构有利于

提高数据的查询效率,但数据存取上还存在着必须导航的要求。因此,层次模型的数据库在数据操作上依然比较复杂。

数据约束

层次模型的数据约束与网状模型相似,由于结构的简化,去掉了网状模型中多对多和多对一的关系,数据约束处理的复杂性按级数下降。所以,层次模型的数据约束可以做到适当的系统实现,但很多还是依靠应用程序本身实现。

层次模型的实现技术比关系模型优越,比网状模型简单,所以一直独领风骚它的代表是 IBM 公司的IMS系统。该系统曾是使用最早和最广的几个数据库之一,在历史上曾是最大的数据库之一,由于它的开发者是最早开始处理并发、恢复、完整性和高效查询等问题的人,其中的一些技术和思想自然应用到 DB2 中,这是 DB2长盛不衰的根源。DB2 有许多性能是非常优秀的,与这段历史不无关系

(3)关系模型

数据结构

关系模型建立在关系代数的理论基础上,数据结构使用简单易懂的二维数据表,可以用简单的“实体-关系 ”(E-R)图来直接表示,E-R 图中包含了实体(数据对象)、关系和属性三个要素。如图1.6 表示了银行客户和银行账户之间的关系。

银行客户和银行账户之间的关系

  • 实体:也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物如银行 客户、银行账户等。
  • 实体集:具有相同类型及共享相同性质的实体集合。例如,银行所有客户的集合可以定 义为“银行客户 ”实体集。
  • 属性:实体所具有的某一特性,一个实体可以有多个属性。例如,“银行客户 ”实体集 中的每个实体均具有姓名、住址、电话等属性。
  • 联系:实体集之间的对应关系称为联系,也称为关系。例如,银行客户和银行账户之间 存在“储蓄 ”的关系。

4.关系型数据库的基本概念

关系数据库系统是基于关系模型的数据库系统,是关系模型应用到数据库领域的实例化。它的基本概念来自于关系模型。

(1)关系型数据库的基本概念

关系数据库使用的存储结构是多个二维表格,即反映事物及其联系的数据描述是以平面表格形式体现的。

在每个二维表中,每一行称为一条记录,用来描述一个对象的信息:每一列称为一个字段,用来描述对象的一个属性。数据表与数据库之间存在相应的关联,这些关联用来查询相关的数据。图1.7所示就是一个数据表。

关系数据库是由数据表之间的关联组成的。其中:

  • 数据表通常是一个由行和列组成的二维表,每一个数据表分别说明数据库中某一特定的方面或部分的对象及其属性。
  • 数据表中的行通常叫做记录或者元组,它代表众多具有相同属性的对象中的一个。
  • 数据表中的列通常叫做字段或者属性,它代表相应数据库中存储对象的共有属性。

(2)主键与外键

主键

数据表中的每行记录都必须是唯一的,而不允许出现完全相同的记录,通过定义主键(主 关键字,Primary Key)可以保证记录(实体)的唯一性。

键,即关键字,它是关系模型中一个非常重要的元素。

主键唯一标识表中的行数据,一个主键值对应一行数据。主键由一个或多个字段组成, 其值具有唯一性,不允许取空值(NULL)。一个表只能有一个主键。

如果一个属性集能唯一地标识表的一行而又不含有多余的属性,那么这个属性集称为候 选键。表中可以有多个候选键,但是只能有一个候选键可以选作表的主键,所有其他候选键 称为备用键。例如,在图1.7 所示的“学生信息统计表 ”中,{编号}、{身份证号}或{姓名,专业编号}都可以说是候选键,可以将{编号}定义为主键。

外键

一个关系数据库通常包含多个表,通过外键(Foreign Key)可以使这些表关联起来。

外键是用于建立和加强两个表数据之间的链接的一列或多列。通过将表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就称为第二个表的外键。

例如,在图 1.8所示的“专业名称表 ”中,字段{专业编号}是该表的主键,在图 1.7

所示的“学生信息统计表 ”中也有一个字段{专业编号},则该字段称为“学生信息统计表”的外键。

在图 1.7 和图 1.8 中,“专业名称表 ”就称为“主表 ”“学生信息统计表 ”就称为“从表”“主表 ”和“从表 ”总是成对出现的,相互之间以“外键 ”形成关联。

5.数据完整性规则

为了维护数据库中的数据与现实世界的一致性,关系数据库的数据与更新操作必须遵守下列四类完整性规则。

(1)实体完整性规则

实体完整性规则要求关系中的元组在主键的属性上不能有空值。如果出现空值,那么主 键值就起不到唯一标识元组的作用。

例如,在图 1.9 所示的“学生信息表 ”中,每个学生都有一个编号,用来唯一标识每个 学生的信息记录,这个编号往往被设为该表的主键,以方便其他数据库表的关联应用。依照 实体完整性规则,“编号”字段不允许为空。

(2)域完整性

域完整性也称列完整性,指定一个数据集对某一个列是否有效或确定是否允许空值。

例如,在图 1.9 所示的“学生信息表 ”中,定义“性别 ”字段只能取值为“男 ”或“女 ”,这样该列就不会输入其他一些无效的值,如“female“22”“苗族 ”等。

(3)引用完整性规则

如果两个表之间相互关联,那么引用完整性规则要求不允许引用不存在的元组。

例如,在图 1.9 所示的表中记录了所有的学生信息,在图 1.10 所示的表中记录了学生的考勤记录。

学生“王菡 ”在“学生信息表 ”中不存在,但是在“学生考勤表 ”中,却有了她的出勤记录,这样的情况是不允许出现的。

(4)用户定义的完整规则

用户定义的完整性规则是针对某一具体数据的约束条件,由应用环境决定。它反映某一具体应用所涉及的数据必须满足的语义要求。系统提供定义和检验这类完整性的机制,以便用统一的系统方法进行处理,不再由应用程序承担这项工作。

二:进制安装

1.基础环境准备

安装mysql依赖包

创建程序用户,关闭防火墙

2.安装

解压二进制包

创建data目录,更改文件属主

在bin目录下配置

初始化没有采用无密码模式,因此会生成初始随机密码,需要保存,后续登录MySQL使用

3.设定配置文件

将MySQL的可执行文件写入环境变量中

4.配置ysytemctl方式启动

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

重载系统服务,启动MySQL服务查看进程

5.访问mysql数据库

MySQL数据库系统也是一个典型的C/S(客户端/服务器)架构的应用,要访问 MySQL数据库需要使用专门的客户端软件。在Linux系统中,最简单、易用的 MySQL 客户端软件是 其自带的 mysql 命令工具。

(1)登录到MySQL服务

经过安装后的初始化过程,MySQL 数据库的默认管理员用户名为“root密码为给定的随机密码。以root 用户登录本机的 MySQL 数据库,可以执行以下操作。

根据提示输入密码后进入

更改root密码

(2)执行MySQL语句

验证成功以后将会进入提示符为“mysq1>”的数据库操作环境,用户可以输入各种操 作语句对数据库进行管理。每一条 MySQL 操作语句以分号“ ;”表示结束,输入时可以不区 分大小写,但习惯上将 MySQL 语句中的关键字部分大写。

例如,以用户名 root 登录到“mysql>”环境后,执行“SHOW DATABASES语句可以查 看当前数据库中有哪些库。

(3)退出myslq环境

在“mysql〉”操作环境中,执行“EXIT ”或“QUIT ”命令便可以退出 mysq1 命令工具, 返回原来的 Shell 环境。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值