数据库理解(入门篇)
  H6P6jKRP0Xqd 2023年11月22日 23 0

本篇文章是想,用最通俗的语言来,让大家了解一下数据库,因为初学者在第一次接触数据库的时候,是很迷惑的。比如,主键是什么?外键是什么?包括所谓的,什么字段、记录,等等。大家第一次在学习的时候,难免觉的很难理解。

下面我来介绍一下,此思路,希望能帮助到初学者


学习思路

请从下面三个角度来思考数据库的学习

1.数据库是如何存储数据的

字段 记录 表 约束(主键 外键 唯一键 非空 check
							default 触发器)

 2.数据库是如何操作数据的

insert update delete T-SQL 存储过程 函数 触发器

3.数据库是如何显示数据的

select(重点的重点)


什么是数据库

狭义:

       存储数据的仓库

广义:

可以对数据进行存储和管理的软件,以及数据本身,统称为数据库

数据库是由表、关系、操作组成


为什么需要数据库

几乎所有的应用软件的后台都需要数据库

数据库存储数据占用空间小 容易持久保存

存储比较安全

容易维护和升级

数据库移植比较容易

简化对数据的操作

数据结构和数据库的区别

数据库是在应用软件级别研究数据的存储和操作    外存 硬盘

数据结构是在系统软件级别研究数据的存储和操作  内存

什么是日志?

日志:谁在什么时间,对我这个数据库进行了什么操作这个就是日志


通过表来引入概念

我们通过存储一个员工的信息来看,字段等等是什么意思:

现在我有这样两个表格 员工表和部门表

员工表

数据库理解(入门篇)_如何学习数据库

部门表

数据库理解(入门篇)_外键_02


主键概念

第一个问题:

假设有4个信息,这4个信息 ,如果只写了员工姓名   员工工资 员工性别 员工年龄。将来录入信息出现同名字的人该怎么办?数据如何来辨别呢?

     两个人信息相同,就出现冗余了。需要设置一个东西能够标志唯一性

所以通过编号能唯一确定一个数据.

所以能够唯一标识数据的这个东西称为主键,第一条数据和第二条数据通过主键能辨别开来。能够辨别出不同事物的数据叫做主键。这里员工编号就是主键。

下图这一列就是作为主键了

数据库理解(入门篇)_数据库_03

第二个问题

我们能不能把员工的信息和部门的信息在一个表中表示?

不行,为什么不行呢?

	不能标识主键不是核心问题,如果这样写,部门姓名、部门人数、部门地址需要重复
100多次。如果部门地址信息很长。
	
	部门有两个写两次就够了,但是部门人数比较多需要写100次。这放在一起是
十分不合理的。

	设计任何一个事物(数据)都需要一个标识符(主键),没有主键事物和事物之间
 就没办法辨别了


假设A 有1 2 3 4 5 这个五个属性,这个第五属性是特殊的,可以把5作为主键,但是我们会从0到5进行编号。(主键)编号是单独添加的。比如学号本身是没有意义的。但是用它标记学生就有意义了。

记住我们以后做项目也一样,我们要保存数据的时候。永远是单独添加一列,用这个没有实际意义的只有编号的这一列来充当主键。自然主键。我们数据库库在存数据的时候也是这样设计的。

如果不加编号,用表中有实际意义的属性做为主键的话。

员工和部门是不是有关系,这个关系应该怎么表达呢?如果我们想把一个现实中的问题,保存在我们的电脑里,首先考虑个体怎么存,个体与个体之间的关系怎么模拟。 

在学数据库的时候,就要考虑这两个方面。看看数据库到底是怎么存储数据的。事物怎么存、事物与事物之间的关系怎么存?

这两个问题能解决,就解决了事物的存储问题了

外键概念

怎么表示事物和事物之间的关系呢?

关系如何去表示,这里就要提到关系型数据库了,我们现在的数据库都叫做关系型数据库。什么叫做关系型数据库?实际上就是用一张二维表来表示事物和事物与事物之间的关系。主流数据库都是关系型。

员工和部门这两个表如何建立起来关系呢?在员工表中添加一列部门编号也叫做外键,来建立员工和部门之间的关系。

下图这样

数据库理解(入门篇)_主键_04


现在还有问题

能不能在部门表中加一列员工编号呢?来做外键建立关系。

是不能的。因为如果有1000个员工,但是你部门只有两个,需要你插入1000多次信息。


员工和部门的关系是怎么样的?

是一对多,还是多对多?

一个员工对应很多部门,还是一个部门对应很多员工呢?

是多对一,多个员工对应一个部门。

总之如果是员工和部门的话,外键就设置在员工表中。属性为部门编号

我们所谓的主键和外键就是这样

数据库理解(入门篇)_外键_05

数据库理解(入门篇)_主键_06


外键:就是联系两个表的字段(事物与事物之间的联系)

主键:能够唯一的标识一个事物

但是外键是怎么能表示事物与事物之间的联系呢?

别人问外键怎么实现联系的呢?最核心的 “来自” 一个表中的字段数据 ,是另外一个表的一列数据。  

比如就是员工表的部门编号就是来自于部门表的,员工表中有一列数据并不是自身的,这个数据来自于另外一个表。

我们有个词叫做参考、引用。引用就是指针,也就是说员工表里部门编号的数据的地址在部门表中。定义成外键的数据不能随便改变。

在数据库中一旦把一列或者一个字段,定义成外键那就意味着,这个数据就不能随意写。写入的值如果在对应的表中找不到。就会报错了。


数据库理解(入门篇)_主键_07

我们看具体介绍

字段:到底该怎么理解字段?
	 一个事物的某一个静态特征 
记录:
	字段的组合 表示的是一个具体的事物(一行)
表:
	记录的组合 表示的是一同一类型事物的集合

表和字段、记录的关系:
	字段是事物的属性
	记录是事物本身
	表是事物的一个集合

列 :字段的一种称谓

属性:字段的另一种称谓

元组:
	记录的另一种称谓 这个就是一行





【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月22日 0

暂无评论

推荐阅读
  xaeiTka4h8LY   2024年05月17日   48   0   0 数据库JavaSQL
  xaeiTka4h8LY   2024年05月17日   44   0   0 数据库SQL
  xaeiTka4h8LY   2024年05月17日   36   0   0 MySQL数据库
H6P6jKRP0Xqd