开发必备-数据库必备

一. 数据库基础

1 什么是数据库?

数据库:database 存储数据的仓库。高效存储和处理数据的介质(介质主要是两种:磁盘和内存)

2 数据库的类型
  • 基于介质分类:
    • 关系型数据库(SQL)
      关系型数据库是一种建立在关系模型(数学模型)上的数据库。

      • 中等数据库:SQL-SERVER,Mysql
      • 大型数据库: DB2,Oracle
      • 小型数据库:access,playerfabs
    • 非关系型数据库(No SQL 即 Not Only SQL)

      • 非关系型数据库:memcached mongodb redis(同步到磁盘)
3 数据库优缺点
  • 关系型数据库:安全,容易理解
  • 非关系型数据库:效率高,不安全(断电丢失)

二.数据库分析

  • 关系型数据库(SQL)
    关系型数据库是一种建立在关系模型(数学模型)上的数据库。
  • 关系模型:一种所谓建立在关系上的模型
    • 数据结构:数据存储的问题,二维表(有行和列)
    • 操作指令集合:所有SQL语句
    • 完整性约束:表内数据约束
  • 关系型数据库设计
    从需要存储的数据需求中分析,如果是一类数据(实体),应该设计成一张二维表:表由表头(字段名:用来规定数据的名字)和数据部分组成(实际存储的数据单元)
表头 字段名1 字段名2
数据单元 数据1 数据2

dababase
数据库系统:DBS(Database System): 是一种虚拟系统,将多种内同关联起来的称呼。DBS = DBMS + DB
DBMS: Database Management System,数据库管理系统,专门管理数据库
DBA: DataBase Administrator 数据库管理员

  • SQL
    Structured Query Language 结构化查询语言(数据以查询为主)
    DDL: Data Definition Language,数据定义语言,用来维护存储数据的结构(数据库,表) 代表指令:creat, drop alter等
    DML:(Data Manipulation Language),数据操作语言,用来对数据进行操作(数据表中的内内容),代表指令:insert,delete,update等:其中DML内部又单独进行了一个分类:DQL(Data Query Language:数据查询语言,如Select) DCL:(Data control Language)数据控制语言,主要是负责权限管理(用户),代表指令:grant,revoke等

三.Mysql数据库

是一种C/S结构的软件,客户端/服务端,若想访问服务器必须通过客户端(服务器一直运行,客户端在需要使用的时候运行)

  • 交互方式:
  • 1:连接服务器,认证身份:mysql.exe-hPup
  • 2 : 发送SQL指令
  • 3 : 服务器接收SQL指令,处理SQL指令,返回操作结果
  • 4 :客户端显示结果
  • 5 : 断开连接,释放资源,服务器并发限制

Mysql服务器对象分为四级:系统(DBMS)--数据库(DB)--数据表(Table)--字段(field)

  • 基本操作 : CRUD
    将SQL的基本操作根据操作对象进行分类:库操作,表操作(字段),数据操作
  • 库操作
  • 作用:对数据库的增删改查
  • 语法:Creat database 数据库名字
    • 库选项:用来约束数据库,分为两个选项
      • 字符集设定:charset/character set 具体字符集
      • 校对集设定:collate 具体校对集()

你可能感兴趣的:(开发必备-数据库必备)