zoukankan      html  css  js  c++  java
  • java知识总结-21

    基本表与中间表、临时表不同,因为它具有如下四个特性:
       (1) 原子性。基本表中的字段是不可再分解的。
       (2) 原始性。基本表中的记录是原始数据(基础数据)的记录。
       (3) 演绎性。由基本表与代码表中的数据,可以派生出所有的输出数据。
       (4) 稳定性。基本表的结构是相对稳定的,表中的记录是要长期保存的。
      理解基本表的性质后,在设计数据库时,就能将基本表与中间表、临时表区分开来。

    数据库设计范式;
    第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;
    第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;
    第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。

    防止数据库设计打补丁的方法是“三少原则”
       (1) 一个数据库中表的个数越少越好。只有表的个数少了,才能说明系统的E--R图少而精,去掉了重复的多余的
        实体,形成了对客观世界的高度抽象,进行了系统的数据集成,防止了打补丁式的设计;

       (2) 一个表中组合主键的字段个数越少越好。因为主键的作用,一是建主键索引,二是做为子表的外键,所以组
        合主键的字段个数少了,不仅节省了运行时间,而且节省了索引存储空间;

       (3) 一个表中的字段个数越少越好。只有字段的个数少了,才能说明在系统中不存在数据重复,且很少有数据冗
        余,更重要的是督促读者学会“列变行”,这样就防止了将子表中的字段拉入到主表中去,在主表中留下许
        多空余的字段。所谓“列变行”,就是将主表中的一部分内容拉出去,另外单独建一个子表。这个方法很简
        单,有的人就是不习惯、不采纳、不执行。

    提高数据库运行效率的办法
      在给定的系统硬件和系统软件条件下,提高数据库系统的运行效率的办法是:
       (1) 在数据库物理设计时,降低范式,增加冗余, 少用触发器, 多用存储过程。

       (2) 当计算非常复杂、而且记录条数非常巨大时(例如一千万条),复杂计算要先在数据库外面,以文件系统方
        式用C++语言计算处理完成之后,最后才入库追加到表中去。这是电信计费系统设计的经验。

       (3) 发现某个表的记录太多,例如超过一千万条,则要对该表进行水平分割。水平分割的做法是,以该表主键
        PK的某个值为界线,将该表的记录水平分割为两个表。若发现某个表的字段太多,例如超过八十个,则
        垂直分割该表,将原来的一个表分解为两个表。

       (4) 对数据库管理系统DBMS进行系统优化,即优化各种系统参数,如缓冲区个数。

       (5) 在使用面向数据的SQL语言进行程序设计时,尽量采取优化算法。
        总之,要提高数据库的运行效率,必须从数据库系统级优化、数据库设计级优化、程序实现级优化,这三
        个层次上同时下功夫。

  • 相关阅读:
    元素居中显示
    文本框 获取焦点 失去焦点 实时监听
    cookie/ localStorage /sessionStorage区别
    h5新增标签
    css3属性中的transform属性
    精简 闭包
    let const定义及用法
    关于arguments映射的问题
    Linux云自动化运维第二课
    下载模版的具体代码
  • 原文地址:https://www.cnblogs.com/flytwosky/p/7209167.html
Copyright © 2011-2022 走看看