小编rlv*_*dan的帖子

什么时候可以不正常化?

考虑以下关系来说明我的问题:

Person( name, street, city, zipcode )

name -> street , city , zipcode
street + city -> zipcode
Run Code Online (Sandbox Code Playgroud)

因此,如果我们知道这个名字,我们也知道这个人住在哪里.但是,邮政编码也是(短暂的)依赖于街道+城市.因此,这种关系破裂3NF,应该分成两个表来符合.

但在这种情况下,我们对zipcodes作为一个单独的实体不感兴趣.它是地址的一部分,恰好是瞬态依赖.我们永远不会单独使用它.

我理解为什么规范化是一件好事.但是,是否真的有必要始终规范化(从而使数据库更加复杂)?如果没有,你怎么知道什么时候可以跳过它?

(如果我的术语或符号错误,欢迎您纠正我)

database-design

8
推荐指数
2
解决办法
7800
查看次数

在Internet Explorer 11中加载大型数组导致堆栈溢出

我有一个(生成的)页面,有一个非常大的锯齿状数组.它没有在IE11中初始化; 我得到的SCRIPT28: Out of stack spaceSCRIPT2343: Stack overflow at line: 1.我已经通过随机数据将有问题的页面减少到最低限度,这就是它的样子:

<html><body>
    <div id="info">
        Loading...
    </div>
    <script>

        var d = [];
        var i = 0;

        d[i++] = [
        "XHC_14",
        0
        ];

        d[i++] = [
        "ZXS_26",
        "UVT_27",
        "QML_3149",
        "MJO_3150",
        15993327
        ];

        d[i++] = [
        "VKG_3156",
        "ZEA_3157",
        "KZG_3159",
        "MNA_3162",
        "AKX_3163",
        "KLK_3164",
        618601
        ];

        // more array initialization ...

        info.innerHTML = "<h1>Ready!</h1>"; // this will only show if the initialization succeeded
    </script>
</body></html>
Run Code Online (Sandbox Code Playgroud)

真正的文件是~500k行,重复数组初始化大约~14k次.这里有真实文件:ie11_stack_overflow_problem.zip

它只会在阵列初始化足够大时崩溃.我有各种各样的变体,包括把它放在一个函数中给它自己的范围,但无济于事.它适用于我测试的所有其他浏览器,包括XP上的IE8.我的配置是Win7与IE 11.0.9600.17107(完全更新).

任何人都可以弄清楚为什么会这样吗?

javascript stack-overflow arrays internet-explorer

7
推荐指数
1
解决办法
5606
查看次数