Skip to content
Snippets Groups Projects
Commit 6e6c4db2 authored by Goik Martin's avatar Goik Martin
Browse files

Airline example

parent 4698142a
No related branches found
No related tags found
No related merge requests found
DROP TABLE IF EXISTS Flight;
DROP TABLE IF EXISTS Destination;
DROP TABLE IF EXISTS Airline;
CREATE Table Airline (
id INT NOT NULL PRIMARY KEY
,name CHAR(20) NOT NULL UNIQUE
,airlineCode CHAR(5)NOT NULL UNIQUE
);
CREATE TABLE Destination (
id INT NOT NULL PRIMARY KEY
,fullName CHAR(20) NOT NULL
,airportCode CHAR(20) NOT NULL UNIQUE
);
CREATE TABLE Flight (
id INT NOT NULL PRIMARY KEY
,flightNumber CHAR(10) NOT NULL UNIQUE
,airline INT NOT NULL REFERENCES Airline
,origin int NOT NULL REFERENCES Destination
,destination int NOT NULL REFERENCES Destination
);
......@@ -594,9 +594,111 @@ drwxr-xr-x 4 goik fb1prof 4096 Nov 8 22:04 ..
connection.</para>
</section>
 
<section xml:id="toolingConfigJdbc">
<titleabbrev>Tooling</titleabbrev>
<section xml:id="repeatRelational">
<title>Some notes on relational databases</title>
<qandaset defaultlabel="qanda" xml:id="airlineRelationalSchema">
<title>Airlines, airports and flights </title>
<qandadiv>
<qandaentry>
<question>
<para>Implement a relational schema describing airlines,
flights, airports and their respective relationships:</para>
<itemizedlist>
<listitem>
<para>Airline:</para>
 
<itemizedlist>
<listitem>
<para>An informal unique name like e.g.
<quote>Lufthansa</quote>.</para>
</listitem>
<listitem>
<para>A unique <link
xlink:href="http://en.wikipedia.org/wiki/List_of_airline_codes">ICAO
abbreviation</link>. </para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>Destination</para>
<itemizedlist>
<listitem>
<para>Full name like <quote>Frankfurt am Main
International</quote></para>
</listitem>
<listitem>
<para>World airport code like
<quote>FRA</quote>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>Flight</para>
<itemizedlist>
<listitem>
<para>A unique flight number e.g. LH 4234</para>
</listitem>
<listitem>
<para>The <quote>owning</quote> airline.</para>
</listitem>
<listitem>
<para>originating airport</para>
</listitem>
<listitem>
<para>destination airport</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<para>Provide surrogate keys for all entities.</para>
</question>
<answer>
<programlisting language="sql">DROP TABLE IF EXISTS Flight;
DROP TABLE IF EXISTS Destination;
DROP TABLE IF EXISTS Airline;
CREATE Table Airline (
id INT NOT NULL PRIMARY KEY
,name CHAR(20) NOT NULL UNIQUE
,airlineCode CHAR(5)NOT NULL UNIQUE
);
CREATE TABLE Destination (
id INT NOT NULL PRIMARY KEY
,fullName CHAR(20) NOT NULL
,airportCode CHAR(20) NOT NULL UNIQUE
);
CREATE TABLE Flight (
id INT NOT NULL PRIMARY KEY
,flightNumber CHAR(10) NOT NULL UNIQUE
,airline INT NOT NULL REFERENCES Airline
,origin int NOT NULL REFERENCES Destination
,destination int NOT NULL REFERENCES Destination
);</programlisting>
</answer>
</qandaentry>
</qandadiv>
</qandaset>
</section>
<section xml:id="toolingConfigJdbc">
<title>Tooling: Configuring and using the <link
xlink:href="http://www.eclipse.org/datatools">Eclipse database
development</link> plugin</title>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment