Advanced Databases (DB2)

4. Übungsblatt

Aufgabe 9: Redundante Assoziationsregeln

10
Wir betrachten folgende Transaktionen:
t1 ={Bier,Windeln,Chips}, t2 ={Chips,Bier}, t3 ={Bier}
Zusätzlich seien folgende Assoziationsregeln gegeben:
{Bier} → {Windeln}, {Windeln} → {Bier}
{Bier} → {Chips}, {Chips} → {Bier}
{Chips} → {Windeln}, {Windeln} → {Chips}
{Bier} → {Chips, Windeln}, {Chips, Windeln} → {Bier}
{W indeln} → {Chips, Windeln}, {Chips, Windeln} → {Windeln} {Windeln} → {Bier, Chips}, {Bier, Chips} → {Windeln} {Chips} → {Bier, Windeln}, {Bier, Windeln} → {Chips}
{Bier, Chips} → {Bier, Chips, Windeln}, {Bier, Chips, Windeln} → {Bier, Chips}
Bestimmen Sie alle redundanten Assoziationsregeln und geben Sie jeweils eine Begründung an.
Sie dürfen Items und Regeln dabei wie folgt abkürzen:
{Chips} → {Bier,Windeln} =ˆ C → BW
100%
RegelBegründung
CW→BRedundanzregel
CW→WTrivialitätsregel
BCW→BCTrivialitätsregel
W→CWRedundanzregel
W→BCRedundanzregel

Trivialitätsregel: Wenn rechts nur Terme der linken Seite vorkommen

Redundanzregel: Wenn Regeln mit der Konfidenz=1 durch Regeln mit Konfidenz<1 ersertzt werden können.

Aufgabe 10: XML: DTD und Schema

20
Wir betrachten Xml-Dokumente, wie unten zu sehen, bei denen
  • jedes Flug–Element maximal zwei Zwischenstopp–Subelemente besitzen kann;
  • das Attribut Maschine bei Flug das Attribut Typ bei Flugzeug referenziert.
<Fluggesellschaft>
        <Fluege>
             <Flug FlugNr=‘LH12’ Maschine=‘AB123’>
                   <Start> Moskau </Start >
                   <Ziel> Berlin </Ziel>
                   <Zwischenstopp Aufenthalt=‘30’> Minsk </Zwischenstopp>
                   <Zwischenstopp> Warschau </Zwischenstopp>
                   <Gebucht> 346 </Gebucht>
             </Flug>
             <Flug FlugNr=‘LH34’ Maschine=‘AB234’>
                   <Start> Berlin </Start>
                   <Ziel> Frankfurt </Ziel>
                   <Gebucht> 147 </Gebucht>
             </Flug>
        </Fluege>
        <Flugzeuge>
               <Flugzeug Typ=‘AB123’>
                     <Kapazitaet> 320 </Kapazitaet>
               </Flugzeug>
               <Flugzeug Typ=‘AB234’>
                     <Kapazitaet> 280 </Kapazitaet>
               </Flugzeug>
        </Flugzeuge>
</Fluggesellschaft>
  1. Geben Sie eine passende DTD für Xml-Dokumente der obigen Form an.
  2. Geben Sie ein passendes Xml Schema für Xml-Dokumente der obigen Form an. Hinweis: Nutzen Sie unbedingt selbst definierte complexTypes, wie in der Vorlesung beschrieben.
0%
DTD:
<!DOCTYPE Fluggesellschaft [
<!ELEMENT Fluggesellschaft (Fluege, Flugzeuge)>
<!ELEMENT Fluege (Flug*)>
<!ELEMENT Flug (Start, Ziel, Zwischenstopp*, Gebucht)>
<!ATTLIST Flug
	FlugNr	#PCDATA #REQUIRED
	Maschine	#PCDATA	#REQUIRED	
>
<!ELEMENT Start (#PCDATA)>
<!ELEMENT Ziel (#PCDATA)>
<!ELEMENT Zwischenstopp (#PCDATA)>
<!ATTLIST Zwischenstopp
	Aufenthalt	#PCDATA	IMPLIED
>
<!ELEMENT Gebucht (#PCDATA)>
<!ELEMENT Flugzeuge (Flugzeug*)>
<!ELEMENT Flugzeug (Kapazitaet)>
<!ATTLIST Flugzeug
	Typ	#PCDATA	#REQUIRED
>

]>


XML-Schema:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

	<xs:element name="Fluggesellschaft" type="FluggesellschaftType" />
	<xs:complexType name="FluggesellschaftType">
		<xs:sequence>
			<xs:element name="Fluege" type="FluegeType" />
			<xs:element name="Flugzeuge" type="FlugzeugeType" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="FluegeType">
		<xs:sequence>
			<xs:element name="Flug" type="FlugType" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="FlugType">
		<xs:sequence>
			<xs:element name="Start" type="xsd:string" />
			<xs:element name="Ziel" type="xsd:string" />
			<xs:element name="Zwischenstopp" type="ZwischenstoppType" minOccurs="0" maxOccurs="2" />
			<xs:element name="Gebucht" type="xsd:int" />
		</xs:sequence>
		<xsd:attribute name="FlugNr" type="xsd:string"/>
		<xsd:attribute name="Maschine" type="xsd:string"/>
	</xs:complexType>
	
	<xs:complexType name="ZwischenstoppType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
			<xsd:attribute name="Aufenthalt" type="xsd:int" use="optional" />
		</xs:simpleContent>
	</xs:complexType>
	
	<xs:complexType name="FlugzeugeType">
		<xs:sequence>
			<xs:element name="Flugzeug" type="FlugzeugType" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="FlugzeugType">
		<xs:sequence>
			<xs:element name="Kapazitaet" type="xsd:string" />
			<xsd:attribute name="Typ" type="xsd:int"/>
		</xs:sequence>
	</xs:complexType>

</xs:schema>