数据库应用-XML数据存储(XML Speicherung)-2
来源:互联网 发布:戚家刀 淘宝 编辑:程序博客网 时间:2024/05/16 23:49
STORED
使用RDMS
RDMS即关系型数据库管理系统。
目的:
目的是为了通过使用RDMS来管理半结构化数据
上一节已经了解基本的从XML文档,生成对应的关系视图集(因为一个XML文档,可能生成多个表不是吗)的方法。下面我们要学习的是,如何使生成的表能够更好的反映文档的结构。
inlining(Mengenwertigkeit)
RDBMS中存在管理集的标准的技术(
一个关系集中的不同的表,可以通过join来互相连接(Bestandteile der Menge in separater Relation, Verknüpfung über Fremdschlüssel)
另外一个问题是什么时候用哪种表达比较好呢??//为什么问题变了??而且怎么就没了??还没说inlining是什么呢??
STORED
STORED是Semistructured TO RElational Data的缩写。
目的是,再说一遍通过使用RDBMS来管理半结构化的数据
在这里应该注意的是,并没有生成真实的表格,而是定义了关系视图(View)(Auswahl und freie Definition der relationalen Sichten, keine generischen Tabellen)
可能出现的问题
- Auswahl der Sichten, die man materialisieren will…
- mögliche Randbedingungen:…
- Plattenplatz, Maximalanzahl von Relation.
- 关系视图只包含了文档的部分内容。
//上面三个因为旷课,所以。。。暂时不全不能。
//S9-10给的图和表达感觉有点出入,待查。里面写着RDBMS的Schema由文档的类型决定,但它给的图确说明了是有文档的内容决定。
Storage Queries
Storage Queries 用于描述从半结构化的数据岛关系模型的映射。
例子:
M1a=
From Audit.taxpayer:$X
{name:$N, adr: $P, OPT{audited: $A}, OPT{taxamount:$T}}
where typeOF($P, “string”)
STORE Taxpr($X, $N, $P, $A, $T)
M1b=
FROM Audit.taxpayer:$X
{
name: $N,
adr:{street $S, OPT{city $C, OPT{zip $Z}},
OPT{audited: $A}, OPT{taxamount: $T}
}
STORE Taxpr ($X, $N, $S, $C, $Z, $A, $T)
一点注解:
1. from语句后面的属相默认为key属性。(Erste Variable in der FROM-Klausel ist per Default Schlüssel-Variable(d.h. man geht davon aus, dass Objekte OID haben, die man auslesen kann).)
2. Opt属性如果没有给出那么指默认为NULL值。
//小问题,当必须的属性没有赋值的时候会怎么样呢??
3. 一般情况下,同一组数据可以由多种不同的视图
例子2:
M2=
FROM Audit.taxpayer: $X
{name[1]: $N, audited[1]:$A1, OPT{audited[2]:$A2}}
STORE Taxpr2($N, $A1, $A2)
一点注解:
对象的不同的出线可以指向相同的Label(Objekt kann mehrere ausgehende Kanten mit gleichem Label haben.)
例子3:
M3a=
FROM Audit.irscenter: $X
{centername: $N, centeraddress: $A}
STORE IrsCenter($X, $N, $A)
M3b=
FROM Audit.irscenter: $X.hearing: $Y
{hearingdate: $D, taxpayername: $TN, auditorname: $AN, decision: $Z}
KEY $Y
STORE Hearings($Y, $X, $D, $TN, $AN, $Z)
又是一点注解
例子阐释了如何处理集(irscenter包含了hearing元素集)(Beispiel illustriert Umgang mit Mengen. irscenter enthält Menge von hearing-Elementen)//这个不是很了解,还有hearing是什么鬼???是另一个文档的吗?但是当前文档是不包含有这个东西的啊???
另外这里的KEY可以算是多余的。
例子4
已知有模型(Muster):Audit.taxpayer: {name[1], phone[*]}
M2=
FROM Audit.taxpayer: $X{name: $Y, phone: $Z}
KEY $Z
STORE R2($X, $Y, $Z)
一点注解:
默认key属性为Muster中的第一个属性。否则的话则需要通过KEY显示的表示出来。
尽管在文档中Taxpayer-ID只出现一次,但是在关系中他可以多次出现(Taxpayer-ID kann als Attribut in Relation mehrmals vorkommen(obwohl in Dokument nur einmal))//不是很懂??
//其实不懂Muster是什么东西,是已经建好的Storage Queries吗??
例子5
Audit.taxpayer: {name[1], phone[2], address[1]:{street[1], city[1]}}
一点注解:
phone[1]可以不用(phone[1] kann weggelassen werden)
Overflow Graph
文档的其余内容,通过EDGE格式进行存储(Rest der Dokument.Speicherung im EDGE-Format.)
到目前为止的总结
Gegenüberstellung Dokumenttyp-spezifischer vs. generischer Speichrung.
Verdeutlichung, warum zweite Alternative überlegen.
Abbildung XML
mining
视图的选择
正如题目提到的,在书写具体的Storage Queries,我们应该先确定我们要求的是一个怎样的视图。我们应该找到一种常用的结构模式,然后构建对应的Storage Queries。(Wie kommt man zu den Storage Queries??(Strukturelle) Patterns finden, die häufig vorkommen. Diese Patterns auf Storage Queries abbilden)
Support eines Patterns:
我们用Pattern出现的次数来表示Pattern的支持度(Support eines Patterns)或者,换种表示方式,我们用包含有Pattern的文档的数量表示其支持度。
//其实不懂这个Pattern,究竟是指什么东西???
Query Support eines Patterns:
给定一个访问的集合
Pattern P的访问支持度越高,代表着越多的访问对应的结果包含有P。(Je größer Query-Support, für desto mehr Queries ist das Pattern Teil des Ergebnisses)
知道高访问支持度的Pattern对我们有什么好处呢??
(Was es nützt mir, Patterns mit hohem Query Support zu kennen/ explizit in Relatioinen abzulegen??)
Pattern的支持度是不是就代表了Pattern出现在数据库中的频率呢??
Pattern的访问支持度又能否代表访问包含有Pattern的频率呢??
(Eventuell mit Gewichtung der Anfragen.??)
Datenbestand, Queries - ebenfalls Patterns//三个名词,不知表示什么意思??
上方为三个访问,下面是两个Pattern。左边的Pattern的Query-Support为3,右边的为1.
现在我们的目的改变为:
1. 寻找具有高Query Support的Muster
2. Muster之间的重叠应该尽可能的少(为什么?)
如果重叠高的话,也就以为着文档中的同一个片段将被多次的选用。(Ausschnitt des Dokument wird i.Allg. mehrmals erfasst.)
在Subsuming Query的时候一般只用一个Muster的实例(什么意思???)(Für Subsuming Query braucht man i.d.R. nur Instanzen eines Musters.)
Frequent Pattern Mining
目的:找出所有(Query-)Support大于给定的阀值的Pattern(称这些Pattern为Frequent Pattern)
Frequent Pattern是选择关系视图的依据。
视图选择的算法
1. 得出所有支持度达标的Label Paths,也就是
2. 构建Frequent Patterns
3. 并不是每个Frequent Pattern都对应一个视图,因此应该使用使用贪心算法选出对应的Pattern:
*通过选出
*
4. 选择每个Pattern的必选和可选属性:太多的可选属性以为着可能会有很多得NULL值,另外和其他Pattern的重叠也可能会更多。但是如果可选属性太少的话,产生的数据好像略少(zu wenige Daten werden gemacht)
5. 生成Storage Queries
另外应该注意区分一下两种状况:
//其实还体会不到区别????
Man unterscheidet mehrere Fälle:
Query sucht Pattern, das exakt mit einer Sichtdefinition übereinstimmt- einfacher, angenehmer Fall. Q=V
Query sucht Pattern, das ‘Storage Pattern’ enthält: In diesem Fall mehrstufiges Query-Processing, wie zuvor besprochen. Q
S29-30不懂
- 数据库应用-XML数据存储(XML Speicherung)-2
- 数据库应用-XML数据存储(Speicherung von XML Daten)-1
- XML存储数据与数据库备份
- 获取xml数据库节点数据应用
- XML如何存储数据
- cocos2dx xml 数据存储
- xml数据存储
- 数据存储和xml
- Android_数据存储XML
- xml应用以及从数据库读出数据形成XML,XML的查询,xpath
- Win8应用开发数据存储及xml文件读写
- 应用数据存储方式(XML属性列表-plist)
- ios应用数据存储方式(XML属性列表-plist)
- 把XML文件中的数据存储到Oracle数据库
- XML数据导入数据库
- 数据库XML数据查询
- 使用.NET存储XML数据
- 使用.NET存储XML数据
- WebForm获取GET或者POST参数到实体的转换,ADO.NET数据集自动转换实体
- Android中View的事件分发机制——Android开发艺术探索笔记
- ORACLE里几种锁模式
- incredibuild 命令行 error D8037
- 欢迎使用CSDN-markdown编辑器
- 数据库应用-XML数据存储(XML Speicherung)-2
- c语言入门之项目4.3——利用for循环求1-1/2*2+1/2*2*2...-1/2*2*2*2到2的8次方
- webstorm Can't use Subversion command line client: svn
- iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总
- Spring代码分析一:加载与初始化
- 在Spring3中,配置DataSource的方法有6种
- Windows下Nginx的启动、停止等命令
- switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
- Google Guava 类库 笔记