快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

Java开发数据库设计的14个技巧

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

它可以是一对一,一对多,多对多的关系。通常,它们具有一对一的关系:也就是说,一个原始文档仅对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一个原始文档对应于多个实体,或者多个原始文档对应于一个实体。

此处的实体可以理解为基本表。在澄清了这种对应关系之后,对我们来说设计输入接口是非常有益的。

〖示例1〗:雇员的履历数据,对应于人力资源信息系统中的三个基本表:雇员基本状况表,社会关系表和工作履历表。这是”一个原始文档对应于多个实体”的典型示例。

通常,实体既不能具有主键也不能具有外键。在E-R图中,叶部分中的实体可能具有主键,也可能没有主键(因为它没有子级),但是必须具有外键(因为它具有父级)。

主键和外键的设计在全局数据库的设计中起着重要作用。全局数据库的设计完成后,一位美国数据库设计专家说:”键,到处都有键,除了键之外,什么都没有”,这是他在谈论数据库设计经验时,也反映出他的信息。系统核心(数据模型)的抽象思想。

因为:主键是高度抽象的实体,所以主键和外键的配对表示实体之间的连接。

基本表与中间表和临时表不同,因为它具有以下四个特征:

  • 原子。基本表中的字段不可分解。
  • 创意。基本表中的记录是原始数据(基本数据)的记录。
  • 演绎。所有输出数据都可以从基本表和代码表中的数据得出。
  • 稳定性。基本表的结构比较稳定,表中的记录要保存很长时间。

了解基本表的本质之后,在设计数据库时,可以将基本表与中间表和临时表区分开。

基本表及其字段之间的关系应尝试满足第三范式。但是,符合第三范式的数据库设计通常不是最佳设计。为了提高数据库的运行效率,经常有必要降低范式的标准:适当增加冗余度以达到用空间代替时间的目的。

〖示例2〗:有一个用于存储商品的基本表,如表1所示。字段”金额”的存在表示该表的设计不符合第三范式,因为”金额”可以通过将”单价”乘以”数量”来获得,表示”金额”是多余的字段。但是,添加冗余字段”数量”可以提高查询统计信息的速度。这就是时间占用空间的方式。

在Rose 2002中,有两种类型的列:数据列和计算列。诸如”金额”之类的列称为”计算列”,而诸如”单价”和”数量”之类的列称为”数据列”。

通常,理解这三种范例对数据库设计很有帮助。在数据库设计中,为了更好地应用这三种范式,您必须了解这三种范式的共同点(共同的理解是足够的理解,而不是最科学,最准确的理解):

  • 第一个范式:1NF是属性的原子约束,它要求属性是原子的且不可分解;
  • 第二范式:2NF是对记录的唯一约束,要求记录具有唯一的标识符,即实体的唯一性;
  • 第三范式:3NF是字段冗余的约束,也就是说,任何字段都不能从其他字段派生,并且它要求该字段没有冗余。

没有冗余数据库设计可以做到。但是,没有冗余的数据库可能不是最佳数据库。有时,为了提高操作效率,有必要降低范式的标准并适当保留冗余数据。

具体方法是在设计概念数据模型时遵循第三个范式,并减少在设计物理数据模型时要考虑的范式标准。减少范例就是增加字段,允许冗余。

1.数据库中的表数越少越好。只有少数几张表可以解释该系统的E–R图小而精确,删除了多余和冗余的实体,对目标世界形成了高度抽象,进行了系统数据集成并防止了修补。/p>

2.表中组合的主键字段的数量越少越好。由于主键的作用,一种是建立主键索引,另一种是子表的外键,因此减少了组合主键的字段数,这不仅节省了运行时间,也节省了索引存储空间;

3.表中的字段数越少越好。只有少数字段可以解释系统中没有数据重复,并且几乎没有数据冗余。更重要的是,这是促使读者学习”从列到行”的方法,这可以防止子表中的字段进入主表,从而在主表中留下许多空字段。所谓的”列到行”是指在主表中提取部分内容,并构建一个单独的子表。这种方法非常简单,有些人不习惯,不采用或不实施它。

数据库设计的实用原理是在数据冗余和处理速度之间找到合适的平衡。 “三少”是一个整体概念,是一个全面的观点,不能孤立某些原则。

原理是相对的,不是绝对的。 “三个”原则一定是错误的。想象一下:如果您涵盖了系统的相同功能,那么一百个实体(总共一千个属性)的E-R图肯定好于一百个实体(总共两千个属性)的E-R图。

提倡”三少”原则是为了让读者学习使用数据库设计技术来进行系统数据集成。数据集成的步骤是将文件系统集成到应用程序数据库中,将应用程序数据库集成到主题数据库中,以及将主题数据库集成到全局综合数据库中。

集成度越高,数据共享越强,整个企业信息系统的全局ER图中的信息岛,实体数,主键数和属性数更少。 。

倡导”三少”原则的目的是防止读者使用修补技术来不断添加,删除和修改数据库,从而使企业数据库成为数据库表的”垃圾堆”,或者”大杂乱的庭院””最后,数据库中的基本表,代码表,中间表和临时表杂乱无章,导致无法维护和瘫痪企事业单位的信息系统。

任何人都可以做到”三更多”的原则。该原理是”修补方法”设计数据库的隐喻。 “三少”原则是”越来越少”的原则。它要求高水平的数据库设计技能和技术,这是任何人都无法实现的,因为该原理是消除使用”修补方法”来设计数据库的理论基础。

在给定的系统硬件和系统软件条件下,提高数据库系统运行效率的方法是:

  • 在数据库的物理设计中,减少范例,增加冗余,使用更少的触发器,并更多使用存储过程。
  • 当计算非常复杂并且记录数量非常大(例如1000万)时,在使用C ++语言计算文件系统方法之后,复杂的计算必须在数据库外部终于添加到表中去了。这是电信计费系统设计的经验。
  • 如果发现表中的记录太多(例如,超过一千万条记录),则需要水平拆分表。水平分割的方法是将表的记录分成两个表,并以表的主键PK的某个值作为边界。如果发现一个表中的字段太多(例如,超过80个),则将该表垂直分割,并将原来的一个表分解为两个表。
  • 优化数据库管理系统DBMS,即优化各种系统参数,例如缓冲区数。
  • 在使用面向数据的SQL语言进行编程时,请尝试采用优化算法。

为了提高数据库的运行效率,我们必须在数据库系统级优化,数据库设计级优化和程序实现级优化三个层次上努力工作。

在许多数据库分析和设计实践中,许多人逐渐总结了上述十四个技巧。对于这些经验的应用,读者不仅可以用硬朗的方式死记硬背,而且可以消化和理解,从事实中寻求真相并灵活地掌握,并逐步做到:在应用程序中发展,在发展中应用。/p>

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1922638