`

SQL基础总结(一):关系模型

 
阅读更多

本系列blog源自前年写的SQL学习笔记,汇总一下发上来。

---------------------------------------------------------------

 

规范化

父子表图示:由父表画出主键画出箭头指向子表外键。

满足第一范式的表:列包含原子值,没有重复的组。

 

当满足下列条件时第一范式的表自动满足第二范式的表:

1.主键是一个列(也就是说不是复合主键)。

2.表中所有列是主键的一部分。

 

满足第二范式的表:

1.  满足第一范式。

2.  非部分函数依赖(完全函数依赖)。

部分函数依赖是指表中一些组合键(不是全部组合键)的值可以确定一个非键列的值。

 

第二范式表是完全函数依赖,意味着如果组合键中任何一列值改变,将导致非键列的值需要更新。即全部组合键决定一个非键列。

 

满足第三范式的表:

1.  满足第二范式。

2.  没有传递依赖。

传递依赖:一个非键列的值决定另一个非键列的值,则表包含传递依赖。

 

BC范式:是更严格的第三范式版本。BC范式处理那些有多个候选键、组合候选键或重叠候选键的表。如果每个完全函数依赖的列都是候选键,则满足BC范式。

 

满足第四范式的表:

1.  BCNF

2.  没有多值依赖。

多值依赖:一个表至少3列,一列中多个行的值与其它列中一行的值匹配,则发生多值依赖。

 

满足第五范式的表:

1.  满足4NF

2.  并且没有联结依赖。联结依赖是多值依赖的泛化。

5NF的目标是使表不能进一步分解为多个更小的表。

 

在实际数据库中,会看到1NF2NF3NF,偶尔有4NF4NF甚至3NF的表也几乎总是5NF的。

 

非规范化

为了加快查询速度可能需要转而将数据库非规范化。较少的表会减少计算机联结和磁盘I/O操作的开销。这种常见的方法是为了性能而牺牲数据完整性。

非规范化数据的一个普通用途是用作从其它表复制过来数据的永久日志。

分享到:
评论

相关推荐

    ISO IEC 9075-2-2023 (源文件,可复制文字)信息技术-数据库语言SQL 第2部分:基础.rar

    二、SQL基础概念 1. 表(Table):SQL中的基本数据结构,由行(Row)和列(Column)组成,类似于电子表格。 2. 数据类型:SQL支持多种数据类型,如整数(INTEGER)、浮点数(FLOAT)、字符串(VARCHAR)、日期时间...

    面试SQL经典总结

    - 数据库模型:了解关系型数据库的基本原理,如实体-关系模型(E-R Model),以及表和字段的概念。 - DDL(Data Definition Language):创建数据库和表,如CREATE DATABASE、CREATE TABLE等。 - DML(Data ...

    SQL基础教程-Mick-示例程序&习题答案

    总结,"SQL基础教程-Mick-示例程序&习题答案"是一份全面且实用的学习资料,涵盖了SQL的基础和进阶知识,并辅以示例和习题,是初学者入门SQL的理想选择。通过系统学习和实践,你可以掌握数据库管理的核心技能,为今后...

    SQL的基础学习资料

    2. 数据模型:数据库设计通常基于特定的数据模型,如关系模型、层次模型、网络模型。其中,关系模型是最常用的一种,通过表格形式来表示数据及其之间的关系。 3. 关系数据库:在关系模型中,数据被组织成表格,每个...

    Microsoft SQL Server 2008技术内幕:T-SQL查询(第二卷)

    3.1.2 关系模型:快速摘要 3.2 关系代数和关系计算 3.2.1 基本运算符 3.2.2 关系代数 3.2.3 Codd提出的8个原始关系运算符 3.2.4 关系演算 T-SQL支持 3.3 数据完整性 3.3.1 声明式约束 3.3.2 实施完整性的...

    C#根据模型动态生成SQL和DBHelper

    此外,可以利用Linq-to-SQL或Entity Framework等ORM(对象关系映射)工具,根据实体模型自动生成SQL语句,简化数据库交互。 二、Entity Framework(EF) Entity Framework是微软提供的一个开源ORM框架,它允许...

    SQLServer基础篇

    1. **视图**:一种虚拟表,其内容由存储在表中的数据通过SELECT语句定义。视图可以简化复杂的查询,也可以作为一种安全机制来限制对数据的访问。 2. **存储过程**:预编译的SQL代码块,可以在数据库中存储并多次执行...

    SQLserver资料|sql基础教程|sql基础案例|sql入门教程

    一、SQL基础教程 SQL的基础主要包括以下几个部分: 1. 数据库概念:理解数据库是什么,如何组织数据,以及关系数据库模型。了解表、字段、记录和键等基本概念。 2. DDL(Data Definition Language):用于创建和...

    SQL 第二讲 数据模型

    总结来说,数据模型是数据库设计的基础,它帮助我们理解、组织和操作数据。概念模型提供了一种直观的方式来描述现实世界的信息,而逻辑数据模型则将这些概念转化为实际数据库系统可以理解的形式。通过深入理解和应用...

    sql总结梳理sql.zip

    SQL基础包括数据类型(如INT、VARCHAR、DATE等)、DML(Data Manipulation Language)语句(INSERT、UPDATE、DELETE),以及DDL(Data Definition Language)语句(CREATE、ALTER、DROP等),用于创建、修改和删除...

    SQL Server 2008基础教程

    - **数据模型**:包括层次模型、网状模型、关系模型、面向对象模型等,其中SQL Server基于关系模型。 #### 四、使用数据库的理由 - **数据一致性**:数据库系统能够确保数据的完整性和一致性,避免了使用电子表格...

    sql数据库基础面试题复习题考试题-全.doc

    下面是 SQL Server 数据库基础知识点的总结: 数据库基础概念 1. 数据库(Database):是一种按照数据结构来组织、存储和管理数据的仓库。 2. 数据库管理系统(DBMS):是位于用户与操作系统之间的一层数据管理...

    MS SQL 基础语句教程

    - **数据库简史**:数据库技术的发展可以追溯到20世纪50年代末期的层次模型,随后是70年代的关系模型。SQL正是随着关系型数据库管理系统(RDBMS)的兴起而发展起来的。 - **设计数据库的结构**:这部分内容主要介绍...

    空间数据库课件:第二章 关系数据库2-1.ppt

    本资源是关系数据库的课件,涵盖关系数据库的基本概念、关系模型、关系代数、关系演算等内容。以下是本资源的详细知识点总结: 一、关系数据库简介 * 关系数据库的提出:1970年,E.F.Codd 提出了关系数据模型。 * ...

    Teradata_SQL基础教程.pdf

    1. **关系数据库模型**:关系模型是一种由若干个表(关系)构成的数据库模型,每个表由行(元组)和列(属性)组成。 2. **键的定义**:键是表中用于唯一标识元组的字段集合,常用有主键(Primary Key)、候选键...

    SQLServer基础总结

    SQL Server作为微软公司推出的关系...以上就是SQL Server的基础知识点总结。掌握这些知识可以有效地进行SQL Server数据库的创建、管理和操作。在实际应用中,还需要结合具体的业务场景和数据模型来灵活运用这些知识点。

    本人总结了好辛苦的数据库基础学习使用欢迎学习

    关系模型是最广泛使用的,它以二维表的形式表示数据,而E-R模型则提供了实体、属性和关系的概念,用于描述实体之间的关系。 在关系模型中,实体是独立存在的对象,具有唯一的属性,这些属性共同构成了数据结构。...

    数据库系统(上):模型与语言MOOC(哈工大)1

    每一部分都有其特定的作用,例如,关系模型帮助理解数据组织,SQL课程提供实际操作经验,数据建模和设计则强化了信息模型构建的能力,而管理系统实现技术部分则涉及数据库性能优化和管理。 【总结】 数据库系统是...

    开发等式比较SQL查询语句的一种模型推理方法.pdf

    在本文“开发等式比较SQL查询语句的一种模型推理方法”中,作者杨波和薛锦云探讨了一种用于构建等式比较SQL查询语句的模型推理技术。该技术的目标是帮助开发者遵循一定的规则,避免在开发过程中进行不必要的直觉推理...

    Flink Streaming SQL 基础

    ### Flink Streaming SQL 基础 #### 一、流与表理论基础 在深入了解Flink Streaming SQL之前,首先需要理解流与表的基本概念及其相互关系。这部分内容将基于Tyler Akidau在QCon London 2018的演讲进行阐述。 **...

Global site tag (gtag.js) - Google Analytics