Gegevensbanken

Ga naar: navigatie, zoeken
Fout bij het aanmaken van de miniatuurafbeelding: Bestand is zoek

Informatie over het examen

mondeling examen met schriftelijke voorbereiding: Het examen bestaat uit 3 hoofdvragen. De eerste en (later) de tweede vraag worden na een bepaalde periode opgehaald. Je krijgt een blad met SQL syntax, maar deze is te beperkt om al je query's mee te kunnen maken. Dingen die ontbreken zijn bvb de syntax voor selecties (keywords als IN, EXISTS, COUNT, MAX, ...) en permissies (GRANT). Syntax van buiten kennen dus!

Het examen bestaat dus uit 3 delen:

  1. Een ER/EER schema
  2. queries(relationele algebra,relationele calculus & SQL)
  3. een aantal kleine theorievragen --> een aantal vragen + antwoord zijn gebundeld op de site van cw2006: pdf

Op toledo staat een extra oefening over ER schemas en 50 extra query oefeningen. Gebruik ze want die vragen tellen voor 2/3 van het examen

Enkele persoonlijke bevindingen

  • De prof heeft ook graag dat je definities correct verwoordt, tot in de kleinste details.
  • De prof heeft ook graag lange antwoorden op korte vragen.
  • Als je mondeling gaat afleggen en de prof heeft om één of andere reden de verbeterde oefening die je moest afgeven nog niet, zal hij dat jou persoonlijk verwijten. Ga dus niet als eerste. (Dit is al meermaals gebeurd)

Examenvragen

2008-06-12, 13:00

Vraag 1

  • 5 queries over een gegeven relationeel schema. De eerste in relationele algebra, de tweede in SQL, de derde in relationele tupelcalculus, de vierde opnieuw in SQL en tenslotte een view in SQL.

Vraag 2

  • Op welke manieren kan je een superklasse/subklasse relatie voorstellen in een relationele gegevensbank?
  • Modelleer het EER-model voor een reservatiesysteem van tickets in een theaterzaal. Daarna moet je het EER-model omzetten naar een relationeel model.

Vraag 3

  • Gegeven een relatie met vijf attributen, een verzameling met drie functionele afhankelijkheden en drie verzamelingen van attributen. Welke van deze verzamelingen zijn kandidaatsleutels? Geef mogelijke sleutels van deze relatie. Normaliseer de relatie in derde normaalvorm of Boyce-Codd normaalvorm.
  • Bespreek indexen op bestanden. Welke indexen ken je, waarvoor worden ze gebruikt en hoe zijn ze georganiseerd?
  • Hoe worden de verschillende soorten relaties uit het ER-model voorgesteld in het netwerkmodel?
  • OQL-query opstellen aan de hand van het objectrelationele model 'University' uit het handboek en de implementatie van de klassen.

2008-06-09, 8:00

Vraag 1

  • 5 SQL queries over gegeven relationeel schema, waarvan 1 relationele algebra, 1 tuple relationele calculus en 1 view. Niet al te moeilijk.

Vraag 2

  • Op welke manieren kan je een superklasse/subklasse relatie voorstellen in een relationele gegevensbank?
  • EER diagramma maken. Vrij omslachtig om alles een beetje ordelijk op papier te krijgen.

Vraag 3

  • Bespreek indexen op bestanden. Welke indexen ken je, waarvoor worden ze gebruikt en hoe zijn ze georganiseerd?
  • Hoe worden de verschillende soorten relaties uit het ER-model voorgesteld in het netwerkmodel?
  • Uitleggen wat view integratie is, wat zijn de problemen, mogelijke oplossingen?
  • Uitleggen wat 2 fasen vergrendeling/serialiseerbaar rooster is. En een oefening waar ge 2 fasen vergrendeling moet toepassen.

2008-06-09, 13:00

Vraag 1 en 2

  • Zelfde als 8:00

Vraag 3

  • B+-bomen: Wat zijn ze? Waarvoor worden ze gebruikt? Wat zijn de belangrijkste eigenschappen? Voordelen?
  • Gegeven een relatie R. Vind een sleutel. Normaliseer tot 3NF/BCNF.
  • Gedistribueerde gegevensbank: op welke manieren kan je een equijoin uitvoeren?
  • Permissies in SQL. Een paar SQL-opdrachten maken.

-prof stelt het erg op prijs dat je met views (ingewikkelde queries, permissies) werkt i.p.v. moeilijk te doen-

2007-06-28, 8:00

Zie onderstaand examen. Allerlaatste stukje van vraag drie was een stuk over permissions ipv XML, je kreeg een aantal restricties opgelegd waar je het SQL commando voor moest geven.

2007-06-25, 8:00

vraag 1

6 Queries, 4 SQL, 1 tupel calculus en 1 relationele algebra. Wat ik mij nog herinner:

  • Je hebt een schema met daarin een relatie Persoon (naam,voornaam, geboorteplaats,...), Foto (plaats, datum, fotonr), een relatie tussen foto en persoon, en een relatie persoon persoon (ouder/kind).
  • Geef alle foto's genomen op plaats ... waarbij minstens 3 generaties van een familie voorkomen met gelijk geslacht (dus bvb grootmoeder, moeder dochter of grootvader, vader, zoon.
  • Geef een lijst van de perso(o)n(en) die het meest voorkomen op de foto's
  • Geef een lijst van mensen die enkel gefotografeerd werden in hun geboortestad
  • maak een view ... met heel gepeperde query :)

hint Persoonlijk heb ik 20 minuten verloren aan het overschrijven van klad naar net, wat zoveel tijd was dat ik de laatste query niet heb kunnen maken. Die queries zijn vaak heel erg lang, en dus veel schrijfwerk-> houd daar rekening mee gezien je maar anderhalf uur hebt.

Vraag 2 Maak een (E)ER schema voor een omschreven situatie. Persoonlijk vond ik dat een zeer gemakkelijke vraag. Let wel op: mensen die ook ontwikkeling van bedrijfstoepassingen hebben gedaan: in gegevensbanken mag je geen 1...N zetten om de cardinaliteit van een relatie aan te duiden (oeps ;) ) Deze vraag moet je in 1u15 maken, wat me (dankzij het niet maken van een klad en van de eerste keer mooi tekenen) wel gelukt is :)

Vraag 3

  • Leg enkele manieren van dynamische hashing uit
  • Wat is View integratie, welke problemen kan je tegenkomen, hoe pak je dit aan?
  • Zet in 3NF of BCNF, kies een sleutel voor een bepaalde opgave.
  • stel dat de gegevensbank uit vraag 1 in XML gezet is, maak een query die naam en geboorteplaats ofzo geeft voor iedereen die minstens 1 maal op zijn geboorteplaats gefotografeerd is. Je moet dus de XPath of XQuery syntax vanbuiten leren!


2006-08-21, 8:00

vraag 1:

5 SQL querys, 1 in relationele algebra, 1 in tupel calculus en 3 in sql

vraag 2:

a) EER vraag over hoe overervingsrelaties om te zetten naar een relationeel schema
b) ER schema opstellen voor verzekeringsmaatschappij met voertuig, personenauto, motor, verzekerde, makelaar, schatter, polis, schade-aangifte en nog wat andere leuke dingen.
c) het ER schema omvormen naar een relationeel schema

vraag 3:

  • Bespreek indexen op bestanden. Welke indexen ken je, waarvoor worden ze gebruikt en hoe zijn ze georganiseerd?
  • Uitleggen wat view integratie is, wat zijn de problemen, mogelijke oplossingen?
  • uitleggen wat 2 fasen vergrendeling/serialiseerbaar rooster is. En een oefening waar ge 2 fasen vergrendeling moet toepassen.
  • Hoe worden de verschillende soorten relaties uit het ER-model voorgesteld in het netwerkmodel? (bijvraag: hoe wordt een ternaire relatie voorgesteld?)

2006-06-19, 8u

  1. Definiëren van queries en views:
    Beschouw het volgende relationele schema:
    • BOEK (ISBNnr, titel, uitgeversnaam, jaar van uitgifte)
    • BOEKEXEMPLAAR (boekvolgnr, ISBNnr)
    • AUTEUR (ISBNnr, auteursnaam, auteursvoornaam)
    • LEZER (lerernr, lezernaam, lezervoornaam, adres)
    • UITLENING (boekvolgnr, lezernr, ontleningsdatum, uiterste terugbrengdatum)
    • RESERVERING (lezernr, ISBNnr, datum)
    • Geef een uitdrukking voor de volgende vragen:
      1. Geef een lijst met ISBNnr en titel van alle boeken die door meer dan één lezer gereserveerd zijn; geef daarbij ok het aantal reserveringen van elk book (in relationele algebra)
      2. Geef een lijst met ISBNnr en titel van alle boeken waarvan alle exemplaren ontleend zijn (in tupel relationele calculus)
      3. Geef een lijst van alle titels van boeken in de bibliotheek met als enige auteur 'Simon Stevin' (in SQL)
      4. Geef, gegroepeerd per lezer, een lijst van alle boekexemplaren (boekvolgnr, en titel) die vandaag moeten worden teruggebracht (in SQL)
      5. Definieer een view met volgende gegevens:
        • van alle boeken die gereserveerd zijn en waarvan het aantal exemplaren in het bezit van de de bibliotheek ten minste 2 bedraagt.
        • ISBNnr, titel, aantal exemplaren in het bezit van de bibliotheek, aantal reserveringen van het boek gesorteerd volgens titel.
    • U mag er van uit gaan dat de huidige datum in SQL wordt gegeven door CURDATE(), en dat data kunnen worden vergeleken met
  2. Modelleervraag
    1. Verklaar in EER modellering het verschil tussen een gemeenschappelijke subklasse en een categorie, en geef van elk een voorbeeld ter illustratie
    2. Hier stond een hele beschrijving van een agentschap dat appartementen en villa's verhuurde.
      1. Maak hier een E(E)R-schema van
      2. Zet dit E(E)R-schema om naar een relationeel schema
  3. Korte vragen
    1. Bespreek indexen op bestanden. Welke indexen ken je, waarvoor worden ze gebruikt en hoe zijn ze georganiseerd?
    2. Wat versta je onder view integratie (bij het ontwerpproces van een gegevensbank-schema)?
      • Wat is het?
      • Wat zijn mogelijke problemen?
      • Geef mogelijke methoden/strategieën voor view-integratie
    3. Hoe worden de verschillende soorten relaties uit het ER-model voorgesteld in het netwerkmodel?
    4. Bespreek, in een gedistribueerde omgeving, de verschillende manieren om een equijoin uit te voeren op 2 bestanden gelocaliseerd op verschillende plaatsen.

2006-06-12, 8:00

vraag1:

5 SQL querys, die eigenlijk belachelijk gemakkelijk waren

vraag2:

a) EER vraag over hoe overervings relaties om te zetten naar een relationeel schema
b) ER schema:met reizigers, reizen, ruimteobjecten.

  • Een ruimteobject: heeft een unieke naam en kan een satteliet zijn van hoogstens 1 ander ruimteobject(bv alle planeten in ons zonnestelsel zijn sattelieten van de zon en de onze maan is een satteliet van de aarde), in het geval dat het object een sateliet is moet de gemiddelde afstand tot het object waar het een satteliet van is worden bijgehouden.
  • Een reiziger: heeft een uniek reizigers#( en nog een paar andere onbelangrijke attributen) en kan deelnemen aan een reis. Hij kan ook (hoogstens)één favoriete metgezel hebben. Een reiziger kan een opinie hebben over een ruimteobject(bv een schaal tussen -10 en 10)
  • Een reis: heeft een uniek reis# en vind plaats naar minstens 1 ruimteobject en kan 1 ruimteobject verschillende keren aandoen in 1 reis, daardoor moet er een volgnummer worden bijgehouden die aangeeft in welke volgorde de reis de ruimteobjecten afgaat. Er moet ook bijgehouden worden hoeveel dagen de reis halt houdt op een ruimteobject.

c) het ER schema omvormen naar een relationeel schema

vraag3:

  • kleine normalisatie oefening: Nakijken welke de mogelijk sleutels zijn en dan normaliseren tot 3eNF of BCNF
  • uitleggen wat view integratie is, wat zijn de problemen, mogelijke oplossingen?
  • uitleggen wat 2 fasen vergrendeling/serialiseerbaar rooster is. En een oefening waar ge 2 fasen vergrendeling moet toepassen.
  • Wat is een query boom, heuristieken? + oefeningen op het optmaliseren van een queryboom.

2005-06-13 Kulak

  1. 6kleine vraagjes:
    • selectiviteit van een conditie(wtf??):
      mijn antwoord: in welke mate een query de gegevens van de volledige DB beperkt, en da leek nog just :)
    • XML, structured data, schemas: het verband (dunno)
    • cascading rollback
    • relationeel,objectgericht,objectrelationeel model vergelijken: voordelen,nadelen
    • alle normaalvormen geven, definiëren en zeggen welke afhankelijkheden rol spelen,tekenen!
    • nen query optimALiseren, queryboom blablabla eenvoudig
  2. 4 queries(uhu!): ni simpel!!!
  3. EER schema:
    • je hebt een kunstvoorwerp, met unieke id, een titel, een land van herkomst, twee jaartallen waarin het waarschijnlijk gemaakt is, als dit tijdstip gekend is, zijn deze 2 gelijk. Er bestaan verschillende soorten kunstvoorwerpen:
      • schilderijen, met soort (portret, stilleven, ...), soort verf, stijl
      • beeldhouwwerken, met materiaal en wat het juist is
      • gebruiksvoorwerpen, met materiaal en soort (karaf, tafel, ...)
      • iets anders, met wat het is
    • je hebt ook een tijdsduur (wanneer het in het museum staat)
      • permanent, met sinds wanneer, en naam van de eventuele schenker
      • tijdelijk, met begindatum, einddatum en van waar het komt (ander museum of zo)
      • dan ook nog de kunstenaar, met unieke naam, geboortedatum, sterfdatum. Een kunstenaar kan ook leerling zijn van een andere kunstenaar, een kunstenaar kan meerdere leerlingen hebben

2005-06-??

  1. SQL query's
  2. Een heel verhaal over verhuurders en verkopers van appartementen aan de kust, personen, huurperiodes, etc. Teken hier een EER schema van
  3. SQL query's om te GRANTen en REVOKEn kunnen opstellen
  4. nog wat zaken die ik vergeten ben