信管平台数据库初设要求

信管平台数据库初设要求,第1张

一.要求:

(1)上机时间:每天上午8:00~11:30。下午2:00~4:30上课时间,严禁迟到、早退及旷课,严禁做与课程设计无关的事情,情节严重者取消课程设计成绩。

(2)保质保量完成课程设计要求的所有内容。

(3)将所需上交的电子文档存放在以学号和姓名命名的文件夹中。

(4)杜绝抄袭。如若发现有抄袭现象,抄袭者和被抄袭者的课程设计成绩全部取消。

二.课程设计结束应提交的文档:

1、系统分析报告,内容有:

(1)数据流图(DFD)(可选项,仅要求学有余力的学生完成)

(2)数据词典(DD) (可选项,仅要求学有余力的学生完成)

2、系统设计报告,内容有:

(1)软件设计说明书(SDS)

(2)模块结构图(SC)和模块说明

(3)数据结构说明(包括输入、输出、数据库等)

(4)用户界面

3、编程报告,内容有:

(1)能实际运行的源程序

(2)程序说明和变量说明

4、附加源代码,内容有:

(1)数据库创建的SQL脚本文件

(2)应用系统的关键源代码

三.课程设计进度安排:

课程设计内容

学时

地点

备注

应用系统设计培训

2天

软件实验室

周六、周日

查阅资料,分析与设计数据库

1天

图书馆、软件实验室

周一

编写程序,进行调试

2天

软件实验室

周二、三

完成模块联调,进行测试

1天

软件实验室

周四

成果验收,完成设计报告

1天

软件实验室

周五

四.打印文档规范:

1.统一用A4纸打印。

2.统一打印封面。

3.正文字体:五号。

4.页面设置:上边距:2.54;左边距:2.5;右边距:2.5;

标注页码。

5.正文具体内容格式见“图书管理系统”模板。

五、参考题目

1. 学生成绩管理系统数据库设计;

第 4 页

2. 课程管理子系统数据库设计;

3. 通讯录子系统数据库设计;

4. 教室管理子系统数据库设计;

5. 宿舍管理子系统数据库设计;

6. 个人事务管理子系统数据库设计;

7. 卫生科医疗管理子系统数据库设计;

8. 库房入库出库管理子系统数据库设计;

9. 小商店销售管理子系统数据库设计;

10. 工资管理系统数据库设计

11. 人事管理系统数据库设计

12. 仓库管理系统数据库设计

第 5 页

13. 学生管理系统数据库设计

14. 图书馆管理信息系统数据库设计

15. 宾馆客房管理信息系统数据库设计

16. 学籍管理系统数据库设计

17. 机票预定系统数据库设计

18. 其它管理子系统数据库设计(自己选题需经指导教师认可)。

六、参考书目

1.《数据库系统概论》,萨师煊、王珊, 高等教育出版社,2006年。

2.《数据库原理与应用》,李红,高等教育出版社,2003。

3.《SQL Server 数据库设计与管理》,姜力,高群,北京大学出版社,2006。

4.《PowerDesigner软件工程技术》,白尚旺等,电子工业出版社,2004。

5.《信息系统开发实例精粹》,汪孝宜,胡海璐,米海生,电子工业出版社,2006。

6.《Visual C#2005数据库开发经典案例》,罗斌,中国水利出版社,2008。

数据库是整个软件应用的根基,是软件设计的起点,它起着决定性的质变作用,因此我们必须对数据库设计高度重视起来,培养设计良好数据库的习惯,是一个优秀的软件设计师所必须具备的基本素质条件!

那么我们要做到什么程度才是对的呢?下面就说说数据库设计的原则:

1、数据库设计最起码要占用整个项目开发的40%以上的时间

数据库是需求的直观反应和表现,因此设计时必须要切实符合用户的需求,要多次与用户沟通交流来细化需求,将需求中的要求和每一次的变化都要一一体现在数据库的设计当中。如果需求不明确,就要分析不确定的因素,设计表时就要事先预留出可变通的字段,正所谓“有备无患”。

2、数据库设计不仅仅停留于页面demo的表面

页面内容所需要的字段,在数据库设计中只是一部分,还有系统运转、模块交互、中转数据、表之间的联系等等所需要的字段,因此数据库设计绝对不是简单的基本数据存储,还有逻辑数据存储。

3、数据库设计完成后,项目80%的设计开发在你脑海中就已经完成了

每个字段的设计都是有他必要的意义的,你在设计每一个字段的同时,就应该已经想清楚程序中如何去运用这些字段,多张表的联系在程序中是如何体现的。换句话说,你完成数据库设计后,程序中所有的实现思路和实现方式在你的脑海中就已经考虑过了。如果达不到这种程度,那当进入编码阶段后,才发现要运用的技术或实现的方式数据库无法支持,这时再改动数据库就会很麻烦,会造成一系列不可预测的问题。

4、数据库设计时就要考虑到效率和优化问题

一开始就要分析哪些表会存储较多的数据量,对于数据量较大的表的设计往往是粗粒度的,也会冗余一些必要的字段,已达到尽量用最少的表、最弱的表关系去存储海量的数据。并且在设计表时,一般都会对主键建立聚集索引,含有大数据量的表更是要建立索引以提供查询性能。对于含有计算、数据交互、统计这类需求时,还要考虑是否有必要采用存储过程。

5、添加必要的(冗余)字段

像“创建时间”、“修改时间”、“备注”、“ *** 作用户IP”和一些用于其他需求(如统计)的字段等,在每张表中必须都要有,不是说只有系统中用到的数据才会存到数据库中,一些冗余字段是为了便于日后维护、分析、拓展而添加的,这点是非常重要的,比如黑客攻击,篡改了数据,我们便就可以根据修改时间和 *** 作用户IP来查找定位。

6、设计合理的表关联

若多张表之间的关系复杂,建议采用第三张映射表来关联维护两张表之间的关系,以降低表之间的直接耦合度。若多张表涉及到大数据量的问题,表结构尽量简单,关联也要尽可能避免。

7、设计表时不加主外键等约束性关联,系统编码阶段完成后再添加约束性关联

这样做的目的是有利于团队并行开发,减少编码时所遇到的问题,表之间的关系靠程序来控制。编码完成后再加关联并进行测试。不过也有一些公司的做法是干脆就不加表关联。

8、选择合适的主键生成策略

数据库的开发对于后台编程程序员来说是必备能力之一了,而今天我们就一起来了解一下,关于数据库开发的设计规范都有哪些类型,山西北大青鸟http://www.kmbdqn.cn/希望通过对本文的阅读,大家对于数据库开发有更多的了解。

一、数据库命令规范所有数据库对象名称必须使用小写字母并用下划线分割所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)数据库对象的命名要能做到见名识意,并且后不要超过32个字符临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询效率降低)二、数据库基本设计规范1、所有表必须使用Innodb存储引擎没有特殊要求(即Innodb无法满足的功能如:列存储,存储空间数据等)的情况下,所有表必须使用Innodb存储引擎(mysql5.5之前默认使用Myisam,5.6以后默认的为Innodb)Innodb支持事务,支持行级锁,更好的恢复性,高并发下性能更好2、数据库和表的字符集统一使用UTF8兼容性更好,统一字符集可以避免由于字符集转换产生的乱码,不同的字符集进行比较前需要进行转换会造成索引失效3、所有表和字段都需要添加注释使用comment从句添加表和列的备注从一开始就进行数据字典的维护4、尽量控制单表数据量的大小,建议控制在500万以内500万并不是MySQL数据库的限制,过大会造成修改表结构,备份,恢复都会有很大的问题可以用历史数据归档(应用于日志数据),分库分表(应用于业务数据)等手段来控制数据量大小5、谨慎使用MySQL分区表分区表在物理上表现为多个文件,在逻辑上表现为一个表谨慎选择分区键,跨分区查询效率可能更低建议采用物理分表的方式管理大数据6、尽量做到冷热数据分离,减小表的宽度MySQL限制每个表多存储4096列,并且每一行数据的大小不能超过65535字节减少磁盘IO,保证热数据的内存缓存命中率(表越宽,把表装载进内存缓冲池时所占用的内存也就越大,也会消耗更多的IO)更有效的利用缓存,避免读入无用的冷数据经常一起使用的列放到一个表中(避免更多的关联 *** 作)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9996278.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存