MySQL Met vallen en opstaan - voorbeeld
Home

MySQL Met vallen en opstaan - voorbeeld

MySQL Met vallen en opstaan - voorbeeld

We hebben onze tabel boeken gecreëerd. We hebben er boeken aan toegevoegd. En op een bepaald ogenblik merk je op dat je de mogelijkheid om de boeken te classificeren niet hebt voorzien. Je kan de script om de tabel te creëren wijzigen, de kolom van de categorie toevoegen en de script opnieuw uitvoeren. Maar dan worden alle gegevens die al in de tabel zitten verwijderd. I.p.v. de tabel opnieuw te creëren kan je het ALTER statement gebruiken om de structuur van de tabel te wijzigen zonder dat de gegevens vernietigd worden.

Klassificatie

is een wetenschap op zich. Je zou kunnen kiezen om een eigen klassificatiesysteem uit te dokteren. Maar waarom zou je het warm water opnieuw uitvinden. De Nederlandse basisklassificatie[1] is ontwikkeld door bibliotheken uit Nederland. Er bestaan ook nog andere klassificatiesystemen zoals UDC[2] (Universele Decimale Classificatie) en SISO (Schema voor de Indeling van de Systematische catalogus in Openbare bibliotheken). Het NBK is eenvoudig, het UDC word het meest gebruikt en SISO wordt in de Openbare Bibliotheken gebruikt maar is moeilijk. Als je een algemeen gebruikt classificatiesysteem gebruikt zijn je boeken ook geordend volgens een standaard klassificatie en zijn de gegevens met bibliotheken uitwisselbaar. We laten de keuze van het klassificatiesysteem over aan de gebruiker en voorzien een kolom van 40 karakters lang.

De script ziet er dan zo uit:

use JefInghelbrecht;
alter table Boeken add Categorie varchar(40)

We slaan de script op in een bestand met de naam BoekenAddCategorie.sql. Op die manier houden we de wijzigingen bij en kunnen we later een nieuwe script maken op basis van de wijzigingen die tijdens het ontwikkelingproces zijn doorgevoerd.

We voegen een nieuwe rij toe om de wijziging te testen. We openen de BoekenAddRow.sql toe en passen de script aan. De kolom Categorie moet worden toegevoegd. Let erop dat we een nieuw boek toevoegen om geen dubbels te hebben.

use JefInghelbrecht;

insert into Boeken
   (Id,
    Voornaam,
    Familienaam,
    Titel,
    Stad,
    Uitgeverij,
    Verschijningsdatum,
    Herdruk,
    Commentaar,
    Categorie)
values (
    'Philipp',
    'Blom',
    'Wat op het spel staat',
    'Amsterdam',
    'De Bezige Bij',
    '2017',
    '',
    'De Duitse historicus en journalist schetst een somber toekomstscenario. ',
    'Essai'
)

Later zullen we zien hoe je het vermijden van dubbels in SQL programmeert.

[1] Je kan de volledige lijst met categorieën vinden op https://www.kb.nl/sites/default/files/docs/bc04.pdf

[2] De officiële website van UDC in het Nederlands: http://www.udcc.org/.

JI
2018-02-21 17:49:49