You are on page 1of 15

JAVA 

1. Java data types 


a. Leg in eigen woorden uit wat het verschil is tussen primitive - en object
reference variables.(10)  10pt

Verschil tussen deze 2 variablen is dat object reference variable de adressen opslaan van
de object waarnaar ze verweizen terweil primitive variable de werkelijke waarde
opslaat.

- Primitive variables
Primitive variables store values and the primitive data types are defined by the programming
language. Java defines 8 primitive data types: char, byte, short, int, long, float, double and
boolean.
- Object reference variables
Object reference variables hold references to objects. An object reference variable holds bits
that represent a way to access an object. So meaning it allows you to access object’s attributes.

b. Geef een voorbeeld van beide type variables. Code snippet. (10)  5pt beide zijn
primitives
Primitive variable
Public class Tentamen{
boolean result = true;
double d = 3456.20;

Code snippit van primitive variable:


public class Tentamen {
// primitive variables
boolean result = true;
double d = 3456.20;
char c= 'f';
int a = 234;
byte b = 100;
}

Code snippit van object reference variable:

2. Constructors 
2
a. Leg in eigen woorden uit wat een constructor is.(10) 10pt
Constructor in Java is een method om een object te initialiceren, een constructor wordt
aangeroepen wanneer het object van een class wordt gemaakt.

- Een constructor is een speciale method in een class die objecten kan maken van die class.
- Constructors hebben dezelfde naam als hun class.
- Constructors komen in twee ‘smaken’, te weten: user-defined constructors and default
constructors.
- A constructor has the code that runs when you instantiate an object. In other words, the code
that runs when you say new on a class type. To invoke a constructor is with the keyword new
followed by the class name.
- Constructors hebben GEEN return type (void)

b. Geef een voorbeeld van constructor gebruik. Code snippet en toelichting v.d.


code snippet. (10) 0pt
User defined constructor
class office {
public static void main (String[] args) {
Employee emp = new Employee():
}

Default constroctor
Class employee {
string name;
int age;
Employee() {
super() ;
}

Code snippit van een user-defined constructor:


class Office {
public static void main(String[] args) {
Employee emp = new Employee():
}
}
// step 1 declare a reference variable Employee emp
// step 2 Create an object new Employee(); using the keyword new
// step 3 Assign the new object to the reference
// after these steps you get the execution of the Employee class constructor
Code snippit van een default constructor:
class Employee {
String name;
int age;
Employee() {
super();
}
// the compiler created a default constructor Employee() and super()

3. Scope of variables 
a. Noem 4 soorten “scope of variables” op en leg in eigen woorden uit hoe deze 4
werken. (10)  8pt 
-class : class variables worden gedeeld door alle objects van een class
-intstance : instance variables zijn defined en accessible binnen een object naar alle
instance methods van een class
-local : local variable zijn niet toegankelijk buiten de method waarin ze zijn defined
-methode : in een method is een local variable niet toegankelijk voordat deze is
gedeclareerd

De 4 soorten variables zijn:


- Local variables
- Method variables
- Instance variables
- Class variables
Local variables Method variables/Method Instance variables Class variables
parameter
- Are - Are used to accept - Are used to store -is defined using the
defined/declared in arguments in a method/ the state of an keyword static
a method are used to pass values object(the data) - belongs to a class
- It’s has the shortest to a method and can have - are used to store
scope(life span) - Information can be unique values for values that should be
- Can’t be accessed passed to methods as each object of shared across all
outside the parameter. Parameters that type objects
method in which act as variables inside the - Are defined and
they’re defined method. Parameters are accessible within
- Must be initialized specified after the an object but
before use method name, inside the outside any
- Local variables do parentheses. You can add method
NOT get a default as many parameters as
value you want, just separate
them with a comma.

b. Geef een voorbeeld van de 4 soorten “scope of variables”.


Code snippet. (10) 2pt
public class Vehicle {
private int tyres;
private int speed;
private String color;

public void run(){


}
}

  Code snippit local variable:


public class Tentamen {
public void foo (int x){
int i= x +3;
boolean b = true;
}
}
// Paramaeter x and the variables i and b are all local variables
Code snippit method variable:
public class Tentamen {
public void tafelVanForEachLoop (int start, int eind, int tafel) {
}
}

// the method contains 3 parameters start, eind and tafel

Code snippit instance variable:


public class Dog {
int size;
}
// Every Dog has a “size” instance variable

Code snippit class variable:


public class Phone {
static String name = "John";
}
// class variable name

4. Class Members 
a. Noem 2 verschillende class members types op en leg in eigen woorden uit
wat hun functie is. (10)  0pt
-public : members met public access zijn ook toegankelijk voor andere classes
-protected : members met protected access zijn toegankelijk voor drived
classes,ongeacht de packiges waarin de base en derived classes zich bevinden
gedefinieerd.

5pt zijn beide datamembers


2 verschillende class members types zijn: class variables and instance variables
Instance variables are used to store the state of an object(the data) and can have unique values for each
object of that type.
Class variables are used to store values that should be shared across all objects.

b. Geef een voorbeeld van de 2 verschillende class member types . Code


snippet. (10)  0pt
Instace variable
Public class Dog {
Int size;
}

Class variable
Public class Phone {
Static String name = “Mike”;
}

5pt
Code snippit instance variable:
public class Dog {
int size;
}
// Every Dog has a “size” instance variable

Code snippit class variable:


public class Phone {
static String name = "John";
}
// class variable name
5. JDBC Framework 
a. Leg in eigen woorden uit wat de functie is van de jdbc framework. (10) 3pt
je kan de database en javascript met elkaar verbinden en tegelijkertijd informatie met
elkaar delen

JDBC is een manier voor Java applicatie om te communiceren met databases en het managen ervan (het
managen van alle CRUD (Create Read Update Delete) handelingen).

b. Leg in eigen woorden uit wat de functie is van de statement & prepared
statement classes is. (10) 10pt
Statement : gebruikt om string based SQL queries uit te voeren.
Prepared statement : gebruikt om parametized SQL queries uit te voeren

Statement – wanneer je query’s gebruikt waarvan ze altijd hetzelfde zijn bijvoorbeeld ‘SELECT ALL FROM
SCHOOL’. Dit blijft hetzelfde want je haalt gewoon alle scholen op.
Preparedstatement – betekent dat je statement niet statisch is. Je gaat variables toevoegen aan je SQL
query. Je gebruikt parameters.

 
 Databases 1 
 
Vraag 1: Case 
Een HBO school heeft een bibliotheek, waar studenten boeken gratis mogen lenen. De geleende boeken
worden in een lijst in MS Excel bijgehouden. Zie onderstaand een deel van het overzicht: 
 
datum uitgeleen studentnumm boeken (ISBN‘ verwachte inleverdatu werkelijke inleverdatu opmerkinge
d er s) m m n
10 juni 2017 855123 0071747990, 24 juni 2017
0321884493,
0672336073
15 mei 2017 877124 1250118360 29 mei 2017 Student
bellen.
8 mei 2017 578564 0596520832, 22 mei 2017 5 juni 2017 Te laat
1449373194 ingeleverd.
Boete
betaald
8 mei 2017 546785 0672336073, 22 mei 2017 19 mei 2017
1491933666
6 mei 2017 877124 0615314465 20 mei 2017 19 mei 2017
 
De school wilt een bibliotheek applicatie waarin de boeken, studenten en boekverhuur wordt
bijgehouden. Uiteraard worden meer zaken dan hierboven in het lijstje opgeslagen. Bijvoorbeeld:
student voor en achternaam, boektitel etc.  
 
Opdrachten: 
Tip: lees meteen alle opdrachten van vraag 1. Gebruik de data in het overzicht om erachter te komen of
wat de relatie tussen de entiteiten is. 
a. Maak het datamodel van deze applicatie. Vergeet de relaties tussen de
tabellen/objecten niet. Identificeer de primaire sleutels (primary keys) met PK en vreemde
sleutels met FK. 
Datatypen hoeven niet aangegeven te worden. (20p) 19pt waarom boeken kolom in
boeken?
studenten.ID en boeken.ID zijn primary keys of PK
cbb_id_nummer is vreemde sleutel of FK ? Parent tabel?

b. Schrijf de queries om de volgende informatie op te halen: 


I. Een lijst met boeken die nog niet ingeleverd zijn. Deze lijst bevat de titel van het
boek, de verwachte inleverdatum en de naam van de student die het boek geleend
had. (7p) 1pt
select boekverhuur.verwachte_inleverdatum, count(boeken.isbn) nog inleveren
from studentnummer
join studenten
on studenten.studentennummer = boekverhuur.studentnummer
group by studenten.voornaam
II. Een lijst met het aantal uitgeleende boeken per lid, gesorteerd op aantal
uitgeleende boeken in aflopende volgorde, met het grootste aantal boeken als
eerst. (8p) 2pt
Select studenten.naam, COUNT(boeken.isbn) aantal_boeken_geleend from
studenten.studentnummer
join boekverhuur bv
on bv.studentnummer = b.sn
join boek b
on b.id = blk.boek_id
group by student.naam, bv.datum_uitgeleend
having YEAR(bv.datum_uitgeleend) =
order by aantal_boeken_geleend desc;

SELECT s.naam student_naam, COUNT(b.titel) aantal_boeken_geleend FROM student s


JOIN verhuur v
ON v.student_id = s.id
JOIN boek_verhuur bv
ON bv.verhuur_id = v.id
JOIN boek b
ON b.id = bv.boek_id
GROUP BY s.naam, v.leendatum
HAVING YEAR(v.leendatum) = 2017
ORDER BY aantal_boeken_geleend DESC;
III. Het aantal keren dat boek met ISBN: 0615314465 is uitgeleend. (7p)  0pt

SELECT s.naam student_naam, COUNT(b.titel)


boek_uitgeleend FROM student s
JOIN verhuur v
ON v.student_id = s.id
JOIN boek_verhuur bv
ON bv.verhuur_id = v.id
JOIN boek b
ON b.id = bv.boek_id
GROUP BY s.naam, b.isbn
HAVING (b.isbn) = 0615314465
ORDER BY boek_uitgeleend DESC;
 
c. Extra business requierements: 
I. Het blijkt dat de bibliotheek van sommige boeken meerdere exemplaren in
voorraad heeft. Om de boeken uniek te kunnen identificeren is besloten om
een unieke boeknummer toe te kennen aan elk boek in de bibliotheek. 
Pas het datamodel aan om hieraan te kunnen voldoen. (6p) 0pt
II. De boeken blijken gemeenschappelijke auteurs te hebben. Ook blijkt dat één
boek soms meerdere auteurs heeft. Pas het datamodel aan om deze functionaliteit
te kunnen ondersteunen en de auteurs uniek op te slaan. (6p)  0pt

 
d. Een goed design heeft ook indexen en andere typen constraints. Geef aan over welke
velden u het volgende gaat toevoegen en beargumenteer uw keuze. 
I. Eén check constraint. (3)  0pt
II. Twee unique constraints. (4)  0pt

- Kolom isbn moet unique zijn omdat elk boek een unieke isbn nummer heeft
ALTER TABLE boek
ADD UNIQUE (isbn_nummer);
- Kolom student_nummer moet unique zijn omdat elk student een unieke
studentnummer moet hebben
ALTER TABLE student
ADD UNIQUE (student_nummer);

III. Drie indexen. (3)  0pt

Vraag 2: DML 
a. Geef de SQL statement om alle boekgegevens op te halen van de boeken met
ISBN 0321884493. (7p)  0pt
b. Geef de SQL statement om alle records in tabel BOEKEN te verwijderen, waarvan het
ISBN = 0615314465. (7p)  0pt

 
Vraag 3: Theorievragen 
a. Noem vier gebruiksdoeleinden van views. (22p)  0pt

SUCCES!
5pt beide zijn primitives
Primitive variable
Public class Tentamen{
boolean result = true;
double d = 3456.20;

User defined constructor


class office {
public static void main (String[] args) {
Employee emp = new Employee():
}
}

Default constroctor
Class employee {
string name;
int age;
Employee() {
super() ;
}

-methode : in een method is een local variable niet toegankelijk voordat deze is gedeclareerd

public : members met public access zijn ook toegankelijk voor andere classes

-protected : members met protected access zijn toegankelijk voor drived classes,ongeacht de packiges waarin de base
en derived classes zich bevinden gedefinieerd.

5pt zijn beide datamembers


2 verschillende class members types zijn: class variables and instance variables
Instance variables are used to store the state of an object(the data) and can have unique values for each object of that
type.
Class variables are used to store values that should be shared across all objects.

You might also like