sql

MySQL

1. Wat gaan we maken?

Nu eerst wat uitleg over waar we mee bezig zijn. Wat we gaan maken is een database voor ruimtevaart.  Onder ruimtevaart verstaan we alle activiteit die door mensen ondernomen of veroorzaakt wordt in de ruimte. Volgens de definitie van de Amerikaanse luchtmacht begint de ruimte vanaf een hoogte van 80,5 kilometer.

Het eerste door de mens gemaakte object dat de ruimte bereikte was een Duitse V-2 raket, tijdens een testvlucht in juni 1944. Echter, de eerste geslaagde vlucht van de A4 V-2 raket vond plaats in Peenemunde op 3 oktober 1942, je zou kunnen zeggen dat deze datum de start is van de ruimtevaart.

Op wikipedia vind je meer informatie over ruimtevaart. Deze informatie hebben we nodig om onze ruimtevaartdatabase (en later applicatie) te kunnen vullen. We hebben bijvoorbeeld een lijst van astronauten nodig om onze tabel met astronauten te kunnen vullen.

 Joseph_Acaba

2. Wat is SQL?

Op Introduction to SQL van W3Schools vind je een goede definitie van wat SQL inhoudt en wat je ermee kunt doen. Lees deze pagina goed door en beantwoord daarna de vragen in de opdracht:

3. XAMPP installeren

xampp

XAMPP is een opensourceproject van ApacheFriends en bestaat onder andere uit de Apache-webserver, MySQL, PHP en een ftp-server. XAMPP gaan we gebruiken voor het uitvoeren van de query. We kiezen voor XAMPP vanwege de eenvoudige installatie.

Je kunt XAMPP op school vinden in de Program Files. XAMPP is ook thuis gemakkelijk te installeren. Je kunt de download van XAMPP vinden via een zoekopdracht, bijvoorbeeld in Duck Duck Go. XAMPP is er ook voor de Mac.

4. Netbeans

netbeans logo

Een andere, belangrijke, applicatie die we in de vervolgcursus zullen gebruiken is Netbeans. Netbeans is een ontwikkelomgeving wat niet alleen Java applicaties ondersteunt, maar ook bijvoorbeeld Javascript of PHP. Ook is het een ideale HTML en CSS editor en dat allemaal gratis!.

Voor deze cursus creëren we binnen Netbeans een Java Web applicatie in combinatie met een Glassfish server. In de uitgebreidde cursus Servlets en Java Server Pages wordt in de eerste les uitgelegd hoe je Netbeans kunt installeren een Java Web Applicatie kunt aanmaken.

De keuze voor Java is gemaakt op basis van betere en stabielere didactische keuze. Wil je serieus werk maken van het ontwikkelen van een webapplicatie zou je ook voor de webtaal PHP kunnen kiezen omdat het makkelijker is om dit te hosten. Dit is echter geen zuiver objectgeörienteerde taal terwijl Java dat wel is.

5. Een database aanmaken

Nu we alle voorbereidingen hebben gehad gaan we echt aan de slag. We gaan als eerste een database aanmaken. Start XAMPP via het Control Panel.

starting apache/mysql

 

Om in de database MySQL te kunnen komen kun je gebruik maken van de knop Admin.

phpmyadmin starten

Je komt nu in de localhost van je eigen computer en in het programma phpmyadmin. Hierna gaan we als eerste een nieuwe database aanmaken. Deze database noemen we nasa. In de linkerkolom zie je nasa verschijnen.

create table

Direct hierna gaan we onze eerste tabel aanmaken. Klik in de linkerkolom op nasa en hierna op Create table. Noem je eerste tabel astronauts en stel het aantal kolommen in op 4.

create table

Je komt nu in een scherm waar je de namen van de kolommen moet instellen. Doe dit volgens onderstaande afbeelding. Let erop dat je kleine letters gebruikt. Merk op dat we Engelse benamingen gebruiken voor de kolommen.

creating columns

Klik hierna op save. Je eerste query wordt uitgevoerd en de tabel verschijnt automatisch. Je hebt een tabel gemaakt voor astronauten.

 

 

6. De PRIMARY KEY instellen

Het instellen van een PRIMARY KEY is niet zo ingewikkeld en kan binnen phpmyadmin automatisch worden gedaan. Ga hiervoor naar het tabblad Structure en klik dan op Primary.

tabblad structure | primary key instellen

Vervolgens krijg je onderstaande mededeling. Klik op OK.

 

Phpmyadmin heeft automatisch een query gemaakt. Je had dit ook handmatig in het queryvenster kunnen uitvoeren.

 

7. Wat heb je gemaakt?

Wat je gemaakt hebt is een database en de eerste tabel voor astronauten. Een tabel kun je jezelf als volgt voorstellen:

 id  firstname  lastname nationality
 1  Joseph  Acaba  US
 2      
 3    

 

 

De kolom id is een belangrijke kolom. Deze kolom is nodig voor de PRIMARY KEY. Op deze pagina van W3Schools vind je informatie over wat een PRIMARY KEY is. Volgens W3Schools is een PRIMARY KEY het volgende:

  • Op basis van de primairy key kun je unieke records vinden.
  • Een PRIMARY KEY moet een unieke waarde hebben en mag niet NULL zijn.
  • De meeste tabellen hebben een PRIMARY KEY en dit kan alleen maar één kolom zijn.
  • In het volgende item zullen we een PRIMARY KEY gaan instellen.

 

Opmerking: een PRIMARY KEY kan ook worden ingesteld over 2 kolommen. In deel 4 en 5 leer je hoe dat moet.

8. De database vullen

De database staat nu klaar om te worden gevuld met gegevens. We zullen daadwerkelijk informatie uit de praktijk nemen. De NASA heeft een website waarop alle cosmonauten en astronauten (nationaal en internationaal) worden vermeld. Met deze gegevens gaan we de database vullen. Het eerste record zullen we voordoen. Hierna vul je de website met negen astronauten of cosmonauten.

 

De link naar de eerste astronaat is: Acaba, Joseph M. We kunnen de volgende informatie vinden:

JOSEPH M. ACABA, Born in 1967, California

 

De gegevens die we nodig hebben gaan we invoeren in de database. Klik in phpmyadmin op insert en voer de onderstaande gegevens in. Merk op dat we alleen de voornaam invullen en niet de 2e voorletter M. Klik na het invoeren op Go

insert a record

 

Je kunt nu zien welke query phpmyadmin heeft gemaakt. Merk op dat de query wordt afgesloten met een punt-komma. Dit is bij één query niet persé noodzakelijk, maar vanwege de uniformiteit zullen we dat voortaan altijd doen als we een query handmatig invoeren.

Als je nu klikt op Browse dan kun je de astronaut in je database zien staan. Je ziet dat phpmyadmin nu een selectquery heeft gemaakt. Merk op dat het id op 0 staat. Dat is niet goed en daar gaan we nog iets aan doen. 

 

Klik hiervoor opnieuw op Structure en daarna op Change

change structure

 

Vink hierna het selectvakje A_I aan. Klik op op Save.

Merk op dat het id nu automatisch is veranderd in 1. Bij het invoeren van nieuwe records zal het id automatisch worden opgehoogd.

Je gaat nu de database vullen met een aantal astronauten. Hieronder vind je de lijst van astronauten. Let er goed op dat dit een internationale lijst is! Je hoeft bij deze opdracht niets in te leveren.

1

Joseph

Acaba

United States

2

Viktor

Glover

United States

3

Arnold

Richard

United States

4

Micheal

Hopkins

United States

5

Vladimir

Aksyonov

Sovjet Union

6

Andrew

Allen

United States

7

Christopher

Altman

United States

8

Clayton

Anderson

United States

9

Daniel

Barry

United States

10

Georgi

Beregovoi

Sovjet Union

11

Anatoli

Berezovoy

Sovjet Union

12

Andre

Kuipers

Netherlands

9. De database exporteren

Het is van belang dat je werkt in je eigen database en dat je een back-up hebt van deze database. We gaan daarom je database exporteren. Klik hiervoor op de database (en niet op de tabel!) en daarna op exporteren.

export database

Klik vervolgens op de Custom optie.

custom option export database

Zorg ook dat View output as text aanstaat.

Als je onderaan klikt op Go krijg je een textoutput in je scherm zoals in onderstaande afbeelding (de inhoud is grijs gemaakt). In de opdracht wordt aangegeven wat je hiermee moet gaan doen. Laat dit scherm open staan en doe de opdracht.

constraint insert query