SQL - RDBMS概念
2015-07-30 15:18
183 查看
什么是RDBMS?
RDBMS表示关系数据库管理系统(Relational Database Management System)。RDBMS是SQL以及所有现代数据库系统的基础,例如MS SQL Server、IBM DB2、Oracle、MySQL和Microsoft Access等。关系数据库管理系统是基于E. F. Codd的关系模式的数据库管理系统(DBMS)。
什么是表?
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、NAME、AGE、ADDRESS和SALARY。字段是表中用于存储每个记录的具体信息的列。
什么是记录或行?
记录,也称为数据行,是表中的每个单独实体。例如,上面的CUSTOMERS表包含7条记录。以下是CUSTOMERS表中的单行数据或记录:+----+----------+-----+-----------+----------+ | 1 | Ramesh | 32 | Ahmedabad | 2000.00 | +----+----------+-----+-----------+----------+
一条记录是表中的一个水平实体。
什么是列?
列是表的垂直实体,它包含了表中具体字段所有相关的信息。例如,CUSTOMERS表中的一个列为ADDRESS,表示位置信息,包含以下内容:
+-----------+ | ADDRESS | +-----------+ | Ahmedabad | | Delhi | | Kota | | Mumbai | | Bhopal | | MP | | Indore | +----+------+
什么是NULL值?
表中的NULL值是空白的字段值,表示该字段没有值。重要的一点是NULL值与0值和包含空格的字段不同。值为NULL的字段是在创建记录时留空的字段。
SQL约束
约束是表的数据列上的强制规则。约束用于限制表中数据类型。它可以确保数据的准确性和可靠性。约束可以是列级别或表级别的。列级别约束只应用到一个列上,而表级别约束作用到整个表。
以下是SQL中常用的约束:
NOT NULL约束:确保列不存在NULL值。
DEFAULT约束:在没有指定值的时候为列提供一个默认值。
UNIQUE约束:确保列中的值都不相同。
主键:唯一标识表中的每一行/记录。
外键约束:唯一标识另一个表中的每一行/记录。
CHECK约束:确保列中的值满足特定条件。
INDEX:用于快速检索数据。
数据完整性
每个RDBMS中都支持以下种类的数据完整性:实体完整性:表中不存在重复的行。
域完整性:通过限制类型、格式或者值的范围强制指定列只包含有效的实体。
参照完整性:被其他记录使用的行不能被删除。
用户定义的完整性:强制无法通过实体完整性、域完整性或参照完整性实施的特殊业务规则。
数据库规范化
数据库规范化是有效组织数据的过程。使用规范化过程的原因有两个:减少冗余数据,例如,在多个表中存储的相同数据。
确保数据依赖性存在的意义。
这两者都是具有价值的目标,因为它们减少了数据库的存储空间,并且确保了数据的逻辑存储。规范化包含一系列的指导准则,可以帮助你创建一个良好的数据库结构。
规范化准则分成多个范式;范式可以看作数据库结构布局的格式或方式。范式的目的就是让数据库的结构满足第一范式的准则,然后是第二范式,最后市第三范式。
你可以选择进一步规范化到第四范式,第五范式等等,但是通常第三范式就已经足够了。
第一范式(1NF)
第二范式(2NF)
第三范式(3NF)
原文地址:http://www.tutorialspoint.com/sql/index.htm
上一页
下一页
相关文章推荐
- Chapter 5 MySQL Server Administration
- redis大型攻略!
- 数据库 - 第三范式(3NF)
- Oracle 学习之RMAN(五)镜像copy
- 不用安装ORACLE客户端(不执行*.exe)也能使用PL/SQL Developer的说明
- SQL join
- [转]删除MSSQL所有的约束及表格
- mysql存储过程讲解
- oracle公用分页存储过程
- oracle服务介绍
- SQL之CONVERT(varchar(100), GETDATE(), 0)
- MySQL的语句执行顺序
- 创建mysql 用户并限定其操作主机 和 数据库
- oracle 高级队列技术
- Hibernate对象的持久化状态
- Oracle EBS 从Web界面进入责任时,提示不存在可用的有效责任
- 数据库 - 第二范式(2NF)
- Spring+Redis集成+关系型数据库持久化
- MySQL中的常用函数
- Spring 整合 Redis