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)
一列(或几列),其值可以是唯一标识表中的每一行。
唯一标志表中每行的列(或这些列)称为主键。主键用于表示一个特定的行。如果没有主键,则很难更新或删除表中的特定行,因为您不能保证操作只涉及相关行,不会伤害无辜行。
提示:要始终定义关键:
虽然主键并不总是需要的,但大多数数据库设计会确保他们创建的每个表都有一个主键,以便于未来的数据操作和管理。
表中的任何列都可以作为主键,只要它满足以下条件:
主键通常定义在表的列上,但不必这样做,也可以使用多列作为主键。当使用多列作为主键时,上述条件必须应用于所有列,所有列值的组合必须是唯一的(但单列值不能是唯一的)。