以文本方式查看主题 - 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 --
|