数据字典

数据字典

数据字典是一种行情的顺序设计者方式。可以以为,忽视什么顺序,这一切都是为了处置某个成绩。,在这里的以奇想主题布置的可能性是稍微人。、经商(超子)、网页、喉舌、数据库表、甚至需求的东西辨析等。当提出具有很多属性时,每个属性都有很多值,再说,属性的标号和属性的数量是常数。,格外地当这些量更衣很快的时分,就必然思索引入数据字典的设计方式。

数据字典有两种齐式

一,将提出的属性编码为独自的表,与提出使担忧,仅扣留提出切中要害属性的加密。在这里的属性数是常数。,可以时尚属性值的编号。

二,运用表显示具有恒等的建筑学的每个人属性数据,差数属性的差数值的一致编码,运用典型区别差数属性,属性加密保留在体内的列表。如此,提出迷住的属性的标号是变化的的。。

居第二位的种数据字典比第一种更笼统,层级高等的,它也更普通。、行情性。

这两种归结齐式有些笼统。,为阐明这两种数据字典和它们的各式各样的优点,下面是本人复杂的围住来阐明:

现时有需求,在顺序中处置公职人员数据。在这里的提出是公职人员。,优先,公职人员具有国籍。、证明和毕业文凭的属性。

比方,在公职人员数据页上的国籍下拉列表,我们家可以就用第一种的数据字典来回忆差数的正式的。假设你不采取这种方式,您需求手工开刀将每个人可能性的正式的确定敲打到页上。。率先,在效力成绩。,每个民族需求运用的局部的都是本人击倒。,要多长时间?和,假设总有一天,像南斯拉夫,突然地,为了正式的时尚了名字。,倘若需求手工开刀更改所触及的每个人页?

又比方,假设总有一天,加密的确定需求被交换。,倘若需求补充曾经躺在数据库切中要害每个人数据,现时称为状态证,总有一天据我看来打个居民状态证。以前的假设无补数据字典,就吝啬的,在数据表中回忆状态证一词是必需品的,:

公职人员表格

姓名售票引起性欲

狼状态证人

李四        状态证   女

….

为了,更改数据库确定后手工开刀更改数据库。但假设运用了数据字典,公职人员表格外面存的执意:

公职人员表格

姓名售票引起性欲

狼001人

李四       001           女

….

再说,还添加了证明表。:

证明表

证件id  证件名

001      状态证

002      暂住证

证明表执意第一种数据字典。更改文档的确定,供给状态证代替居民状态证。,只需求修正一次。并且,公职人员表格不用做稍微修正,假设你在页上运用ID,缺乏更衣。。

间或我们家需求判别顺序切中要害事情逻辑。,用:“select *  from 公职人员表 哪儿证明 ***”,以前的是一张状态证,运用数据字典后,它是001。。证明改名后,你不用手工开刀去顺序,该顺序不用再考验。、发表等。

但第一种数据字典也有边界。

运用第一种数据字典后,此外顺序切中要害公职人员类远处,需求有本人国籍类。、本人文档类和本人毕业文凭类,在应和的数据库中也需求本人国籍表。、一张证明表和一张毕业文凭表。公职人员类别需求包罗对国籍的援用。、证明的援用和反复灌输的援用。,在应和的数据库中,公职人员表也需求三个本国K。、证明表和毕业文凭表。为了的设计是实际的的,当有不足的属性,如民族。,还跟随零碎多相的增多,大方的近亲相干的数据表和数据类将用于AP,这编号字常常增多到本人不成受理的程度。。在这里的公职人员,有国籍、明显和明显的三个属性,但假设公职人员也要增多获名次属性,因而得有更多的任务清单,假设仍别的…那执意,当成功本人材料的使一体化数据时,这将使数十元纸币表在内(衔接)开刀。。

方法处理呢?

经过对上述的成绩的辨析,可以发觉的特点经过是:这些数据类的材料需求静态进行辩护。,还所需的属性是恒等的的。,应和数据库表切中要害运动场是恒等的的。。结症运动场是两个:首数与确定。首数用于表现不动的大调。,该确定用于表现在顺序间期上显示的译本。。

居第二位的种数据字典执意为了处理上述的成绩而设计的。

以下面的围住为例。迅速离开零碎切中要害国籍表格、证明表、《学历表》….,零碎加密分级表和零碎加密表绍介。

零碎加密分级表

分级确定分级确定

Country              国籍

ID                       证件

零碎加密表

首数                   分级材料

001                    Contry              中国1971

002                    Contry              美国

…..

501                    ID                    状态证

502                    ID                    暂住证

……

零碎加密表的“分级”运动场都辨向零碎加密分级表切中要害“分级首数”。为了,当顺序需求使担忧国籍的数据时,供给经过“Country”为了首数去零碎加密表中检索就可以了。为了的设计也有助于建立独自的顺序模块。。

为公职人员表格,运用第一种数据字典时,其表建筑学为:

公职人员状态证、姓名、国籍ID、证件ID、反复灌输首数…….

采取居第二位的种数据字典后,其表建筑学为:

公职人员状态证、姓名

添加属性表,该表是公职人员表格和零碎加密表的相干表,其表建筑学为:

属性ID、公职人员状态证、零碎加密表

如:

公职人员表格

公职人员状态证            姓名

1                     狼

2                   
李四

…..

《属性表》

属性ID            公职人员状态证               
零碎加密表

                                                001 
(Zhang three是中国1971人)

                                                501 
(狼的状态证是状态证)

                                                002 
(Li Si是地道美国式的)

                                                501 
(Li Si的状态证是状态证)

…..

可以看出公职人员表格的设计十足的观念化,该零碎也一切可伸缩的。,它完整恳求了次要属性的大方的更衣。。顺序的设计敷用居第二位的种数据字典时和数据库表的方式相等地。

数据字典的优点

一,      在必然程度上,零碎的行动可以经过零碎进行辩护者来时尚。,显像剂不需求出面。使零碎更衣更快,即时答复客户和市场需求的东西。

二,养育零碎的可伸缩的性、行情性,增加了提出和属性的耦合程度

三,观念化主类的事情逻辑

四,可以增加对零碎顺序的更改,虚构数据库、顺序和页一切稳固。格外地当数据量大时,可以巨大地增加开拓任务量

五,      虚构数据库表建筑学和顺序建筑学条理上更不寻常的,轻易包含,在可开拓性、可扩展性、可进行辩护性、零碎紧张有优势。

数据字典的错误

1,         数据字典是行情的设计,零碎效力会使萧条。

2,顺序算法匹敌复杂。

3,为开拓者,需求有必然的笼统构思过程,因而显像剂的需求的东西高等的。。

因而,当属性的标号不多时,用第一种数据字典那就够了。为大,非建筑学化零碎,可以采取居第二位的种数据字典来设计。方法设计本人假定的零碎,平静要看实际情况才干找到平衡点。。忽视怎样做,相干作品与语言的语音典型依然是根底。

数据字典的普通设计

下面赡养本人用数据库使掉转船头的居第二位的种数据字典表的设计。请理睬,为了设计缺点特别的的,你可以完整运用XML、字母行等齐式来设计数据字典。

数据字典表(Dictionary):

运动场名

典型

阐明

编号

字母(16)

不陆续增量(不陆续增量) Null,PK)

分级确定

VARCHAR(64)

用于过滤字典表互相牵连域

材料

Varchar(255)

根源数

字母(16)

取字典数(FK),用于依等级排列设计。使之变成树型建筑学。

发表评论

电子邮件地址不会被公开。 必填项已用*标注