目录

如何理解数据库的相关概念

1. 数据库与数据库管理系统

2.数据库的分类

基础概念

1.表

2.行、列

3.主键

记:


如何理解数据库的相关概念

1. 数据库与数据库管理系统

数据库(DataBase):保存有组织的数据的容器。
数据库管理系统(DataBase Manage System:DBMS):数据库软件,用于创建和操纵数据库。

  • 很多人会混淆数据库和数据库管理系统的概念,实际上人们使用的各种各样的数据库软件。例如:MySQL,ORACLE,SQLServer,Redis都是数据库管理系统,我们使用它们来访问数据库,对数据库进行操作。
  • 数据库可以理解为一个电子的文件柜,用以存储电子化的文件。现在我们很多人直接把数据库代指为数据库管理系统,在下文中除引用外所提及的数据库均为数据库管理系统。

2.数据库的分类

数据库按照类型分类可以分为:关系型数据库非关系型数据库

关系型数据库:关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。

非关系型数据库:NoSQL最常见的解释是“non-relational”,NoSQL仅仅是一个概念,泛指非关系型的数据库,区别于关系数据库,它们不保证关系数据的ACID特性。

基础概念

1.表

表:某种特定类型数据的结构化清单

在这里表的涵义可以理解为将同类型的数据按照一定结构存储在一个表格中,并且该表格在该数据库中具有唯一性。即在同一个数据库中,不可能出现两个相同名称的表。不同的数据库中,可以为两个分别存储在两个数据库的表命名相同的名称。
如果将数据库想象成一个保险箱,那么表就是存储在保险箱内的文件。

2.行、列

表由行和列编织成一个网格状,列显示属性,数据按行存储。

姓名 地址 电话
张三 北京市昌平区 xxxxxxxx
赵四 北京市朝阳区 xxxxxxxx

每一列都代表一个具体的属性,我们在设计表的时候,可以适当的将数据进行分解,正确的分解数据极其重要。比如在上面的例子中,如果地址是按照 XX市XX区这样的内容存储的,那么如果有需求找出所有北京市内昌平区的人,那么就会变得很困难。如果我们将数据分解为下面的格式,实现该需求将会变得容易很多。

姓名 所在省(市) 所在区(县) 电话
张三 北京市 昌平区 xxxxxxxx
赵四 北京市 朝阳区 xxxxxxxx

所以我们需要根据实际需求灵活设计表格以提高实现需求的效率,降低实现难度。

3.主键

某一列,它的值能够唯一区分表中的每一行,这样的列称为主键

满足成为主键的列必须满足以下条件:
1.任意两行都不具有相同的主键值;
2.每个行都必须具有一个主键值(不为NULL)

        简单的说就是:每一行中,存在一列具有非空且任意两行都具有不同的值。这样的列可以成为主键。
        设置主键的目的是为了通过确保唯一性来标识某一行,如果不能通过标识标识特定的行,那么后续对表进行更新等操作将会变得非常困难。
主键可以是一列拥有非空的惟一值的列,也可以是多列组合下非空且惟一值的列。只要满足上述条件即可。

  • 在规定主键时,我们应当坚持一下几个习惯

1.不更新主键列的值 (主键列值改变可能会影响到查询等操作的准确性和稳定性)
2.不重用主键列的值
3.不在主键列中使用可能会修改的值。

记:

了解上述概念后,可以对数据库的概念有粗略的理解。将数据库层层拆解,每一个数据库通过唯一的编号确定,而每一个数据库内都有着一定数量的表,这些表也都具有唯一性,他们的唯一性通过命名来确定。每一个表由行和列组成,每一个列都标识了数据的属性,其中能够通过一个唯一值确定某一行的列这样的列就是主键,搜索主键对应的值我们就能确定某一行的数据,对数据进行增删查改。

欧巴,再不懂你就OUT啦(MySQL的基础概念)相关推荐

  1. 看完此文再不懂区块链算我输:手把手教你用Python从零开始创建区块链

    导读:如果你还没有听说过 3 点钟区块链群,说明你还不是链圈的人:如果你还没有加入 3 点钟区块链群,说明你还不是链圈的大佬:如果你还没有被 3 点钟区块链群刷屏,说明你还体会不到什么是"币 ...

  2. 再不懂ZooKeeper,就安安心心把这篇文章看完

    我本人曾经使用过 ZooKeeper 作为 Dubbo 的注册中心,另外在搭建 Solr 集群的时候,我使用到了 ZooKeeper 作为 Solr 集群的管理工具. 前几天,总结项目经验的时候,我突 ...

  3. MySQL的基础架构以及一条查询sql语句的执行流程

    详细介绍了Mysql的基础架构以及一条查询sql的执行流程. 如果不想作为一个只能简单的写写sql工程师,而是想要深入的学习MySQL,那么我们有必要首先从宏观的角度来了解MySQL的整体架构,只有把 ...

  4. 数据库基础笔记(MySQL)1 —— 基础概念

    (写算法题目把自己心态搞崩了,休息两天顺便把之前学的数据库手写笔记记录在网上方便查阅,因为只是自己学的时候做的笔记,如果有错误欢迎大家指正,过两天再重回算法的怀抱哈哈) 如何下载配置 这个感觉视频讲的 ...

  5. mysql 1280_mysql基础

    2.给数据库的root管理员账户设置密码123,再修改成1234 [root@NaNaQi ~]# mysql -uroot Welcome to the MariaDB monitor. Comma ...

  6. Mysql常用基础命令操作实战

    目录 一    启动与关闭MySQL    3 1.1    单实例MySQL启动与关闭方法    3 ※1※    常规启动关闭数据库方式(推荐)    3 1.2    多实例MySQL启动与关闭 ...

  7. 理解MySQL——架构与概念

    第一章.MySQL架构与概念 1.MySQL的逻辑架构 最上面不是MySQL特有的,所有基于网络的C/S的网络应用程序都应该包括连接处理.认证.安全管理等. 中间层是MySQL的核心,包括查询解析.分 ...

  8. mysql k,mysql事务有关概念-怀念K.Dures

    在最近的项目中由于涉及财务转账所以自然应用到mysql的事务处理,在业务逻辑设计之初就是在事务中处理提现的申请记录以及账户余额的冻结,然而在并发的情况下,会出现'脏读',看到这个单词还是默默的来了一句 ...

  9. MySQL(基础技能)

    MySQL(基础技能) 一.概述 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access. ...

最新文章

  1. Unity Shader 阴影
  2. SylixOS 无Uboot版BSP
  3. ios不响应presentModalViewController界面的处理
  4. OpenCV支持向量机SVM的实例(附完整代码)
  5. luogu P1330 封锁阳光大学
  6. python cmp函数未定义_python用plt画图时,cmp设置方法
  7. Linux学习笔记:Linux常用命令操作
  8. 使用SQLQuery 在Hibernate中使用sql语句
  9. PTA-基础编程题目集-函数题 ……
  10. 阿里云短信验证码注册
  11. 为什么JAVA图标是一杯咖啡?
  12. 黑马程序员——递归与枚举
  13. Deepin15.3 安装firefox flash插件
  14. 网线水晶头接法(附图说明)
  15. 数据仓库工程师、大数据开发工程师、BI工程师、ETL工程师之间有什么区别?
  16. 统一软件开发过程(RUP)分析
  17. 计算机属性显示缩略图 桌面样式变了,Win7任务栏缩略图预览变成列表预览怎么解决?...
  18. 如何提高自己的专注度
  19. 国内疫情数据可视化平台
  20. 基于 PyTorch 的 cifar-10 图像分类

热门文章

  1. 多服务环境下定时任务重复执行问题解决方案
  2. linux的常见命令---cal笔记
  3. 计算FLOPs和param
  4. 授时服务器 微软,Windows10搭建NTP授时服务器
  5. 范济安:边缘计算和云边协同构筑5G时代工业互联网(附PPT)
  6. 2022年自考专业考试(英语)英语词汇学练习题
  7. 一篇文章粗浅了解Apache zookeeper
  8. 像素和厘米怎么换算_临帖要像?计算机“算法”精确你的每一个像素!惊呆书法圈...
  9. 在我有限的软件测试经历里,一段专职的自动化测试经验总结
  10. PAT乙级-1015 德才论-C语言实现(40行AC)