Obligatorisk opgave nr. 6

 

I denne opgave skal anvendes Java og SQL Server 2005 Express, og al kode (incl. SQL-sætninger) skal laves uden hjælpemidler.

 

Et forlag udgiver en række tidsskrifter, som det er muligt at abbonnere på. Der skal i det følgende laves en simpel database til forlaget.

I databasen optræder der entiteterne: abbonnent og tidsskrift. En abbonnent kan abbonnere på flere tidsskrifter, og der kan være flere abbonnenter som abbonnerer på det samme tidsskrift. Med andre ord: der er en mange-til-mange relation mellem abbonnent og tidsskrift.

For hver abbonnent skal der være følgende oplysninger i databasen*: navn, addresse samt hvilke tidsskrifter den pågældende abbonnent abbonnerer på.

For hvert tidsskrift skal der være følgende oplysninger i databasen*: navn, samt hvilke abbonnenter der abbonnerer på tidsskriftet.

*) Oplysningerne skal ikke nødvendigvis alle optræde i tabeller, de kan også optræde i form af relationer mellem tabeller.

Lav en database med tabeller der opfylder 3. normalform (hint: der skal være tre tabeller!), som kan repræsentere abbonnenter, tidsskrifter og den mange-til-mange relation der er mellem dem. Lav om nødvendigt selv de relevante primær-nøgler.

 

Indsæt følgende entiteter i databasen:

Tidsskrifterne: "NetWorld", "Computers Weekly" og "Daily Iteration".

Abbonnenterne: "Jens Jensen", "Svend Svendsen", "Anders Andersen" og "Ole Olsen"

Følgende abbonnerer på:

"NetWorld": "Jens Jensen" og "Anders Andersen"

"Computers Weekly": "Anders Andersen" og "Ole Olsen"

"Daily Iteration": Alle fire abbonnerer på dette tidskrift!

 

Implementer følgende metoder i Java:

printNetWorldSubscribers(), der udskriver navnene på alle der abbonnerer på "NetWorld".

deleteComputersWeekly(), der sletter "Computers Weekly", og efterlader databasen i en konsistent tilstand!

Disse metoder skal implementeres med enten DocJava's database pakke eller direkte med JDBC. Du kan selv vælge hvilken af disse to mulighed du ønsker at anvende!

 

Bemærk: Der skal ikke laves nogen GUI i besvarelsen, da den tid det tager at opbygge en sådan, i stedet ønskes brugt på, at man arbejder med database-relevante ting.

Afleveringsfrist: Søndag d. 15. marts.
Form: Som to vedhæftede filer i en email til: flemming.k.jensen@gmail.com
Indhold: (1) En tekstfil: forlag.txt, der indholder et script som kan oprette tabeller og indsætter entiteterne fra opgaven. (2) en zip/rar-fil med kildeteksten til programmet i Java.