
1.开发企业管理系统数据库的原则
1个回答
关注

展开全部
1.开发企业管理系统数据库的原则您好亲,数据库是整个软件应用的根基,是软件设计的起点,它起着决定性的质变作用,因此我们必须对数据库设计高度重视起来,培养设计良好数据库的习惯,是一个优秀的软件设计师所必须具备的基本素质条件! 那么我们要做到什么程度才是对的呢?下面就说说数据库设计的原则:
1、数据库设计最起码要占用整个项目开发的40%以上的时间
数据库是需求的直观反应和表现,因此设计时必须要切实符合用户的需求,要多次与用户沟通交流来细化需求,将需求中的要求和每一次的变化都要一一体现在数据库的设计当中。如果需求不明确,就要分析不确定的因素,设计表时就要事先预留出可变通的字段,正所谓“有备无患”。
2、数据库设计不仅仅停留于页面demo的表面
页面内容所需要的字段,在数据库设计中只是一部分,还有系统运转、模块交互、中转数据、表之间的联系等等所需要的字段,因此数据库设计绝对不是简单的基本数据存储,还有逻辑数据存储。
3、数据库设计完成后,项目80%的设计开发在你脑海中就已经完成了
每个字段的设计都是有他必要的意义的,你在设计每一个字段的同时,就应该已经想清楚程序中如何去运用这些字段,多张表的联系在程序中是如何体现的。换句话说,你完成数据库设计后,程序中所有的实现思路和实现方式在你的脑海中就已经考虑过了。如果达不到这种程度,那当进入编码阶段后,才发现要运用的技术或实现的方式数据库无法支持,这时再改动数据库就会很麻烦,会造成一系列不可预测的问题。
4、数据库设计时就要考虑到效率和优化问题
一开始就要分析哪些表会存储较多的数据量,对于数据量较大的表的设计往往是粗粒度的,也会冗余一些必要的字段,已达到尽量用最少的表、最弱的表关系去存储海量的数据。并且在设计表时,一般都会对主键建立聚集索引,含有大数据量的表更是要建立索引以提供查询性能。对于含有计算、数据交互、统计这类需求时,还要考虑是否有必要采用存储过程。
5、添加必要的(冗余)字段
像“创建时间”、“修改时间”、“备注”、“操作用户IP”和一些用于其他需求(如统计)的字段等,在每张表中必须都要有,不是说只有系统中用到的数据才会存到数据库中,一些冗余字段是为了便于日后维护、分析、拓展而添加的,这点是非常重要的,比如黑客攻击,篡改了数据,我们便就可以根据修改时间和操作用户IP来查找定位。
咨询记录 · 回答于2022-05-28
1.开发企业管理系统数据库的原则
1.开发企业管理系统数据库的原则您好亲,数据库是整个软件应用的根基,是软件设计的起点,它起着决定性的质变作用,因此我们必须对数据库设计高度重视起来,培养设计良好数据库的习惯,是一个优秀的软件设计师所必须具备的基本素质条件! 那么我们要做到什么程度才是对的呢?下面就说说数据库设计的原则:
1、数据库设计最起码要占用整个项目开发的40%以上的时间
数据库是需求的直观反应和表现,因此设计时必须要切实符合用户的需求,要多次与用户沟通交流来细化需求,将需求中的要求和每一次的变化都要一一体现在数据库的设计当中。如果需求不明确,就要分析不确定的因素,设计表时就要事先预留出可变通的字段,正所谓“有备无患”。
2、数据库设计不仅仅停留于页面demo的表面
页面内容所需要的字段,在数据库设计中只是一部分,还有系统运转、模块交互、中转数据、表之间的联系等等所需要的字段,因此数据库设计绝对不是简单的基本数据存储,还有逻辑数据存储。
3、数据库设计完成后,项目80%的设计开发在你脑海中就已经完成了
每个字段的设计都是有他必要的意义的,你在设计每一个字段的同时,就应该已经想清楚程序中如何去运用这些字段,多张表的联系在程序中是如何体现的。换句话说,你完成数据库设计后,程序中所有的实现思路和实现方式在你的脑海中就已经考虑过了。如果达不到这种程度,那当进入编码阶段后,才发现要运用的技术或实现的方式数据库无法支持,这时再改动数据库就会很麻烦,会造成一系列不可预测的问题。
4、数据库设计时就要考虑到效率和优化问题
一开始就要分析哪些表会存储较多的数据量,对于数据量较大的表的设计往往是粗粒度的,也会冗余一些必要的字段,已达到尽量用最少的表、最弱的表关系去存储海量的数据。并且在设计表时,一般都会对主键建立聚集索引,含有大数据量的表更是要建立索引以提供查询性能。对于含有计算、数据交互、统计这类需求时,还要考虑是否有必要采用存储过程。
5、添加必要的(冗余)字段
像“创建时间”、“修改时间”、“备注”、“操作用户IP”和一些用于其他需求(如统计)的字段等,在每张表中必须都要有,不是说只有系统中用到的数据才会存到数据库中,一些冗余字段是为了便于日后维护、分析、拓展而添加的,这点是非常重要的,比如黑客攻击,篡改了数据,我们便就可以根据修改时间和操作用户IP来查找定位。
6、设计合理的表关联若多张表之间的关系复杂,建议采用第三张映射表来关联维护两张表之间的关系,以降低表之间的直接耦合度。若多张表涉及到大数据量的问题,表结构尽量简单,关联也要尽可能避免。7、设计表时不加主外键等约束性关联,系统编码阶段完成后再添加约束性关联这样做的目的是有利于团队并行开发,减少编码时所遇到的问题,表之间的关系靠程序来控制。编码完成后再加关联并进行测试。不过也有一些公司的做法是干脆就不加表关联。8、选择合适的主键生成策略
企业管理系统安全性如何保障?
企业管理系统安全性如何保障?一、 MD5 加密用户密码本系统用户密码采用MD5加密,这是一种安全性非常高的加密算法,是普遍使用广泛应用于文件验证,银行密码加密等领域,由于这种加密的不可逆性,在使用10位以上字母加数字组成的随机密码时,几乎没有破解的可能性。二、 COOKIES加密本 系统保存COOKIES时,对保存于COOKIES中的数据采用了以MD5加密为基础,加入随机加密因子的改进型专用加密算法。由于使用的不是标准MD5 加密,因此本系统COOKIES中保存的数据不可能被解密。因此,黑客试图用伪造COOKIES攻击系统变得完全不可能,系统用户资料变得非常安全。三、 SQL注入防护系统在防SQL注入方面,设置了四道安全防护: 第一、 系统级SQL防注入检测,系统会遍历检测所有用GET、POST、COOKIES提交到服务器上的数据,如发现有可能用于构造可注入SQL的异常 代码,系统将终止程序运行,并记录日志。这一道安全防护加在连接数据库之前,能在连接数据库前挡处几乎所有的SQL注入和危害网站安全的数据提交。 第二、 程序级安全仿SQL注入系统,在应用程序中,在构建SQL查询语句前,系统将对由外部获取数据,并带入组装为SQL的变量进行安全性合法性验证,过滤可能构成注入的字符。 第三、 禁止外部提交表单,系统禁止从本域名之外的其它域名提交表单,防止从外部跳转传输攻击性代码。 第四、数据库操作使用存储过程 系统所有的重要数据操作,均使用存储过程作参数查询,避免组装SQL字符串,令即使通过了层层SQL注入过滤的攻击性字符仍然无法发挥作用。四、 木马和病毒防护针对可能的木马和病毒问题,系统认为,在服务器设置安全的情况下,外部带来的安全问题,主要是用户可能上传病毒和木马,本系统作了如下四层的防护第一、 客户端文件检测,在上传之前,对准备上传的文件进行检测,如果发现不是服务器设置的允许上传的文件类型,系统拒绝进行上传。如果客户端屏蔽了检测语句,则上传程序同时被屏蔽,系统无法上传任何文件。第二、 服务器端文件安全性检测,对上传到服务器的文件,程序在将文件写入磁盘前,检测文件的类型,如发现是可能构成服务器安全问题的文件类型,即所有可以在服务器上执行的程序,系统都拒绝写入磁盘。以此保证不被上传可能在服务器上传播的病毒和木马程序。第三、对有权限的服务器,系统采用
已赞过
评论
收起
你对这个回答的评价是?