简述数据库应用系统的设计步骤(简述数据库系统构成及数据设计的原则)

简述数据库应用系统的设计步骤(简述数据库系统构成及数据设计的原则),第1张

数据库设计的基本步骤:

1、系统需求分析与设计。

2、概念结构分析与设计。

3、逻辑结构分析与设计。

4、物理结构分析与设计。

5、系统实施。

6、系统维护。

扩展资料:

数据库设计技巧:

1、原始文件与实体的关系

它可以是一对一,一对多,多对多的关系。一般来说,它们是一对一的关系:一个原始文档只对应于一个实体。在特殊情况下,它们可以是一对多或多对一关系,即一个原始文档对应于多个实体,或者多个原始文档对应于一个实体。

这里的实体可以理解为基本表。在对应关系明确后,对输入接口的设计非常有利。

2、主键和外键

一般来说,实体不能既没有主键也没有外键。在E-R图中,叶中的实体可以定义主键或不定义主键(因为它没有子代),但它必须有外键(因为它有父项)。

主键和外键的设计在全局数据库的设计中起着重要的作用。当全球数据库的设计完成后,一位美国数据库设计专家说:“钥匙无处不在,只有钥匙。”。这是他数据库设计的经验,也体现了他对信息系统核心(数据模型)高度抽象的理念。

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

3、基本表的属性

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

原子性。基本表中的字段不可分解。

原始主义。基本表中的记录是原始数据(基本数据)的记录。

演绎的。所有输出数据都可以从基本表和代码表中的数据导出。

稳定。基本表的结构比较稳定,表中的记录要长期保存。

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

来源:百度百科-数据库设计

大数据量的数据库表设计技巧

即使是一个非常简单的数据库应用系统,它的数据量增加到一定程度也会引起发一系列问题。如果在设计数据库的时候,就提前考虑这些问题,可以避免由于系统反映迟缓而引起的用户抱怨。

技巧1:尽量不要使用代码。比如性别这个字段常见的做法:1代表男,0代表女。这样的做法意味着每一次查询都需要关联代码表。

技巧2:历史数据中所有字段与业务表不要有依赖关系。如保存打印发票的时候,不要只保留单位代码,而应当把单位名称也保存下来。

技巧3:使用中间表。比如职工工资,可以把每一位职工工资的合计保存在一张中间表中,当职工某一工资项目发生变化的时候,同时对中间表的数据做相应更新。

技巧4:使用统计表。需要经常使用的统计数据,生成之后可以用专门的表来保存。

技巧5:分批保存历史数据。历史数据可以分段保存,比如2003年的历史数据保存在 《2003表名》中,而2004年的历史数据则保存在《2004表名》中。

技巧6:把不常用的数据从业务表中移到历史表。比如职工档案表,当某一职工离开公司以后,应该把他的职工档案表中的信息移动到《离职职工档案表》中。

1、经常查询的和不常用的分开几个表,也就是横向切分

2、把不同类型的分成几个表,纵向切分

3、常用联接的建索引

4、服务器放几个硬盘,把数据、日志、索引分盘存放,这样可以提高IO吞吐率

5、用优化器,优化你的查询

6、考虑冗余,这样可以减少连接

7、可以考虑建立统计表,就是实时生成总计表,这样可以避免每次查询都统计一次

8、用极量数据测试一下数据

速度,影响它的因数太多了,且数据量越大越明显。

1、存储将硬盘分成NTFS格式,NTFS比FAT32快,并看你的数据文件大小,1G以上你可以采用多数据库文件,这样可以将存取负载分散到多个物理硬盘或磁盘阵列上。

2、tempdbtempdb也应该被单独的物理硬盘或磁盘阵列上,建议放在RAID0上,这样它的性能最高,不要对它设置最大值让它自动增长

3、日志文件日志文件也应该和数据文件分开在不同的理硬盘或磁盘阵列上,这样也可以提高硬盘I/O性能。

4、分区视图就是将你的数据水平分割在集群服务器上,它适合大规模OLTP,SQL群集上,如果你数据库不是访问特别大不建议使用。

5、簇索引你的表一定有个簇索引,在使用簇索引查询的时候,区块查询是最快的,如用between,应为他是物理连续的,你应该尽量减少对它的updaet,应为这可以使它物理不连续。

6、非簇索引非簇索引与物理顺序无关,设计它时必须有高度的可选择性,可以提高查询速度,但对表update的时候这些非簇索引会影响速度,且占用空间大,如果你愿意用空间和修改时间换取速度可以考虑。

7、索引视图如果在视图上建立索引,那视图的结果集就会被存储起来,对与特定的查询性能可以提高很多,但同样对update语句时它也会严重减低性能,一般用在数据相对稳定的数据仓库中。

8、维护索引你在将索引建好后,定期维护是很重要的,用dbccshowcontig来观察页密度、扫描密度等等,及时用dbccindexdefrag来整理表或视图的索引,在必要的时候用dbccdbreindex来重建索引可以受到良好的效果。

不论你是用几个表1、2、3点都可以提高一定的性能,5、6、8点你是必须做的,至于4、7点看你的需求,我个人是不建议的。

我就说一下啊你看你设计的是对个人还是对一个客户代码

很简单来说yhk你肯定有几张以上的yhk如果你的设计是类似yhk的用户把单独的用户抽象出来

还有最好用户信息和其他地址信息还有你所包括的其他的分别抽象出来就这样子吧我个人看能把这表搞成3个1对1关系的表那时不用怎么建立索引的你还少了日值字段你如何记录用户的创建日期和修改日期用户记录修改后你都不知道什么时候修改的或者说谁修改的BUG啊

本文研究区范围较大,在建库过程中,按照“一个标准,分幅入库,最后整合”的步骤,构建中亚地区数字地质图空间数据库。

1建库准备

(1)资料收集及预处理

完整、齐全而又有效的第一手资料是建立地理信息空间数据库的前提,也是对地理信息空间数据进行空间分析的基础。因此,要根据所选图幅,全面收集有关资料,以满足建库需求。资料收集主要有以下两类:①图形资料:包括相同比例尺的地理底图、地质图、矿产图等;②文字资料:主要是有关的地质报告、地质图说明书、有关规范和标准等。在全面收集资料的基础上,对资料进行系统的分析研究、综合整理及筛选后,将中亚地区地质图按300 dpi规格进行扫描。对扫描色彩较差的图像,进行适当的色彩调整,使之清晰可辨。

(2)坐标系的统一

在矢量化过程中,我们统一采用BJ54平面坐标系,1980黄海高程系作为参照系。中亚地区中央经度为81°,按3°分带在14 带内。在创建空间地理数据库(personal geodatabase)及要素数据集(feature dataset)和扫描影像几何校正时,均采用该坐标系统。

本文在ERDAS IMAGINE 92软件的支持下,对扫描地质图进行几何校正,采用多项式几何校正法,按一次方,选取图纸网格线交点作为控制点,每幅图至少选取20各控制点,进行几何校正,精度保证在05个像素以内,即10米的精度内,完成对中亚地区扫描地质图的几何校正。

(3)各要素图层、属性表的建立

按照上述技术流程,对中亚地区建立统一的矢量属性数据库,每一幅图均采用统一的空间地理数据库(personal geodatabase),每个库下建立一个要素数据集(feature dataset),每个要素数据集包含11个要素类,按几何形状分为面状要素、线状要素和点状要素三大类:①面状要素类有6个:侵入岩地层要素属性表、沉积(火山)岩地层要素属性表、变质岩地层要素属性表、蚀变带要素属性表、脉岩属性表、水域/流域面属性表;②线状要素类有2个:断层属性表、地质界线属性表;③点状要素类有3个:矿产地(点)属性表、产状属性表、火山口属性表。一个属性表就是一个图层,既保存了各地质要素的空间图形数据,又保存了属性数据。每个要素属性表的结构和字段按前文所述,一一建立。如图7-19所示。该图以赛里木湖图幅为例,列举了数据库中包含的所有图层。

2数据采集和编辑

数据采集主要是在ArcMap 环境下对校正后的地质图按各实体要素逐一进行矢量化,对个地质要素类按图层进行分类存储,按照图7-20所示的矢量化步骤,严格依照该流程设计的图层录入顺序进行矢量,这样才能提高矢量化的效率,也保证了整个图幅几何图形逻辑拓扑的一致性。手动矢量图形时,应当跟踪各类地形中心线来完成每根线条(如图7-20 a),尽量保证线条的圆滑,不应产生锐角或小尖角(如图7-20 b),在矢量时,放大的比例不能太大,一般保证当鼠标移动一个像素图上距离不超过20米为宜,如果放大比例过大,就会导致采集点过多、过密,容易造成整个线条的不圆滑(如图7-20 c)。在矢量过程中,利用ArcMap的断点捕捉功能,选择恰当的节点进行捕捉,对于线性地质要素应尽量避免接头过长或过短(如图7-20 d),对后续“线转面”生成面图层时容易造成影响。尤其对断层的矢量尤为注意,因为断层在地质图上一般都用较粗的线表示,而其他岩性界线一般很细,倘若不注意缩放比例的大小,很容易造成矢量失真,难以保证数据采集的精度。

在矢量化过程中难免会出现图7-20(a、b、c、d)所示的错误,这时我们可以利用ArcMap快捷方便的矢量工具进行修改、编辑。选择要修改的线,双击就会出现构成线的节点,用鼠标拖动,很容易将未沿中线矢量的线条拖至中央,对于矢量锐角明显、不圆滑或接头过长的线条,双击出现节点后,右键选中节点,利用d出的快捷菜单,可以进行“增加节点”“删除节点”等 *** 作,方便地进行修改和编辑。

图7-19 地质图数据库各图层的建立(以赛里木图幅为例)

在保证了对线型地质要素采集的准确性,由“线转面”时才能保证数据采集的有效性和完整性,使原纸质地质图上的信息完整、有效地进行“数字化”。利用ArcMap矢量工具的“线转面”(feature to polygon)工具,将临时线文件转换为临时面文件,设定闭合容差为10米。“线转面”完成后,要对生成的面(polygon)进行检查,看是否有遗漏,若发现至少10处以上遗漏,则重新对“临时线”图层做进一步矢量工作,完善后再转面。若小于10处,则可以在“临时面”图层进行修改和编辑,利用“线跟踪”和“creat polygon”工具进行面的增加,对于遗漏的“孤岛”则用“cut polygon”工具进行创建。

检查“临时面”图层无误后,要对其进行“分类”,按照地质图图例、柱状图等要素按沉积岩地层、侵入岩地层、变质岩地层和面状水域与沼泽进行分类。在“临时面”图层上选择所有沉积岩地层的图斑,然后导出保存在该幅地质图数据库的要素集下的要素类,命名为“临时沉积岩”要素类;依次选择侵入岩地层的图斑、变质岩地层图斑及面状水域与沼泽图斑,分别导出保存在同一个要素集下。各要素导出完成后应仔细检查看是否有分类错误或遗漏,用“面拷贝”或删除工具对该类错误进行修改。

图7-20 矢量化地质要素图

对于脉岩(面)要素、产状(线)要素、蚀变带(面)要素、火山口和矿点(点)要素基本很少与其他图层共用边界,因此,直接对这些要素单独进行矢量便可。

最后进行图形的质量检查,包括岩性划分类别检查,几何拓扑检查,检查无误且没有遗漏后,导入标准库中。这样基本完成了一幅扫描地质图11类地质要素的矢量入库工作,下一步,主要参考图例、柱状图和地质图说明书进行属性录入。如流程图7-16所示。最后,检查属性数据录入完整无误后,便可进行下一图幅的矢量工作。

3图形拼接

依次完成地质图的矢量入库工作后,下一步就是进行图形数据的拼接,属性数据库的合并。首先,将地质图数据库的11个地层,按各要素类导入一个要素集下,例如,将地质图数据库的“沉积岩地层单位”图层导入一个空的标准库中,存入一个要素集下,构成中亚地区地质图数据库。显然,此时,这个数据库里存放的所有图形数据和属性数据只是按各图幅为单位进入数据库的,难免有很多数据冗余,以及图形数据的接边问题,所以我们必须首先从图形数据的接边出发,然后再依据各图斑的属性数据进一步完善各图幅数据库的拼接。

图形的拼接主要针对数据库内面(polygon)类数据和线(line)类数据的拼接,线类数据的拼接与“线”的修改、编辑类同,不做过多阐述。重点讨论面(polygon)类型数据的图形及属性数据的拼接。

在矢量化过程中,我们按标准图框进行分幅。用标准图框的线来裁切“临时线”再转换为面(polygon)数据,所以从整体上来说,各图幅图形数据的接边难度不大。只存在由于各图幅几何校正精度的差异引起的图幅间细小的缝隙或重叠,在几何校正时我们尽量保证每幅图的校正精度在05个象元,图上距离在10米以内,因此,图幅间这些细小的缝隙或重叠区域大多在容差以内,对重叠部分可以用“merge”工具进行简单的合并,对于有缝隙的区域,可以参照该区域相邻的图斑,利用“线跟踪”、“creat polygon”创建新的面,然后将其归并到与之相邻且面积较大的图斑中去。

由于这类空隙和重叠区域较为细小,研究区覆盖范围较大,如果用肉眼一个边界一个边界的去寻找、修改,较繁琐,且容易遗漏,造成拼接的不完整。这时,我们可以利用ArcGIS提供的拓扑图层进行检查,将中亚地区地质图数据进行完整的拓扑检查,根据可能出现的图形错误,设定拓扑检查规则。在本文研究区数据拓扑处理过程中,主要采用“must not have gaps”——“不能有空区”、“must not overlap”——“不能有交集”等规则,能够快速检索出因几何校正精度不一致而引起的“空隙”和“重叠”部分,并直观地将有“空区”或“有重叠部分”的图斑用红色标识出来,能方便的对出现这些区域的图形进行修改、编辑。利用拓扑检查,大大提高了图形拼接的效率和质量,并且减少了人为的错误及遗漏。

另外,利用ArcGIS的“dissove”工具,也可以快速完成这些细小的“空隙”和“重叠”带来的图形拼接工作。选择要处理的图层,然后设定适当的容差,将该要素图层按某个字段进行合并,能迅速完成该图层的拼接。由于该工具在合并图斑时,只要各图斑所选的字段相同,都合并为一个大的图斑,且属性也进行合并,生成新的“multipolygon”类型的图层。所有,还应利用“multi-part to single part”转换为单个的“polygon”类型的数据才能完成真正的图形拼接工作。

图7-21 中亚地区数字地质图空间数据库的组成

通过上述讨论和分析,采用ArcGIS便捷的工具菜单,对标准图框进行分幅入库的图形数据和矢量数据,可以快捷、高效的完成图幅的拼接工作,完成中亚地区数字地质图空间数据库的构建。如图7-21所示。每个要素类包括一个图形图层和一个与之对应的属性数据表。通过图形即可方便地进行属性的查询,也可通过属性表的字段来查询相关的地质要素。中亚地质图数据库的建立,为进行GIS空间分析,成矿信息的提取以及证据权计算奠定了数据基础,提供了数据分析平台。

什么是好的数据库设计?

一些原则可为数据库设计过程提供指导。第一个原则是,重复信息(也称为冗余数据)很糟糕,因为重复信息会浪费空间,并会增加出错和不一致的可能性。第二个原则是,信息的正确性和完整性非常重要。如果数据库中包含不正确的信息,任何从数据库中提取信息的报表也将包含不正确的信息。因此,基于这些报表所做的任何决策都将提供错误信息。

所以,良好的数据库设计应该是这样的:

将信息划分到基于主题的表中,以减少冗余数据。

向Aess提供根据需要联接表中信息时所需的信息。

可帮助支持和确保信息的准确性和完整性。

可满足数据处理和报表需求。

设计过程

设计过程包括以下步骤:

确定数据库的用途:这可帮助进行其他步骤的准备工作。

查找和组织所需的信息:收集可能希望在数据库中记录的各种信息,如产品名称和订单号。

划分到表中的信息:将信息项划分到主要的实体或主题中,如“产品”或“订单”。每个主题即构成一个表。

关闭信息项目导入的列确定希望在每个表中存储哪些信息。每个项将成为一个字段,并作为列显示在表中。例如,“雇员”表中可能包含“姓氏”和“聘用日期”等字段。

指定为主键:选择每个表的主键。主键是一个用于唯一标识每个行的列。例如,主键可以为“产品ID”或“订单ID”。

设置表关系:查看每个表,并确定各个表中的数据如何彼此关联。根据需要,将字段添加到表中或创建新表,以便清楚地表达这些关系。

优化您的设计:分析设计中是否存在错误。创建表并添加几条示例数据记录。确定是否可以从表中获得期望的结果。根据需要对设计进行调整。

应用规范化规则:应用数据规范化规则,以确定表的结构是否正确。根据需要对表进行调整。

1、一对一可以两个实体设计在一个数据库中l例如设计一个夫妻表,里面放丈夫和妻子

2、一对多可以建两张表,将一这一方的主键作为多那一方的外键

3、多对多可以多加一张中间表,将另外两个表的主键放到这个表中

用户信息表,朋友表

朋友表 跟用户表要有关联关系,

朋友表要有可以分组,要加个分组标志,不同的分组用不同的标志

聊天信息的话,就要另外设计一个表,聊天对象,聊天内容,聊天时间等

如果有类似与QQ群的功能的话,还要建个群成员表,群成员的聊天信息,将会又是一个表

如果需求大的话,可以按照地区分别建立一个数据库,用来保存聊天信息

主库可以保存用户信息,QQ群之类的

地区库,可以保存用户的聊天记录等

可以按照时间来适当的清楚一些聊天记录,以防数据量过大

以上就是关于简述数据库应用系统的设计步骤(简述数据库系统构成及数据设计的原则)全部的内容,包括:简述数据库应用系统的设计步骤(简述数据库系统构成及数据设计的原则)、大数据量的数据库表设计技巧、oracle 数据库表的设计,分区和索引的设计等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存