以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教数据库范式与性能  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101425)

--  作者:hbhb
--  发布时间:2017/5/31 10:00:00
--  请教数据库范式与性能
大师:请问:
1、狐表有自动主键,在保证满足第一范式的基础上,肯定满足第二范式,那如何保证满足第三范式?
2、是否一定要满足第三范式?
3、请问范式与性能的关系是怎样的?


--  作者:有点色
--  发布时间:2017/5/31 10:36:00
--  

 

自动递增列有什么问题?怎么不满足第三范式了?

 

而且,不一定要满足范式,可以有适当冗余。


--  作者:jspta
--  发布时间:2017/5/31 10:55:00
--  
第三范式是正常要求,还有第四第五范式。范式越高表越细,容易度越低,维护的难度会变大,因为连接多表效率自然变低,就是所谓时间和空间。

一般中小型企业,数据量几十万到百万这种级别,性能不会是问题,所以不需要担心。

--  作者:hbhb
--  发布时间:2017/5/31 11:13:00
--  
我说的是,设计表的时候,如何保证不出现以后的更新异常?也就是说有何办法验证设计的表是否符合第三范式(以后要更新方便)
--  作者:有点色
--  发布时间:2017/5/31 11:15:00
--  

 范式是你设计的时候要注意和考虑的。

 

 你说的更新异常指的是什么?


--  作者:jspta
--  发布时间:2017/5/31 13:05:00
--  
以下是引用hbhb在2017/5/31 11:13:00的发言:
我说的是,设计表的时候,如何保证不出现以后的更新异常?也就是说有何办法验证设计的表是否符合第三范式(以后要更新方便)
你满足了范式设计就不会出现更新异常,出现更新异常必然没有满足范式要求或范式级别不够。你要做的是如何设计出符合实际需求的范式的数据库。
如何验证?测试新增,修改,删除,没有数据异常就是符合了。


--  作者:hbhb
--  发布时间:2017/5/31 13:32:00
--  
为了提高查询速度,某表b的姓名列直接填列属性值,而该列依赖另外一张表a的外键,我导入时,姓名列不转换为表a外键,直接填写姓名。这样根据表b姓名查询时快捷,但表b以后更新了如何办?
请问:导入数据时,姓名列是否必须填列外键值?

--  作者:有点色
--  发布时间:2017/5/31 14:14:00
--  

 如果你数据库里面设置了外键,那么,你就必须先导入外键的表内容,得到外键,再导入本表的内容。

 

 如果没有设置外键,但分了几个表,你同样需要编写代码进行多表的导入。

 

 如果直接用一个表存放,更新的问题,你可以参考跨表更新的方式,同步一下数据就好了。

 

 一个设计好了的项目,数据库是不会轻易改变的。


--  作者:hbhb
--  发布时间:2017/5/31 15:45:00
--  
谢谢!比如工资表的录入有两种,见实例,考虑以后有人更改姓名,以及查询速度,两万人,哪种录入方式较好?
--  作者:hbhb
--  发布时间:2017/5/31 15:45:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目33.rar