0 前言

本文讲解数据库的最基本概念

推荐书籍:《MySQL 必知必会》
需要的软件:MySQL 8.0

1 数据库相关概念及其实战应用

1.1 数据(Data)

在人类世界中,数据可以是

  • 数值型数据

    • 十进制数
  • 非数值型数据
    • 图片
    • 声音
    • 视频
    • 文字
    • ……

在计算机世界中,数据是二进制数

映射
人类世界
计算机世界

将人类世界的信息,映射到计算机世界,将人类世界信息转换成二进制数,并且存储到计算机的过程,就叫数据的存储。

例如,你写一个博客,保存起来,这就是存储数据。

1.2 数据库(Database DB)

1.2.1 概念

数据的存储,需要使用容器,就好比水的存储,需要使用水桶一样,装数据的容器,就是数据库

在人类世界,装数据的容器,可以是文件柜

数据,就是文件,并且,通常情况下,文件是放在文件夹里的。


这里就引出了几个数据库学科中的重要概念

  • 数据库 —— 文件柜
  • —— 文件柜里的文件夹
  • 数据 —— 文件夹里的资料

这样,我想你能够明白,这几个概念之间的关系了。

值得注意的一点是,他们之间的关系,数据库与数据库,数据库中的表和表,表中的数据和数据,他们之间,都存在各种结构,也就是所谓的数据结构,这一点还是很重要的,但是现在先不谈这个事情。

1.2.2 实战

我们来用MySQL的命令,演示一下。

1.2.2.1 显示数据库

显示数据库:show databases;

它在资源管理器中,就是文件夹,我们来看一下

我展示出了路径,你可以自己找一下,默认C盘,可以看出,数据库名称与文件夹名称之间是对应的

1.2.2.2 创建数据库

创建数据库:create database <数据库名称>;

我们将数据库的名字命名为FileCabinet(文件柜)好了。

我们再查看一下数据库

你可以看见文件夹也有了这个

不过,不知道有没有注意到,为什么是小写了?

原因在于:MySQL在windows下,不区分大小写,但是在Linux下区分大小写,所以,为了能够更容易匹配,就全部转换为小写。

1.2.2.3 使用数据库

使用数据库:use <数据库名称>;

这样,你就能够使用这个数据库了,比如可以在里面创建表,再创建文件,等等。

1.2.2.4 显示当前数据库中的表

指令:show tables;

结果显示,这个数据库中,没有表,是空的,这也就是说,文件柜是新生产的,里面啥都没有。

1.2.2.5 在数据库中创建表

语法:create table <表的名字> (表的定义);

这里设计到SQL语言的数据类型,先不用管,只需要知道

  • 我们在数据库filecabinet中创建了一个表,名字叫student_file
  • 表的定义部分,也就是()中的,带表:这个表中的数据,可以具备两个属性,一个是字符类型的name,一个是数字类型的age

1.2.2.6 查看刚刚创建的表

命令:show tables;

我们可以看见,在这个数据库中,我们拥有了一个名字为student_file的表。我们还可以按照上一小节的内容,在该数据库中,创建更多的表。

我们进入资源管理器中,看一下我们创建的表。

在文件夹filecabinet中,创建了一个ibd类型的文件,这也就是我们创建的表对应的文件。

1.2.2.7 表的定义是什么意思?

刚刚我们提到了表的定义,和表的两个属性,name和age,那么,他们到底是什么意思?

举一个例子你就明白了,你在学习工作中,是不是总要填表格

我们现在创建一个Excel表格,将其命名为student_file

然后,在表格内,写上一些内容

并明确要求,name一栏,要写字符型数据,age一栏,要写数字,之后让同学们填写。

这样一来

  • 张三、李四和王五,写在了name一栏,并且是char类型的数据
  • 18、19和20,写在了age一栏,并且是int类型的数据

这也就是说,我们的student_file,具备两个属性char类型的nameint类型的age,并且可以在里面填写符合标准的信息

这也就是所谓表定义的意义它指明了整个表能够填入什么样的数据

1.2.2.8 其他

后续还有表内数据的填写等等,以后再说。

1.2.3 小结

我们来总结一下本小节的重要内容:数据管理系统、数据库、表和数据,理清他们之间的逻辑关系。

对于一片计算机存储空间,可以创建多个数据库创建的数据库需要有<名称>,在资源管理器中,表现为创建了多个文件夹

对于每一个数据库,内部都可以创建多个表创建的表需要有<名称>和(属性),在资源管理器中,体现为在数据库文件夹内,创建多个文件。

对于每一个表,表内包含了符合其属性的数据,在资源管理器表现为,表对应的文件中的内容

DBMS,就是能够方便管理数据库、表、数据的软件。

补充:与计算机组成原理联系,可以将DBMS看成CPU的控制器,掌控着各个器件的运行方式。

1.3 数据库管理系统(Database Management System DBMS)

DBMS,就是方便人类操作数据库的软件,比如MySQL,SQL Server等等,都是数据库管理系统,都是软件,上一小节我们使用的各种指令,就是在MySQL软件上进行的。

还有一个概念:数据库管理员(Database Administrator DBA)

DBA,就是管理数据库管理系统的人,你可以理解为,图书馆管理员,他需要管理整个图书馆的各个书柜,书柜也就是数据库。

1.4 数据库系统(Database System DBS)

重点不是数据库管理系统,而是系统,我们知道很多系统,比如计算机系统,选课系统……谈及系统,必须要谈及其所在的层次,他代表其所在层次领域的全部生态

例如数据库系统,他就包含

  • 数据库管理系统
  • 数据库管理员
  • 数据库
  • 数据
  • 用户

等等,整个数据库学科生态的全部内容,及其结构关系,甚至还有包含其与外界的联系,系统是个很复杂的事情,你这样简单理解就可以了。

DBS
DBA
应用系统/用户等
DBMS
DB
TABLE
DATA

【数据库】数据库基本概念:数据库管理系统 / 数据库 / 表 / 数据相关推荐

  1. 计算机机房管理系统 数据库课设,学校机房管理系统数据库课程设计.doc

    学校机房管理系统数据库课程设计.doc 数据库原理及应用课程设计设计报告题目机房管理系统后台数据库学号131007220学生姓名指导教师提交时间2015/1/4目录第1章需求分析111课程设计概述11 ...

  2. java day26【数据库的基本概念、MySQL数据库软件、SQL数据库的基本概念】

    第一章    数据库的基本概念 1. 数据库的英文单词: DataBase 简称 : DB 2. 什么数据库? * 用于存储和管理数据的仓库. 3. 数据库的特点: 1. 持久化存储数据的.其实数据库 ...

  3. 清理吉日嘎拉走火入魔C#.NET通用权限管理系统组件表数据的脚本方法参考

    我们在试用.学习软件各种功能时都希望能有完整充分的演示数据不要每个数据都是自己录入的,但是等程序都会用了,功能也都大体上明白了要正式上线了,就马上希望有个干净的系统,可以直接就可以用了,最好是几秒钟内 ...

  4. MySQLi学习笔记 :一 1. 数据库的基本概念 2. MySQL数据库软件 安装-- 卸载--. 配置 3. SQL

    # MySQL数据库软件     1. 安装         * 参见<MySQL基础.pdf>     2. 卸载         1. 去mysql的安装目录找到my.ini文件    ...

  5. 计算机机房管理系统数据库设计入门经典,机房管理系统数据库设计

    十一.附录 Java界面部分代码 连接数据库: import java.sql.*; public class Link_SQL{ Connection conn; Statement stm; Pr ...

  6. Mysql数据库的基本概念

    Mysql数据库的基本概念 一.数据库的基本概念 1.数据库的组成 2.数据库类型 关系型数据库 非关系型数据库 redis 与 Mcmcache对比 3.数据库管理系统(DBMS) 4.数据库系统 ...

  7. 数据库(mysql)基本概念

    目录 一.数据库的基本概念 1.数据库的组成 1.数据 2.表 3.数据库 2.数据库的管理系统(DBMS) 3.数据库系统(DBS) 4.DBMS的工作模式 二.数据库系统发展史 1.第一代数据库( ...

  8. 中学学籍管理系统数据库课程设计,限于篇幅只能采取截图方式上传,原文件在我资源中有所展示。

    第五章 数据库物理设计 5.1 RDBMS的选择 中学生管理系统课程设计小组选择的是Microsoft的SQL Server的Windows.NT版本,主要是考虑到:Microsoft SQL Ser ...

  9. 学生成绩管理系统数据库设计--MySQLSQL Server

    MySQL 数据库设计-学生成绩管理系统 设计大纲 友情链接 1.医疗信息管理系统数据库–MySQL 2.邮件管理数据库设计–MySQL 3.点餐系统数据库设计–SQL Server 4.商品管理系统 ...

  10. MySQL医疗信息管理系统数据库(源码)

    MySQL医疗信息管理系统数据库(源码) 友情连接 1.学生成绩管理系统数据库设计--MySQL 2.邮件管理数据库设计--MySQL 3.SQL Server医疗信息管理系统数据库[英文版-源码]- ...

最新文章

  1. 也说_T、_TEXT、TEXT、L
  2. Go web之旅(Request分析)
  3. 认证与Shiro安全框架
  4. Linux Gedit 打开txt文件乱码
  5. 阶乘的计算java_java中四种阶乘的计算
  6. 项目回顾1-图片上传-form表单还是base64-前端图片压缩
  7. ZZULIOJ21级新生周赛(1)——命题人:朱会东老师——2822: 探姬粉丝众多
  8. SSH远程登陆配置sshd_config文件详解
  9. C#即时通讯客户端源码【源码免费分享】
  10. cai鸟驿站管理系统
  11. 国内十大上市移动医疗企业盘点
  12. SFF1006-ASEMI超快恢复二极管SFF1006
  13. python:maya 一个人性化的时间处理库
  14. Vmware 和宿主机之间的网络互通
  15. 为什么不要用苹果的@icloud.com邮箱申请你的APP ID
  16. 【转】图解领带的打法10种
  17. 3D MAX 安装中的一些问题 一直初始化、闪退
  18. 安装打印机显示域服务器不可用,Win7系统打印出错提示“Active Directory域服务当前不可用”怎么解决...
  19. Ant Design Pro V4下载运行
  20. oracle ogg下载安装,【OGG】OGG的下载和安装篇

热门文章

  1. 卷积神经网络(CNN)与特殊的卷积
  2. 选择排序和冒泡排序以及折半查找
  3. SuperSpider——打造功能强大的爬虫利器
  4. Jquery CheckBox全选方法
  5. python 选择多个文件夹_如何同时选择多个文件?
  6. 链表快速排序python_Python一行代码实现快速排序的方法
  7. linux ptrace 内核源码分析,linux 3.5.4 ptrace源码分析分析(系列一)
  8. php文件上传 github,PHP的cURL文件上传
  9. listitem android,android-为contextmenu标识listitem的ID
  10. java 服务器读取客户端文件,java 服务器读取客户端文件