MySql数据库的学习及使用一:数据库简介

  • 什么是数据库
  • RDBMS简介
  • RDBMS术语


MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最常用的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

什么是数据库

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS简介

关系型数据理论由E.F.Codd博士在1970年提出

Codd制定了一个数据库产品成为关系型数据库所必须符合的一系列相关的标准

它是RDBMS(关系型数据库管理系统)的基础

什么叫关系型数据库?

1、数据结构单一:关系模型中,不管是实体还是实体之间的联系,都用关系来表示,而关系都对应一张二维数据表,数据结构简单、清晰。

2、关系规范化,并建立在严格的理论基础上:构成关系的基本规范要求关系中每个属性不可再分割,同时关系建立在具有坚实的理论基础的严格数学概念基础上。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U1aew4NP-1607566892482)(F:\课件\img\1607482072(1)].png)

3、概念简单,操作方便:关系模型最大的优点就是简单,用户容易理解和掌握,一个关系就是一张二维表格,用户只需用简单的查询语言就能对数据库进行操作。

关系型数据库需要包含下面三个方面

  • 对象或关系的集合
  • 基于关系的操作集合
  • 因数据精确性和一致性而带来的数据的完整性

RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

  • 数据以表格的形式出现
  • 每行为各种记录名称
  • 每列为记录名称所对应的数据域
  • 许多的行和列组成一张表单
  • 若干的表单组成database

RDBMS术语

在我们开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语:

  • 数据库: 数据库是一些关联表的集合。
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • 列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
  • **行:**一行(记录)是一组相关的数据,例如一条用户订阅的数据。
  • 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • **外键:**外键用于关联两个表。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
  • **索引:**使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或多个表格组成, 如图所示的一个表格:

基于Mysql的数据中心 mysql数据库及应用_java

  • 表头(header): 每一列的名称;
  • 列(col): 具有相同数据类型的数据的集合;
  • 行(row): 每一行用来描述某条记录的具体信息;
  • 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
  • 键(key): 键的值在当前列中具有唯一性。

MySql数据库都是关系型的,现实中的关系是一样的,比如说老师,学生,这是师生关系,老师有那么多的学生,在数据库中用table来储存学生的信息,老师的信息,一张学生表 一张老师表,两张相互独立的表要把他们联系起来,通多老师就能查找到学生的信息,通过学生表又能找到老师,这就建立了关系,数据库中最主要的对象,当初提出这个概念的人,当然就有一定的规则,只有符合这种规则的才能称为关系型数据库,主要有三个方面,第一个是对象或者说是关系的集合视图关系是表与表之间的关系,关系的操作的集合,精确性就是在数据库中的一些类型,我们在java中,我们学过数据类型了,有一个学生对象,有age属性 int型,name 属性是stirng型,数据库中称之为列,完整性,就要提一下约束,就像我们的身份证一样,都是唯一的,非空的,就是主键约束。

基于Mysql的数据中心 mysql数据库及应用_数据库_02

基于Mysql的数据中心 mysql数据库及应用_数据库_03

Java中有类的概念,学生类,那个是实际存在的叫做实体类,new 创建的对象是在内存中的,不能永久保存,可以保存到文件中,就是持久化,但是又非常繁琐,所以要找一个存储,读取方便的方法,就是存入数据库中,把学生、班级的信息存入到数据库中就很方便,在数据库中就用table来表示,一个对象就是一条记录。数据库是一个服务器,有一张班级表,学生表,一个班级对应多个学生,这个就是实体,java中就是两个类,再看看表,它有行和列,就是一张二维表,班级中有四个列,id,班级名,班级人数,班级方向,在java中就是四个属性,在看有5条记录,这5条记录如果在java中表示的话就是new 了四个客户对象。Java中与数据库中的这种对应关系就是映射,o/r对象,关系映射。Id是table中的主键,学生表中班级编号与班级表中的id是对应的,就可以根据学生找到他的班级,这个就是外键。

Sql语句90%以上都是通用的,可能同学们以前学过sqlserver的,90%以上的语法都一样的,有一小部分是每个数据库特有的,如增删改查的关键字语法都一样的。