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.