数据库设计说明书
XXX系统
Version Number: V 1.0  2021
1.编写目的
数据是系统的生命,数据能否为系统所用是系统成败的关键。
编写本说明书的目的是为数据采集建库人员和系统数据维护提供依据,为以后的数据入库修改和维护提供条件。该文档最终将作为设计人员进行设计的基本出发点,并对后续阶段的工作起指导作用。
2.设计概要
2.1数据库选型
XXXX项目系统采用MySQL数据库,MySQL数据库是一款广泛应用在于小型企业或者组织中
的小型数据管理系统,MySQL数据库因其体积小、速度快、总体拥有成本低受到中小企业的热捧。
2.2设计总述
数据库设计具体要求如下:
1)数据库设计必须考虑支持未来业务的变化
数据库设计说明书的目的
2)数据库设计必须考虑应用的性能要求,对于性能紧要的数据需特殊考虑
3)数据的处理:
数据库中的数据采用统一的数据更新模块,保证数据维护的统一性;
数据更新的形式具备灵活性和多样性,便于实际应用于扩展;
随着系统的运行,需要对历史数据进行处理。
4)合理的数据备份和恢复机制,保证海量数据的存储和空间数据的关联。
5)数据库的关联关系所有数据资源集中管理、维护和分发,分布式使用,和业务上的联系都能通过数据的相关特征进行关联和体现。数据的关联关系最后能够在系统应用的过程中体现,即最终实现“图-表-文”的一体化管理。
6)数据库的优化提供完整的数据库优化方案。
2.3数据库分布
目前主要分布存储的方式都是按照一定的方式进行切分,主要是垂直切分(纵向)和水平切分(横向)两种方式,当然,也有两种结合的方式,达到更到的切分粒度。
1)垂直切分(纵向)数据是数据库切分按照网站业务、产品进行切分,比如用户数据、博客文章数据、照片数据、标签数据、组数据等等每个业务一个独立的数据库或者数据库服务器。
2)水平切分(横向)数据是把所有数据当作一个大产品,但是把所有的平面数据按照某些Key(比如用户名)分散在不同数据库或者数据库服务器上,分散对数据访问的压力
2.4安全与保密
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。计算机系统都有这个问题,在数据库系统中大量数据集中存放,为许多用户所共享,安全问题更为突出。数据库是房屋安全管理系统的重要基础,一旦数据丢失或遭到破坏、泄漏,都将造成重大的损失。因此建立良好的数据库安全保护机制,用以防范一切对数据库的物理破坏与读写破坏,并能以最快的速度使其恢复工作,是数据库,也是本系统建设与顺利运行实施的必备条件,本系统数据库必须具备保护数据以及在发生故障的情况下恢复数据的能力。
本系统的数据库安全保密设计主要遵循以下五个数据保护和故障恢原则:
专用性原则:数据的专用性指的是对数据库的存取控制,即库中的某些数据只对一定范围的人员作一定程度的开放,无权人员(包括管理数据的专业人员和数据库管理员)或不能阅读,或允许阅读而不能更改等。
安全性原则:数据的安全性指的是如何采取必要的措施使数据库中的数据免遭破坏或损失。这种破坏或损失可能是物理上的,如火灾、地震、存储设备被盗或存贮介质的损害等非数据库系统本身范畴;也可能是系统逻辑上的,如程序错误或操作错误等。为了保护数据的安全,可采取一些硬件防护措施和软件防护措施。
完整性原则:数据的完整性指的是在系统中采取一些措施以保证数据在逻辑上的正确性或合理性,以避免不和逻辑的或荒谬的数据出现,在共享数据库的情况下,还要保证数据的一致性。
并发性原则:数据库系统允许多个用户共享数据,尤其是多个用户同时存取同一数据对象。如此,即时没有任何故障和程序错误,这种并发操作也很可能会导致对数据库一致性、完整性的破坏。因此本系统必须对数据库并发操作进行适当的处理和控制,即进行并发控制。
故障恢复原则:在数据库系统运行中,很难做到不出故障。这些故障是多种多样的,硬件的、软件的、系统的、用户的,都可能发生意外而导致破坏数据库。所谓恢复是指将遭到破坏的数据库还原到破坏前的正确状态。系统在数据遭到破坏时,应能够尽快地使它恢复正常运作。数据库系统通常采用建立副本(转贮或倒库)、日志、检查点、差分文件和提交事务等策略进行恢复。
2.5数据备份和恢复
备份就是对相关数据库或事务日志进行备份,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。
备份数据库的主要目的是为了防止数据的丢失。造成数据的丢失包括如下几种情况:
1)由于不准确的更新而造成的数据的不正确;
2)由于病毒的侵害而造成的数据的丢失或损坏;
3)存放数据的物理磁盘或机器的损害;
4)由于自然灾害而造成的损坏。
在一个正常运转的数据库系统中,除了用户的数据库之外,还有维护系统正常运行的系统数据库,因此,我们在备份数据库时,不但要备份用户的数据库,同时还要备份系统的数据库,以保证在系统出现故障时,能够完全地恢复数据库。通常情况下,备份都选在数据库操作少的时间进行,比如在夜间进行,这样可以减少对备份和数据操作性能的影响。至于多长时间备份一次,由数据的更改频率和用户能够允许的数据丢失多少有关。如果数据修改比较
少,或者用户可以忍受的数据丢失时间比较长,则可以使备份的间隔长一些,否则的话,可以让备份的时间间隔短一些。