一、数据库的基础概念

1. 数据库基础概念

MySQL学习笔记(1)—— 基础概念

2. 关系型数据库基础概念

MySQL学习笔记(1)—— 基础概念

  • 以上是数据库课本前两章的知识结构,这两个思维导图十分完整,所有加号都能展开,覆盖了各种知识细节,但是完整的图太大了无法展示,请到我的github下载查看,使用MindMaster软件打开:思维导图

二、SQL的基础概念

  • SQL(Structured Query Language):结构化查询语言,是一个通用的、功能极强的关系型数据库的标准语言

1. SQL 的产生与发展

  • SQL标准的进展过程
    MySQL学习笔记(1)—— 基础概念
  • 目前,没有一个数据库系统能够支持SQL标准的所有概念和特性

2. SQL的特点

(1)综合统一

  • SQL指令集四种类型于一体
    1. 数据定义语言DDL:用于数据库、表、视图等的建立和删除CREATEALTERDROP…)

    2. 数据操纵语言DML:用于添加、删除、修改数据表中的记录INSERTDELETEUPDATE…)

    3. 数据控制语言DCL:用于数据库对象权限管理和事务管理COMMITROOLBACGRANT…)

    4. 数据查询语言DQL:用于数据查询,这是数据库的基本功能SELECT…)

  • 可以独立完成数据库生命周期中的全部活动
    1. 定义和修改、删除关系模式,定义和删除视图,插入数据,建立数据库;
    2. 对数据库中的数据进行查询和更新;
    3. 数据库重构和维护
    4. 数据库安全性、完整性控制,以及事务控制
    5. 嵌入式SQL和动态SQL定义
    6. 用户数据库投入运行后,可根据需要随时逐步修改模式,不影响数据库的运行。
    7. 数据操作符统一

(2)高度非过程化

  • 非关系数据模型的数据操纵语言 “面向过程”,必须指定存取路径。
  • 而在关系型数据库中,SQL只要提出“做什么”,无须了解存取路径
  • 存取路径的选择以及SQL的操作过程由系统自动完成。

(3)面向集合的操作方式

  • 非关系数据模型采用面向记录的操作方式,操作对象是一条记录
  • SQL采用集合操作方式
    • 操作对象、查找结果可以是元组的集合
    • 一次插入、删除、更新操作的对象可以是元组的集合
    • (这里元组可以理解为一条记录或数据表的一行)

(4)以同一种语法结构提供多种使用方式

  • SQL是独立的语言:能够独立地用于联机交互的使用方式
  • SQL又是嵌入式语言:SQL能够嵌入到高级语言(例如C,C++,Java)程序中,供程序员设计程序时使用

(5)语言简洁,易学易用

  • SQL功能极强,但完成核心功能只用了9个动词
    MySQL学习笔记(1)—— 基础概念

3. SQL的基本概念

  • SQL支持关系数据库三级模式结构(关于三级模式结构参见思维导图第一张)
    MySQL学习笔记(1)—— 基础概念

(1)基本表

  • 本身独立存在的表
  • SQL中一个关系就对应一个基本表(“关系” 的说明参见思维导图第二张)
  • 一个(或多个)基本表对应一个存储文件
  • 一个表可以带若干索引

(2)存储文件

  • 逻辑结构组成了关系数据库的内模式
  • 物理结构对用户是隐蔽的

(3)视图

  • 从一个或几个基本表导出的表
  • 数据库中只存放视图的定义而不存放视图对应的数据
  • 视图是一个虚表
  • 用户可以在视图上再定义视图

(4)其他

  • 其他相关概念将在后面mysql语法的讲解中逐步涉及

三、MySQL的基础操作

1. 启停MySQL服务

  1. 通过图形界面

    • dos指令:service.msc

    • 依次点击控制面板 - 管理工具 - 服务
      MySQL学习笔记(1)—— 基础概念

    • 找到MySQL,右键就行

  2. 利用命令行

    • 启动:net start mysql(如果是8.0版本,net start mysql80
    • 停止:net stop mysql (如果是8.0版本,net stop mysql80
  3. 连接mysql的方法

    1. 利用mysql的命令行窗口工具直接连接

    2. 设置环境变量后,进入CMD,输入命令mysql -h localhost -u root -p

2. 数据库结构

MySQL学习笔记(1)—— 基础概念

3. 图形化数据库管理工具

  • 建议下载一个图形化的数据库管理工具,虽然我们主要学习sql语句的语法和使用,但利用图形化管理工具,可以更方便地查看当前的数据库状态,也可以快速建立想要的数据表进行测试
  • 我用的是Navicat,界面如下
    MySQL学习笔记(1)—— 基础概念
    • 从左边栏可以看到,我正在浏览simulator数据库下的wave_info视图

相关文章: