当前位置: 首页 > news >正文

可以打开的wap网站网址收录

可以打开的wap网站,网址收录,下载网站后怎么做的,房地产资讯一、什么是范式? 范式是数据库设计时遵循的一种规范,不同的规范要求遵循不同的范式。 最常用的三大范式 第一范式(1NF):属性不可分割,即每个属性都是不可分割的原子项。(实体的属性即表中的列) 第二范式(2NF):满足…

一、什么是范式?

范式是数据库设计时遵循的一种规范,不同的规范要求遵循不同的范式。

最常用的三大范式

第一范式(1NF):属性不可分割,即每个属性都是不可分割的原子项。(实体的属性即表中的列)

第二范式(2NF):满足第一范式;且不存在部分依赖,即非主属性必须完全依赖于主属性。(主属性即主键;完全依赖是针对于联合主键的情况,非主键列不能只依赖于主键的一部分)

第三范式(3NF):满足第二范式;且不存在传递依赖,即非主属性不能与非主属性之间有依赖关系,非主属性必须直接依赖于主属性,不能间接依赖主属性。(A -> B, B ->C, A -> C)

举例说明3NF:

1NF

属性不可再分,即表中的每个列都不可以再进行拆分。

如下学生信息表(student):

id、name(姓名)、sex_code(性别代号)、sex_desc(性别描述)、contact(联系方式)

primary key(id)

idnamesex_codesex_desccontact
001张三017835201234_山西省运城市xx村
002李四017735204567_山西省吕梁市yy村
003王五118835207890_山西省太原市zz村

如果在查询学生表时经常用到学生的电话号,则应该将联系方式(contact)这一列分为电话号(phone)和地址(address)两列,这样才符合第一范式。

修改使表满足1NF后:

idnamesex_codesex_descphoneaddress
001张三017835201234山西省运城市xx村
002李四017735204567山西省吕梁市yy村
003王五118835207890山西省太原市zz村

 判断表是否符合第一范式,列是否可以再分,得看需求,如果将电话号和地址分开才能满足查询等需求时,那之前的表设计就是不满足1NF的,如果电话号和地址拼接作为一个字段也可以满足查询、存储等需求时,那它就满足1NF。

2NF

在满足1NF的前提下,表中不存在部分依赖,非主键列要完全依赖于主键。(主要是说在联合主键的情况下,非主键列不能只依赖于主键的一部分)

如下学生成绩表(score):

stu_id(学生id)、kc_id(课程id)、score(分数)、kc_name(课程名)

primary key(stu_id, kc_id)

stu_idkc_idscorekc_name
001101185高数3-1
001102279计算机组成原理
002101159.9高数3-1

表中主键为stu_id和kc_id组成的联合主键。满足1NF;非主键列score完全依赖于主键,stu_id和kc_id两个值才能决定score的值;而kc_name只依赖于kc_id,与stu_id没有依赖关系,它不完全依赖于主键,只依赖于主键的一部分,不符合2NF。

修改使表满足2NF后:

成绩表(score)   primary key(stu_id)

stu_idkc_idscore
001101185
001102279
002101159.9

课程表(kc)   primary key(kc_id)

kc_idkc_name
1011高数3-1
1022计算机组成原理

将原来的成绩表(score)拆分为成绩表(score)和课程表(kc),而且两个表都符合2NF。

3NF:

在满足2NF的前提下,不存在传递依赖。(A -> B, B -> C, A->C)

如下学生信息表(student):

primary key(id)

idnamesex_codesex_descphoneaddress
001张三017835201234山西省运城市xx村
002李四017735204567山西省吕梁市yy村
003王五118835207890山西省太原市zz村

表中sex_desc依赖于sex_code,而sex_code依赖于id(主键),从而推出sex_desc依赖于id(主键);sex_desc不直接依赖于主键,而是通过依赖于非主键列而依赖于主键,属于传递依赖,不符合3NF。

修改表使满足3NF后:

学生表(student)   primary key(id)

idnamesex_codephoneaddress
001张三017835201234山西省运城市xx村
002李四017735204567山西省吕梁市yy村
003王五118835207890山西省太原市zz村

性别代码表(sexcode)   primary key(sex_code)

sex_codesex_desc
0
1

将原来的student表进行拆分后,两个表都满足3NF。

什么样的表越容易符合3NF?

非主键列越少的表。(1NF强调列不可再分;2NF和3NF强调非主属性列和主属性列之间的关系)

如代码表(sexcode),非主键列只有一个sex_desc;

或者将学生表的主键设计为primary key(id,name,sex_code,phone),这样非主键列只有address,更容易符合3NF。


二、多表关系

在进行数据库表结构的设计时,会根据业务的需求和业务模块之间的关系,分析设计表结构,由于业务之间相互关联,所以各个表结构之间也存在各种联系

表与表之间的联系:

1.一对多(多对一)
2.多对多
3.一对一

一对多(多对一)

例如,一个员工对应一个部门,一个部门可以对应多个员工

在这里插入图片描述

一般在多的一方创建外键,指向一的那一方
员工与部门,在员工表上设置外键,指向部门表

多对多

例如,一个学生可以选修多门课程,一个课程可以被多名学生选修
一般会建立第三张表,至少包含两个外键,分别指向两张表的主键

在这里插入图片描述

一对一

例如,用户和自己的学历信息的关系,一个人只对应一条学历信息
可以在任意一方加入外键,关联另一方的主键,并且设置外键为唯一(unique)

 在这里插入图片描述

 注:可以放在一张表中,但是对其进行拆分,一张表放基础信息,另一张表放详情,可以提升操作效率


三、多表查询

概述:
从多张表中查询数据
笛卡尔积:
笛卡尔积为两个集合(两张表)中的每条数据进行两两组合的结果
在多表查询时会产生笛卡尔积,要通过添加条件消除笛卡尔积

在这里插入图片描述

 dept表:

请添加图片描述

 emp表:

请添加图片描述

查询产生笛卡尔积的结果:

select * from emp, dept ;

请添加图片描述

 消除笛卡尔积(添加条件):

select * from emp, dept where emp.dept_id=dept.id;

请添加图片描述

多表查询的分类

1.连接查询:

内连接:相当于查询AB的交集部分
外连接:左外连接:查询A的所有数据,同时拼接上B对应的数据右外连接:查询B的所有数据,同时拼接上A中对应的数据
自连接:表与自身连接查询自连接必须给表取别名

在这里插入图片描述

http://www.mmbaike.com/news/30266.html

相关文章:

  • 西藏自治区住房和城乡建设部网站个人博客网站
  • 莱州网站建设谷歌浏览器搜索引擎入口
  • 深圳瑞捷成立新公司广东seo
  • 网站后台模板修改用什么软件怎么自己弄一个平台
  • 网站建设首页突出什么百度一下首页官网
  • 网络推广协议磐石网站seo
  • 网站页面链接怎么做百度入驻
  • 提升网站排名网络营销的方式有十种
  • 河北城乡建设官方网站营销型网站策划
  • 山东外贸国际网站建设bittorrentkitty磁力猫
  • 网站如何做301关系网站优化公司
  • 做网站技术含量百度一下官方网
  • 西安做网站哪家便宜私人浏览器
  • vue响应式网站开发搜索引擎外部链接优化
  • 吉安永新哪里做网站产品软文是什么意思
  • 网站底色什么颜色好看百度seo优化是做什么的
  • 电商网站开发要多少钱网络营销推广工具有哪些?
  • 品牌手表网站谷歌外贸平台叫什么
  • 佛山网站建设冯哥石家庄网站优化
  • 深圳公司网站设计公关于友谊的连接
  • 专业的营销型网站制作贵阳搜索引擎排名推广
  • 做网站年入千万郑州seo全网营销
  • 石家庄企业网站互联网营销师是干什么
  • 免费网站可以做cpa外包公司和劳务派遣的区别
  • 网站建设售前说明书网络营销的应用研究论文
  • 做私服发布网站犯法吗短视频代运营方案策划书
  • 网站建设与维护 书百度账号是什么
  • 在线咨询免费seo快速排名优化方式
  • 王者荣耀官方网站星乐seo网站关键词排名优化
  • 物流公司做网站需求百度推广托管公司