`
chinagdvea
  • 浏览: 133914 次
  • 性别: Icon_minigender_1
  • 来自: 韶关
社区版块
存档分类
最新评论

SQL三范式以及数据模式

SQL 
阅读更多

三范式

  第一范式,1NF:(1).数据列只包含有原子性的值
    (2).没有重复的数据组

   第二范式,2NF:(1)符合第一范式
(2)没有部分函数依赖  (如果location和weather是组合主键,temperature都不是主键,weather改变会引起temperature改变,location改变不会引起temperature改变,
则称temperature对主键有部分依赖)

   第三范式,3NF:(1)符合第二范式
(2)没有传递函数依赖性 (如果weather和temperature都不是主键,但是但weather改变会引起temperature改变时,称两者具有传递函数依赖性)


数据模式

1.一对多关系:如表 person (person_id Primary Key, name, nationality, interest)
      则称nationality和person_id具有一对多关系,因为每一个nationality可能对应多个person_id,但每个person_id只有一个nationality
      此时,将nationality抽取出来,创建表nationality_table ( nationality_id Primary Key, nationality)
      将person表改为 person (person_id PK, name, nationality_id Foreign Key, interest)


2.多对对关系:如表 person (person_id Primary Key, name, nationality, interest)
      则称interest和person_id具有多对多关系,因为每个interest对应多个person_id,而每个person_id对应多个interest
      此时将interest抽取出来,创建新标 interest_table (interest_id PK, interest)
      原person表改为person (person_id Primary Key, name, nationality, interest_id)
      并创建 junction table(连接表)  person_interest (person_id FK, interest_id, FK),用于连接person和interest_table两表
分享到:
评论

相关推荐

    SqlServer 第三范式

    关系数据库的设计理论包括三个方面内容:数据依赖、范式、模式设计方法。核心内容是数据依赖。 关系数据库设计的主要问题是关系模式的设计,关系模式的设计需要解决的问题有:数据冗余、更新异常、插入异常和删除...

    Spark SQL上海摩拜共享单车数据分析源码

    通过阅读和理解代码,可以学习到如何在实际项目中应用Spark SQL进行数据处理和分析,以及如何利用Maven管理Java项目。同时,也可以了解到如何处理特定领域的数据,如共享单车行业的数据,从而提升自己的数据分析能力...

    据库四个范式

    - 在关系模式R中的每一个具体关系r中,如果每个属性值都是不可再分的最小数据单位,则称R是第一范式的关系。 **示例:** 假设有一个员工表,其中包含了员工号、姓名以及电话号码等信息。如果一个员工可能有一个...

    数据库sql期末总复习

    在复习数据库SQL时,我们需要涵盖多个关键知识点,这些知识点包括数据库系统的基本概念、数据模型、数据库系统的结构、关系数据库、SQL语句、安全性以及完整性等。 1. **数据库系统概述**: - 数据、DB(数据库)...

    数据库系统概念大学模式sql文件

    1. 数据库设计:理解如何根据业务需求定义实体和关系,创建符合第三范式(3NF)或BCNF的表结构。 2. SQL基础:学习SELECT、INSERT、UPDATE、DELETE等基本SQL语句,以及JOIN、GROUP BY、HAVING等高级查询技巧。 3. ...

    SQL期中考试题目

    SQL期中考试主要涵盖数据库系统的基础知识,包括数据独立性、关系模式、规范化、函数依赖、数据查询和完整性约束等方面。以下是对这些知识点的详细解释: 1. **数据独立性**:数据独立性是数据库设计的重要原则,它...

    SQL权威指南 第4版

    2. **数据库设计**:深入讨论了关系模型理论,包括范式理论,以及如何设计符合第三范式和BCNF(Boyce-Codd Normal Form)的数据库模式。 3. **联接与子查询**:详述了不同类型的联接(内连接、外连接、交叉连接)和...

    SQL Server数据应用开发

    这包括了概念设计、逻辑设计和物理设计,需要理解范式理论,如第一范式(1NF)、第二范式(2NF)和第三范式(3NF),以及如何避免数据冗余和异常。 4. **索引与查询优化**:理解索引的工作原理,如何创建B树索引、...

    SQL 教案.rar

    这包括了范式理论,如第一范式(1NF)、第二范式(2NF)和第三范式(3NF),以及反范式化设计在特定场景下的应用。 3. **T-SQL扩展**:SQL Server 2000支持Transact-SQL(T-SQL),这是SQL的一个扩展,增加了如存储...

    SQL语言参考大全chm版

    8. **数据库设计**: 正确设计数据库模式,理解范式理论(1NF、2NF、3NF等),以及如何通过外键实现数据之间的关系。 9. **SQL优化**: 学习如何编写高效的SQL查询,包括避免全表扫描、使用索引、合理设计数据模型...

    sql数据库设计教程

    3. 正范式(Normal Forms):教程会讲解第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和BCNF(巴斯-科德范式),以及它们在减少数据冗余和确保数据一致性中的作用。 4. 关系数据库设计:这包括如何创建数据库...

    .net sqlserver 学习数据文件

    9. **数据库设计原则**:学习如何设计高效且易于维护的数据库模式,包括范式理论、索引策略和数据规范化。 10. **性能优化**:理解查询优化器的工作原理,学习索引的创建和管理,以及如何通过调整查询语句或数据库...

    数据库系统原理与应用(第三版)(SQL Server 2012)-电子教案.rar

    在本教程中,你会学习到需求分析、概念设计、逻辑设计和物理设计的全过程,以及规范化理论,如第一范式(1NF)、第二范式(2NF)和第三范式(3NF),以优化数据存储并减少冗余。 事务处理是确保数据一致性、完整性...

    Microsoft SQL Server开发源文件

    2. **数据库设计**:SQL Server支持规范化数据库设计,包括第一范式(1NF)、第二范式(2NF)和第三范式(3NF),以及更高的BCNF(巴斯-科德范式)。正确设计数据库结构能确保数据的一致性和减少数据冗余。 3. **...

    sql数据库与sql

    这一阶段通常涉及范式理论,如第一范式(1NF)、第二范式(2NF)和第三范式(3NF),以减少数据冗余和提高数据独立性。 ### 5. 物理实现 物理实现阶段关注数据库的实际存储和访问方式。这包括选择合适的索引策略以...

    SQL Server 2012数据库技术与应用(微课版)-课后练习源代码.zip

    1. **数据库基础**:了解数据库的基本概念,包括实体、属性、键和索引,以及关系模型的三大范式(第一范式、第二范式和第三范式)。 2. **Transact-SQL**:学习SQL Server的T-SQL语言,包括数据查询、数据插入、...

    SQL.Server.数据库设计与管理pdf,内含VB和SQL的应用等。

    理论部分将涉及范式理论,如第一范式(1NF)、第二范式(2NF)和第三范式(3NF),以及BCNF(Boyce-Codd范式)等,这些都是确保数据库逻辑结构合理、避免数据冗余和更新异常的基础。此外,实体关系模型(ER模型)的...

    SQLServer.docx

    数据库系统由四个主要组成部分构成:数据库(数据)、数据库管理系统(DBMS,如SQL Server 2008)、数据库管理员(DBA)以及硬件和软件平台。DBA负责数据库的规划、设计、维护和监控,确保数据的安全性和高效性。 ...

    数据库范式详解+实例

    数据库范式主要包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及BCNF(Boyce-Codd范式)。下面我们详细介绍这些范式及其相互之间的转换方法。 ##### 第一范式(1NF) - **定义**:如果关系模式R属于第...

Global site tag (gtag.js) - Google Analytics