<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xsd:element name="tpcDB">
		<xsd:annotation>
			<xsd:documentation>Comment describing your root element</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:all>
				<xsd:element name="supplier" minOccurs="0" maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element name="suppkey" type="xsd:string"/>
							<xsd:element name="name" type="xsd:string" nillable="true"/>
							<xsd:element name="addr" type="xsd:string"/>
							<xsd:element name="nationkey" type="xsd:string"/>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="partsupp" minOccurs="0" maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element name="partkey" type="xsd:string"/>
							<xsd:element name="suppkey" type="xsd:string"/>
							<xsd:element name="availqty" type="xsd:string" nillable="true"/>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="part" minOccurs="0" maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element name="partkey" type="xsd:string"/>
							<xsd:element name="name" type="xsd:string" nillable="true"/>
							<xsd:element name="mfgr" type="xsd:string"/>
							<xsd:element name="brand" type="xsd:string"/>
							<xsd:element name="size" type="xsd:string"/>
							<xsd:element name="retail" type="xsd:string"/>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="customer" minOccurs="0" maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element name="custkey" type="xsd:string"/>
							<xsd:element name="name" type="xsd:string"/>
							<xsd:element name="addr" type="xsd:string"/>
							<xsd:element name="nationkey" type="xsd:string"/>
							<xsd:element name="ph" type="xsd:string"/>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="lineitem" minOccurs="0" maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element name="orderkey" type="xsd:string"/>
							<xsd:element name="partkey" type="xsd:string"/>
							<xsd:element name="suppkey" type="xsd:string"/>
							<xsd:element name="lno" type="xsd:string"/>
							<xsd:element name="qty" type="xsd:string"/>
							<xsd:element name="prc" type="xsd:string"/>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="order" minOccurs="0" maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element name="orderkey" type="xsd:string"/>
							<xsd:element name="custkey" type="xsd:string"/>
							<xsd:element name="status" type="xsd:string"/>
							<xsd:element name="price" type="xsd:string"/>
							<xsd:element name="date" type="xsd:string"/>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="nation" minOccurs="0" maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element name="nationkey" type="xsd:string"/>
							<xsd:element name="name" type="xsd:string"/>
							<xsd:element name="regionkey" type="xsd:string"/>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="region" minOccurs="0" maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element name="regionkey" type="xsd:string"/>
							<xsd:element name="name" type="xsd:string"/>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
			</xsd:all>
		</xsd:complexType>
		<xsd:key name="k1">
			<xsd:selector xpath="./supplier"/>
			<xsd:field xpath="suppkey"/>
		</xsd:key>
		<xsd:key name="k2">
			<xsd:selector xpath="./partsupp"/>
			<xsd:field xpath="partkey"/>
		</xsd:key>
		<xsd:key name="k3">
			<xsd:selector xpath="./part"/>
			<xsd:field xpath="partkey"/>
		</xsd:key>
		<xsd:key name="k4">
			<xsd:selector xpath="./customer"/>
			<xsd:field xpath="custkey"/>
		</xsd:key>
		<xsd:key name="k5">
			<xsd:selector xpath="./lineitem"/>
			<xsd:field xpath="orderkey"/>
		</xsd:key>
		<xsd:key name="k6">
			<xsd:selector xpath="./order"/>
			<xsd:field xpath="orderkey"/>
		</xsd:key>
		<xsd:key name="k7">
			<xsd:selector xpath="./nation"/>
			<xsd:field xpath="nationkey"/>
		</xsd:key>
		<xsd:key name="k8">
			<xsd:selector xpath="./region"/>
			<xsd:field xpath="regionkey"/>
		</xsd:key>
		<xsd:keyref name="fk1" refer="k3">
			<xsd:selector xpath="./partsupp"/>
			<xsd:field xpath="partkey"/>
		</xsd:keyref>
		<xsd:keyref name="fk2" refer="k1">
			<xsd:selector xpath="./partsupp"/>
			<xsd:field xpath="suppkey"/>
		</xsd:keyref>
		<xsd:keyref name="fk3" refer="k3">
			<xsd:selector xpath="./lineitem"/>
			<xsd:field xpath="partkey"/>
		</xsd:keyref>
		<xsd:keyref name="fk4" refer="k1">
			<xsd:selector xpath="./lineitem"/>
			<xsd:field xpath="suppkey"/>
		</xsd:keyref>
		<xsd:keyref name="fk5" refer="k6">
			<xsd:selector xpath="./lineitem"/>
			<xsd:field xpath="orderkey"/>
		</xsd:keyref>
		<xsd:keyref name="fk6" refer="k4">
			<xsd:selector xpath="./order"/>
			<xsd:field xpath="custkey"/>
		</xsd:keyref>
		<xsd:keyref name="fk7" refer="k7">
			<xsd:selector xpath="./customer"/>
			<xsd:field xpath="nationkey"/>
		</xsd:keyref>
		<xsd:keyref name="fk8" refer="k8">
			<xsd:selector xpath="./nation"/>
			<xsd:field xpath="regionkey"/>
		</xsd:keyref>
		<xsd:keyref name="fk9" refer="k7">
			<xsd:selector xpath="./supplier"/>
			<xsd:field xpath="nationkey"/>
		</xsd:keyref>
	</xsd:element>
</xsd:schema>
