数据库

1、什么是数据库?

高效的保存数据和处理数据的介质

Database:DB

DBS:Database System,数据库系统

2、数据库系统是做什么的?

专门用来管理数据库操作

DBS = DB + DBMS(Database Management System) + DBA

DBMS:真正的管理数据库的系统

DBA:Database Administrator,数据库管理员

数据库分类

数据库分为两类:关系型数据库和非关系型数据库

1、什么是关系型数据库?非关系型?

关系型数据库是一种建立在关系模型上的数据库。

关系模型:关系模型是在自然界存在的实体内部的联系或者实体不实体之间的联系,把联系抽象处理变成系统能够理解的模型。

实体:自然界中能够被看到的或者被解释到的具体的形体。

关系模型包含三个部分:完整性约束,关系结构。(回头查一下)

非关系型数据库:不是建立在关系模型上的数据库。(所有的不是关系型数据库的数据库都是非关系型数据库)。

关系型数据库

市面上的关系型数据库有很多,最常见的以下这些。

所谓的数据库的型号是按照数据库能够处理的数据量的多少以及并发量的多少来衡量。

小型:access,Sybase

中型:mysql,SqlServer

大型:DB2,Oracle

关系型数据库运行的介质是:磁盘

非关系型数据库

运行的介质:内存

非关系型数据库:memcached,mongodb,redis

对比

关系型和非关系型数据库的对比

相同点:

1、都是数据库(高效的存储和管理数据)

区别:

1、运行介质不一样

2、运行效率不一样,非关系型数据库远大于关系型数据库

3、数据存储的方式不一样:关系型数据库数据存储是依赖关系模型,而非关系型数据库的数据存储往往都是键值对:name=>mark

4、安全性不一样:关系型更安全(非关系型数据库在静态的时候会将数据保存到磁盘上)

关系

关系型数据库就是数据存储在关系模型上,所谓的关系模型就是一张二维表。

关系型数据库:实体内部的联系或者实体与实体之间的联系

教学模型

实体:老师,学生,教室,班级

学生表

学号

姓名

性别

年龄

Itcast0001

XXX

28

Itcast0002

XXX

23

班级表

班级名称

专业

教室

PHP0925

PHP

B806

PHP0226

PHP

D307

以上信息维护的是实体内部的联系。

学生与班级之间的关系:实体间的关系

学号

姓名

性别

年龄

班级名称

Itcast0001

XXX

28

PHP0925

Itcast0002

XXX

23

PHP0925

班级表

班级名称

专业

教室

PHP0925

PHP

B806

PHP0226

PHP

D307

PHP1115

PHP

在关系型数据库中,如果一个数据的某个信息不全面,系统也需要提供空间进行数据保存的预留。

关系型数据库比较浪费磁盘空间。

mysql

mysql是一种关系型数据库,数据的存储介质是磁盘,存储方式是二维表。

mysql是一种c/s结构软件:客户端和服务端

客户端:连接操作服务端,获取服务端的数据并进行显示

服务端:存储和管理数据

客户端与服务端往往在不同的电脑上。

虚拟:假设我本机的mysql服务端不在我的电脑上。

工作流程

一、mysql客户端的工作的步骤

1、开始服务端

2、windows下通过服务进行开启

二、客户端连接认证

1、连接:-hhost主机名 –Pport端口

2、认证:-uusername用户名 –ppassword用户密码

  1. 客户端的任务
  2. 准备SQL语句
  3. 发送SQL语句给服务端
  4. 解析SQL执行的结果
  5. 服务端的任务
  6. 监听端口:3306
  7. 接收请求:连接认证请求/SQL语句请求
  8. 执行SQL语句
  9. 返回SQL执行结果
  10. 锻炼连接:客户端
  11. 强制关闭客户端
  12. 正常退出:exit/quit/\q

本质的退出是服务器断开了连接,销毁了当前客户端的连接认证信息。

服务端数据对象

服务端其实就一个内容:DBS

服务器内部的数据对象分为四层:DBMS-》DB-》Table-》Field

关系型数据库的几个典型概念

Row/Record:行/记录,都是表示同一个东西,行是从表结构上来说明,记录是从数据角度出发

Column/Field:列/字段,表示同样的东西,列是从结构出发,字段是从数据出发

SQL:Structured Query Language,结构化查询语言,是DBMS所能识别和处理的唯一语言(是一门编程语言)

SQL细分为三类:

DDL:Data Definition Language,数据定义语言,专门用来维护数据库的结构(库/表)

DML:Data Manipulation Language,数据操作语言,专门用来操作数据的(数据),DQL(Query):专门用户select查询

DCL:Data Control Language,数据控制语言,控制数据库的权限以及数据的权限

基本SQL操作

操作指的都是CRUD:增删改查

C:create,创建

R:Read/Retrieve,查询

U:Update,更新

D:Delete,删除

库操作

对数据库的增删改查。

新增数据库

语法:create database 数据库名字 [库选项]

库选项:字符集(charset/character set)和校对集(collate)

字符集:数据想存在该数据库下,默认使用的字符集编码

校对集:默认的数据进行比较时指定的比较方式

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐