Lezing databases en sql



Dovnload 146.79 Kb.
Pagina4/8
Datum20.08.2016
Grootte146.79 Kb.
1   2   3   4   5   6   7   8

1.5 Aanmaken database


We hebben de ontwerpfase achter de rug en we gaan nu de database aanmaken.
Dat kan op een aantal manieren, ofwel met behulp van MS Access, ofwel met behulp van SQL. Aangezien SQL in het tweede deel van deze lezing aan de orde komt, doen we het eerst met behulp van MS Access.
Start MS Access op en kies voor Lege Access-database.

(figuur 2)


Vervolgens wordt u gevraagd om de database een naam te geven.


(figuur 3)



Geef de database de naam Boekenwinkel. U kunt eventueel ook nog aangeven waar u de database wilt opslaan (bij Opslaan in:). Druk vervolgens op . Daarna verschijnt het volgende scherm:



(figuur 4)



Wij kiezen nu voor Tabel maken in ontwerpweergave. In het scherm dat vervolgens verschijnt gaan wij de velden aanmaken, zoals die gedefinieerd zijn in de ontwerpfase (Zie blz. 7).





(figuur 5)



Van KlantID maken we de primary key door op de veldnaam met de rechtermuisknop te klikken en de sleutel te selecteren.

(figuur 6)


Let er op dat achter Geïndexeerd staat Ja (Duplicaten Nee)! Geef bij de velden van het gegevenstype Tekst ook de Veldlengte in, zoals bepaald in het ontwerp. En vergeet ook niet om de verplichte velden aan te geven (bij Vereist).


(figuur 7)


Als alle velden met de bijbehorende Gegevenstype zijn aangemaakt, kunt u de tabel opslaan door te klikken op (tweede van links) in de werkbalk. Het volgende menu verschijnt.


(figuur 8)



Voer in Klant en druk op OK.
Op deze wijze kunnen wij ook de andere twee tabellen aanmaken.

Als dat gebeurd is, kunnen we relaties gaan leggen tussen de tabellen.



Kies in de werkbalk relaties . Het volgende scherm verschijnt:


(figuur 9)


Voeg vervolgens de tabellen toe. U kunt alle tabellen in één keer selecteren door Bestelling te selecteren (met de linkermuis) toets, de SHIFT-toets ingedrukt houden en vervolgens de tabel Klant te selecteren. Kies dan Toevoegen en daarna Sluiten. Sleep de tabellen –voor het gemak- naar de positie op het scherm zoals afgebeeld in figuur 10.

(figuur 10)


We gaan eerst een relatie leggen tussen de tabel Klant en Bestelling. Klik in de tabel Klant op de KlantID en sleep dit veld naar KlantID in de tabel Bestelling terwijl u de linkermuisknop ingedrukt houdt. Als u de linkermuisknop los laat verschijnt het volgende scherm:

(figuur 11)


U ziet dat er een één-op-veel relatie wordt aangemaakt. U kunt nog aangeven of u een referentiële integriteit wilt afdwingen.


Wat is referentiële integriteit?

Als u Referentiële integriteit afdwingen selecteert, dan draagt u MS Access op om te waken over de structurering van uw gegevens. Als referentiële integriteit is afgedwongen, dan wordt de integriteit van uw gegevens verzekerd door de gemaakte relaties. U kunt dan geen gegevens in de tabel invoeren aan de veel-zijde van de één-op-veel relatie, als de waarde van de refererende sleutel niet correspondeert met een waarde in de primaire sleutel. Zo kunt u geen bestelling invoeren als de klant niet bestaat.

U kunt ook geen records aan de één-zijde van de één-op-veel relatie verwijderen, als records aan de veel-zijde naar dit record refereren. Dit zou het zogeheten weesrecord syndroom creëren, kindsrecords zonder ouder (bestelling zonder bijbehorende klant). Tenzij de optie Gerelateerde records trapsgewijs verwijderen is ingesteld, zou u eerst alle gerelateerde records aan de veel-zijde moeten verwijderen, voordat u een record aan de één-zijde zou mogen verwijderen.
Wat houdt trapsgewijs bijwerken in?

Gerelateerde velden trapsgewijs bijwerken is een optie bij referentiële integriteit. Als deze optie is ingeschakeld bij een relatie, en de primaire-sleutelwaarde van een record aan de één-zijde van de één-op-veel relatie wordt gewijzigd, dan zorgt MS Access voor een trapsgewijze aanpassing van de waarde in de refererende sleutel van de records aan de veel-zijde.


Waarvoor dient de optie trapsgewijs verwijderen?

Wees voorzichtig met het activeren van de optie Gerelateerde velden trapsgewijs verwijderen dan met Gerelateerde velden trapsgewijs bijwerken.

De eerste optie zal alle kindrecords aan de veel-zijde verwijderen als u het ouderrecord aan de één-zijde verwijdert. Dit lost het probleem van het verwijderen van alle kindrecords voordat het ouderrecord kan worden verwijderd wel op, maar er zijn wel consequenties aan verbonden. Ook al heeft u de informatie zelf niet (meer) nodig, dan moet u er zeker van zijn dat de te verwijderen informatie niet op een andere plaats in de database nodig is.

Vervolgens gaan we op dezelfde wijze een relatie leggen tussen de tabel Boek en de tabel Bestelling. Het eindresultaat ziet er als volgt uit:



(figuur 12)






1   2   3   4   5   6   7   8


De database wordt beschermd door het auteursrecht ©opleid.info 2017
stuur bericht

    Hoofdpagina