SQL RDBMS 概念

news/2024/11/25 2:54:07/

SQL RDBMS 概念


 RDBMS是关系数据库管理系统(Relational Database Management System)的缩写。

 RDBMS是SQL的基础,也是所有现代数据库系统(如MS SQL Server、IBMDB2、Oracle、MySQL和MicrosoftAccess)的基础。

 关系数据库管理系统(Relational Database Management System,RDBMS)是一种基于E.F.Codd提出的关系模型的数据库管理系统。

什么是表?


 RDBMS中的数据存储在称为表的数据库对象中。这个表基本上是一个相关数据条目的集合,它由许多列和行组成。请记住,表是关系数据库中最常见和最简单的数据存储形式。

 下面的程序是Customers表的一个示例

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

什么是字段?


 每个表都被分解成更小的实体,称为字段。Customers表中的字段由ID、姓名、年龄、地址和薪资组成。

 字段是表中的列,用于维护有关表中每条记录的特定信息。

什么是记录或者行数据?


 记录也称为数据行,即表中存在的每个单独的条目。例如,上面的Customers表中有7条记录。下面是Customers表中的单行数据或记录。

+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
+----+----------+-----+-----------+----------+

 记录是表中的水平实体。

什么是列?


 列是表中的垂直实体,其中包含与表中特定字段关联的所有信息。

 例如,Customers表中的一列是Address,它表示位置描述,如下所示:

+-----------+
| ADDRESS   |
+-----------+
| Ahmedabad |
| Delhi     |
| Kota      |
| Mumbai    |
| Bhopal    |
| MP        |
| Indore    |
+----+------+

什么是空值?


 表中的空值是显示为空的字段中的值,这意味着具有空值的字段是没有值的字段。

 非常重要的一点是空值不同于零值或包含空格的字段。具有空值的字段是在创建记录时留空的字段。

SQL约束


 约束是在表上的数据列上强制执行的规则。它们用于限制可以进入表中的数据类型。

 这确保了数据库中数据的准确性和可靠性。

 约束可以是列级别,也可以是表级别。列级约束仅应用于一列,而表级约束则应用于整个表。

 以下是sql−中可用的一些最常用的约束

  • NOT NULL 约束:保证列中数据不能有 NULL 值
  • DEFAULT 约束:提供该列数据未指定时所采用的默认值
  • UNIQUE 约束:保证列中的所有数据各不相同
  • 主键约束:唯一标识数据表中的行/记录
  • 外键约束:唯一标识其他表中的一条行/记录
  • CHECK 约束:此约束保证列中的所有值满足某一条件
  • 索引:用于在数据库中快速创建或检索数据

 约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。

数据完整性


 每个关系数据库管理系统都存在以下类型的数据完整性:

实体完整性−表中没有重复行。
域完整性−通过限制值的类型、格式或范围来强制执行给定列的有效条目。
引用完整性−不能删除其他记录使用的行。
用户定义的完整性−强制执行一些不属于实体、域或引用完整性的特定业务规则。

数据库规范化


 数据库规范化是在数据库中有效地组织数据的过程。这个规范化过程有两个原因:

  • 消除冗余数据,例如,将相同的数据存储在多个表中。 
  • 确保数据依赖关系是有意义的。

 这两个原因都是值得追求的目标,因为它们减少了数据库消耗的空间量,并确保了数据的逻辑存储。

 规范化由一系列指导原则组成,有助于指导您创建良好的数据库结构。

 规范化指导原则称为范式,范式的目的是组织数据库结构,使其符合第一范式、第二范式和第三范式的规则。

 你可以更长远的去选择第四范式,第五范式,等等,但一般来说,第三范式已经足够了。

第一范式(1NF)
第二范式(2NF)
第三范式(3NF)


http://www.ppmy.cn/news/1155399.html

相关文章

01_51单片机软件安装和使用

step1:keil软件安装 安装keil5:安装keil5 新用户进入官网下载需要先注册 官网:官网 嵌入式51开发资源百度网盘:江协科技 网盘地址:网盘地址 提取码:gdzf 桌面上出现该图标表示安装完成 双击图标打开对软件进行破…

【Ubuntu】Ubuntu18.04终端卡顿问题

博主您好,我也遇到了类似的问题,但我找到了问题的原因: 在gnome-terminal中,按tab补全是默认开启了“咚咚咚”音效的,在gnome-terminal里把音效关掉就好了,主要是因为按tab时,NVIDIA的视频信号和…

【C++初阶(二)缺省参数与函数重载】

本专栏内容为:C学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C 🚚代码仓库:小小unicorn的代码仓库&…

LabVIEW生产者消费者架构

LabVIEW生产者消费者架构 生产者/消费者模式可以轻松地同时处理多个进程,同时还能以不同速率迭代。 缓冲通信 当多个进程以不同速度运行时,就适合采用进程间缓冲通信。有了足够大的缓冲区后,生产者循环可以以快于消费者循环的速度运行&…

04-spring配置文件加载过程

文章目录 1.问题:BeanFactory是如何解析xml文件和BeanDefinition是如何注册到BeanFactory?2 入口代码3. XmlBeanDefinitionReader3.1 类图3.2 关键变量4. ResourceEntityResolver4.1 关键代码5. BeanDefinitionDocumentReader6. BeanDefinition注册到BeanFactory1.问题:Bean…

Flink中KeyBy、分区、分组的正确理解

1.Flink中的KeyBy 在Flink中,KeyBy作为我们常用的一个聚合类型算子,它可以按照相同的Key对数据进行重新分区,分区之后分配到对应的子任务当中去。 源码解析 keyBy 得到的结果将不再是 DataStream,而是会将 DataStream 转换为 Key…

qemu 运行 linux

文章目录 qemu 运行 linuxlinux 内核版本生成配置文件编译设备树编译内核报错与解决运行 linux附录脚本参考 qemu 运行 linux linux 内核版本 linux-6.5.7linux 内核下载地址 https://www.kernel.org/可以在浏览器中点击下载,也可以使用命令行下载 wget https:/…

华为云云耀云服务器L实例评测|企业项目最佳实践之建议与总结(十二)

华为云云耀云服务器L实例评测|企业项目最佳实践系列: 华为云云耀云服务器L实例评测|企业项目最佳实践之云服务器介绍(一) 华为云云耀云服务器L实例评测|企业项目最佳实践之华为云介绍(二) 华为云云耀云服务器L实例评测&#xff5…