`
chinagdvea
  • 浏览: 126520 次
  • 性别: 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两表
分享到:
评论

相关推荐

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

    主要内容包括SQL的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表表达式、排名函数、数据聚合和透视转换、TOP和APPLY、数据修改、分区表、特殊数据结构等实际应用时会遇到的各种高级查询问题和解决...

    SQL Server 2008数据库设计与实现

    第三部分深入探讨了SQL Server若干方面的技术细节,如数据保护、索引、并发访问等。通过将理论融入数据库实践,清晰地讲解了关系型数据库的设计原则,完整地展示了如何进行良好的关系型数据库设计,深入揭示了SQL ...

    精通SQL--结构化查询语言详解

    11.4.4 sql server数据库数据导入 230 第12章 数据的更新和删除 233 12.1 更新表中的数据 233 12.1.1 update语句的基本语法 233 12.1.2 update语句更新列值 234 12.1.3 利用子查询更新多行的值 237 12.1.4 ...

    SQL Server 2008编程入门经典(第3版)

    8.2.4 第三范式 8.2.5 其他范式 8.3 关系 8.3.1 一对一关系 8.3.2 一对一或一对多关系 8.3.3 多对多关系 8.4 数据库关系图 8.4.1 表 8.4.2 添加和删除表 8.4.3 关系 8.5 反规范化 8.6 超出规范化的一些规则 8.6.1 ...

    SQLServer2008技术内幕T-SQL查询包含源代码及附录A

    主要内容包括SQL的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表表达式、排名函数、数据聚合和透视转换、TOP和APPLY、数据修改、分区表、特殊数据结构等实际应用时会遇到的各种高级查询问题和解决...

    中北大学数据库概论实验报告五( 关系模式优化-设计型实验)

    3.实验内容依据关系模式分解算法设计满足3NF的关系模式,熟练掌握SQL数据查询和数据定义语句,编写相关SQL语句验证所设计的关系模型是否消除了数据冗余、更新异常、插入异常和删除异常,同时验证模式分解是否具有...

    SQL.Server.2008编程入门经典(第3版).part2.rar

    SQL Server 2008的新增内容和更改包括:DATE和TIME数据类型、hierarchyID数据类型、MERGE命令和多行插入,以及递归查询等。《SQL Server 2008编程入门经典(第3版)》旨在帮助您快速地掌握Microsoft SQL Selwer2008的...

    Microsoft+SQL+Server+2008技术内幕:T-SQL查询_源代码及附录 中文版

    主要内容包括SQL的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表表达式、排名函数、数据聚合和透视转换、TOP和APPLY、数据修改、分区表、特殊数据结构等实际应用时会遇到的各种高级查询问题和解决...

    SQL.Server.2008编程入门经典(第3版).part1.rar

    SQL Server 2008的新增内容和更改包括:DATE和TIME数据类型、hierarchyID数据类型、MERGE命令和多行插入,以及递归查询等。《SQL Server 2008编程入门经典(第3版)》旨在帮助您快速地掌握Microsoft SQL Selwer2008的...

    SQL培训第一期

    结构化查询语言(Structured Query Language)简称SQL,是一种关系数据库查询语言,用于存取数据以及查询、更新和管理关系数据库系统。 1.2 语句结构 1.2.1 数据查询语言(DQL) 对数据库进行的信息查询,select。 ...

    sql2005全文检索.doc

    采用OLTP交易数据库和OLAP数据仓库(用于搜索和分析)分离的模式,OLTP作为OLAP的数据源通过SQL Server Integration Services (SSIS)定期导入到OLAP数据仓库环境中,OLAP采用星型结构以便于更好地满足搜索和将来的...

    数据库汽车销售系统sql

    体联系图转化为关系模式,给出验证和说明数据库范式满足 3NF,在 SQL Server 2008 上创建数据库,定义各个表的主键和 外键,自行定义一些索引,自行录入部分合理数据,创建一个 登录名和数据库账号,并赋予相应的...

    精通SQL 结构化查询语言详解

    11.4.3 SQL Server数据库数据导出  11.4.4 SQL Server数据库数据导入  第12章 数据的更新和删除  12.1 更新表中的数据  12.1.1 UPDATE语句的基本语法 12.1.2 UPDATE语句更新列值  12.1.3 利用子查询...

    三级数据库知识点学习(四)

    第三范式(3NF)三、数据库逻辑设计四、数据库物理设计五、视图六、alter database命令七、Guest用户八、SQL Sever 2008身份验证模式九、DDL十、游标 一、数据模型三要素 数据模型三要素分别为 数据结构 数据操作 ...

    2009达内SQL学习笔记

    可以利用通配符创建比较特定数据的搜索模式,通配符只能用于文本,非文本数据类型不能使用通配符。 通配符在搜索模式中任意位置使用,并且可以使用多个通配符。 通配符%表示任何字符出现任意次数;还能代表搜索...

    mysql优化sql语句的优化(索引,常用小技巧.)

    mysql的优化 数据库(表)设计合理 我们的表设计要符合3NF 3范式(规范的模式) , 有时我们需要适当的逆范式 sql语句的优化(索引,常用小技巧.) 数据的配置(缓存设大) 适当硬件配置和操作系统 (读写分离.)

    软件工程之专题六: 数据库知识

     • 数据模型,ER图,第一范式、第二范式、第三范式  • 数据操作(集合运算和关系运算)  • 数据库语言(SQL)  • 数据库的控制功能(并发控制、恢复、安全性、完整性)  • 数据仓库和分布式数据库基础知识...

    1.学会使用对象资源管理器创建数据库、创建基本表和查看数据库属性 2.学会使用对象资源管理器向数据库输入数据,修改数据,删除

    1、 将 ER 图转换成关系模型,判断关系模型中的各个关系(表)是第几范式,如果没有达到第三范式或 BC 范式,请进行规范化。完成数据库的逻辑结构设计。 2、 通过对象资源管理器实现关系模式的存储,包括确定主码、...

Global site tag (gtag.js) - Google Analytics