5分钟深入理解数据库原理

2022-04-09 13:29:26 wenhui

1.什么是数据库?

你在读书 SQL 教程表明你需要以某种方式处理数据库。SQL 是用来实现这项任务的语言,所以我在学习 SQL 之前,你应该了解数据库和数据库技术的一些基本概念。

你可能还没有意识到你一直在使用数据库。每当你选择手机上的联系人,或者从电子邮件地址簿中找到名字时,你就会使用数据库。你在网站上搜索,也在使用数据库。当您在工作中登录网络时,您还需要依靠数据库来验证用户名和密码。 甚至可以用于自动取款机ATM 卡,应使用数据库进行密码验证和余额查询。

虽然我们一直在使用数据库,但我们不知道什么是数据库。更重要的是,人们可能会使用相同的数据库术语来表达不同的东西,这进一步加剧了这种混乱。因此,我们首先给出一些最重要的数据库术语并进行解释。

提示:回顾基本概念

以下是一些基本数据库概念的简要介绍。如果您有一定的数据库经验,可以复习和巩固;如果您刚刚开始联系数据库,您可以了解必要的基本知识。理解数据库的概念是掌握 SQL 的重要前提是,如果有必要,你可能也应该找一本好书来弥补数据库的基本知识。

一、数据库

每个人家里都有冰箱。冰箱是用来做什么的?冰箱是储存食物的地方。

同样,数据库也是存储数据的地方。正是因为有了数据库,我们才能直接找到数据。例如,您每天使用余额宝查看您的账户收入,这是从数据库中读取数据后给您的。

数据库(database)

保存有组织数据的容器(通常是一个文件或一组文件)。

注:误用会导致混淆:

人们通常用数据库这个术语来代表他们使用的数据库软件,这是不正确的,造成了很多混淆。确切地说,数据库软件应该被称为数据库管理系统(DBMS)。通过 的数据库DBMS 创建和操作容器,具体是什么,形式,各种数据库都不同。

二、表

当你把信息放进文件柜时,你不会把它们扔进抽屉,而是在文件柜中创建文件,然后将相关信息放入特定的文件中。

在数据库领域中,这种文件称为表。表是一种结构化的文件,可用来存储某种特定类型的数据。表可以保存顾客清单、产品目录,或者其他信息清单。

表(table)

特定类型数据的结构化清单。

这里的关键是存储在表中的数据是相同类型的数据或列表。客户列表和订单列表不得存储在同一数据库列表中,否则以后将难以检索和访问。应创建两个表,每个列表和一个列表。

数据库中的每个表都有一个名字来识别自己。这个名字是唯一的,也就是说,数据库中没有与其他表相同的名字。

说明:表名

使表名成为唯一的,实际上是数据库名和表名的组合。一些数据库还使用数据库所有者的名称作为唯一名称的一部分。换句话说,虽然相同的表名不能在一个数据库中使用两次,但相同的表名可以在不同的数据库中使用。

表中有一些定义数据如何存储在表中的特征,包括存储什么样的数据,如何分解数据,如何命名每个部分的信息。描述表中的这组信息被称为模式(schema),该模型可用于描述数据库中的特定表,也可用于描述整个数据库(与表的关系)。

模式

关于数据库和表的布局和特性。

三、列和数据类型

列表由列组成。列出存储表某一部分的信息。

列(column)

表中的一个字段。所有表都由一个或多个列组成。

了解列表的最好方法是将数据库表想象成一个网格,就像一个电子表一样。网格中的每一列都存储着特定的信息。例如,在客户表中,一列存储客户号码,另一列存储客户姓名,地址、城市、州和邮政代码都存储在各自的列中。

提示:数据分解

正确地将数据分解为多个列是非常重要的。例如,城市、州和邮政代码应该始终相互独立。只有通过分解这些数据,才能使用特定的列来分类和过滤数据(例如,找出特定州或特定城市的所有客户)。如果城市和州组合在一个列中,就很难根据州进行分类或过滤。

您可以根据您的具体需要决定将数据分解到多大程度。例如,门牌号码和街道名称通常可以存储在地址中。没问题,除非有一天你想用街名来排序,否则最好把门牌号和街名分开。

数据库中的每个列都有相应的数据类型。数据类型(datatype)定义列中可以存储的数据类型。例如,如果列中存储的数字(或订单中的项目数量),则相应的数据类型应为值类型。如果列中存储的是日期、文本、注释、金额等,则应规定适当的数据类型。

没有网络安全,就没有国家安全

①网络安全系列200多本电子书

②网络安全标准题库数据

③ 项目源码

④网络安全基础入门,Linux、web攻防视频安全

⑤ 网络安全学习路线

免费领取私信安全


数据类型

允许什么类型的数据。每个表列都有相应的数据类型,限制(或允许)列中存储的数据。

数据类型限制了可存储在列中的数据类型(例如,防止在数值字段中输入字符值)。数据类型也有助于正确分类数据,并在优化磁盘使用方面发挥重要作用。因此,在创建表时必须特别注意使用的数据类型。

注:数据类型兼容

数据类型及其名称SQL 不兼容的主要原因之一。虽然大多数基本数据类型都得到了一致的支持,但许多先进的数据类型并没有。更糟糕的是,不同的 偶尔会有相同的数据类型DBMS 有不同的名字。用户别无选择,只能在创建表结构时记住这些差异。

四、行

表中的数据按行存储,保存的每个记录都存储在自己的行中。如果将表想象为网格,则垂直列为表,水平行为表。

例如,客户表可以每行存储一个客户。表中的行号为记录的编号。

行(row)

表中的记录。

说明:是记录还是行?

当提到行时,您可能会听到用户称之为数据库记录(record)。这两个术语大多可以交换,但从技术上讲,行是正确的术语。

五、主键

表中的每一行都应该有一列(或几列)来识别自己。客户表可以使用客户编号,订单表可以使用订单 ID。雇员表可以使用雇员 ID。国际标准书号 ISBN。

主键(primary key)

一列(或几列),其值可以是唯一标识表中的每一行。

唯一标志表中每行的列(或这些列)称为主键。主键用于表示一个特定的行。如果没有主键,则很难更新或删除表中的特定行,因为您不能保证操作只涉及相关行,不会伤害无辜行。

提示:要始终定义关键:

虽然主键并不总是需要的,但大多数数据库设计会确保他们创建的每个表都有一个主键,以便于未来的数据操作和管理。

表中的任何列都可以作为主键,只要它满足以下条件:

  • 任何两行都没有相同的主键值;
  • 每一行都必须有一个主键值(主键列不允许空值 NULL);
  • 不得修改或更新主键列中的值;
  • 主键值不能重用(如果某行从表中删除,其主键不能给以后的新行)。

主键通常定义在表的列上,但不必这样做,也可以使用多列作为主键。当使用多列作为主键时,上述条件必须应用于所有列,所有列值的组合必须是唯一的(但单列值不能是唯一的)。

   

}