Lastige (sub)query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Onderdelen van jouw functie: Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook

Bekijk vacature »

Senior Front-end developer Consultancy

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

Bekijk vacature »

Senior Java developer

Als Senior Developer bij Sogeti ben je onderdeel van onze toonaangevende best-gecertificeerde Java community. Deze bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Aval en de Nationale Politie. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We

Bekijk vacature »

Junior PHP Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale aspecten van Coolblue. Wat doe je als Junior PHP Developer bij Coolblue? Als Junior PHP Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen om te groeien als Junior Developer. Op dat moment komt je wil om steeds te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te kunnen maken. Je sterk analytisch vermogen komt dan ook goed

Bekijk vacature »

Java developer - procesoptimalisatie (Inhouse)

Functie Wat ga je doen als Java developer? Jij als back end developer hebt al enige ervaring opgedaan in jouw vakgebied. Voornamelijk het werken met Java en Spring spreekt jou aan. Jij wordt samen met je collega developers in het team verantwoordelijk voor de gehele back end van de applicatie. Hierdoor heb jij veel zelfstandigheid in je rol en zul je ook zelf beslissingen samen met de PO maken. Er wordt gewerkt volgens de SCRUM methodiek, om zo structuur te creëren in de werkzaamheden. Binnen de 2-wekelijkse sprints pak jij je taken op die samen met de PO afgestemd zijn.

Bekijk vacature »

Hands-on Solution Architect / Software Architect (

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Solution Architect / Software Architect op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je werkt samen met gedreven DevOps teams, bestaande uit frontend, backend en middleware developers, testers, UX-designers. Samen met de teams ben je continu op zoek naar de beste oplossingen voor onze klanten. Als Solution Architect onderzoek

Bekijk vacature »

Als Front-end developer samenwerken met de beste c

Functie Momenteel zijn we voor één van de projecten bij hun key partner, een voorloper in de energiesector, op zoek naar gedreven Front-end developers. Ze nemen de lead in dit project en werken uitsluitend met vooruitstrevende technologieën. Ze verwachten dat de technologie die hier wordt ontwikkeld uiteindelijk door veel meer grote corporates, in verschillende sectoren zal worden toegepast. Dit is dan ook een heel uitdagend project om aan mee te gaan werken. Het team bestaat o.a. uit User Experience designers, Data Scientists en Software Engineers. De consultants en ontwikkelaars werken volgens de Design Thinking methode waarbij de eerste stappen van

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij in één van onze vier scrumteams. Met 30 ontwikkelaars werk jij aan de doorontwikkeling van ons core product. Ook werkt jouw team aan maatwerkoplossingen op aanvraag van de klant en op projectbasis. Wij vinden het erg belangrijk dat onze ontwikkelaars met plezier naar werk gaan. Een deel hiervan ligt uiteraard bij jezelf, als jij ontwikkelen niet leuk vindt, ben jij bij ons echt aan het verkeerde adres. Jouw team bestaat namelijk uit een groep gepassioneerde vakidioten die dit werk doen omdat dit eerst een hobby was! Daarnaast wordt er intern rekening gehouden met

Bekijk vacature »

PHP developer - Digital Agency

Functie Het team telt momenteel 20 collega’s, bestaande uit developers (front- en backend) en het operations team, waaronder ook het management en twee scrum masters vallen. Ze zijn op zoek naar een PHP developer die in staat is zelfstandig te werken. Je komt te werken in één van de drie scrumteams en gaat aan de slag met een project voor de klant. Het fijne hieraan is dat je wel afwisseling hebt qua werk, maar tegelijkertijd doorlopend werkt voor bestaande klanten. Hierdoor krijg je ook de kans om echt de diepte in te gaan en innovatieve technische oplossingen neer te zetten.

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Java Developer

Functieomschrijving Are you an experienced Java Developer who wants to be challenged? Then this is your job! As a Java Developer, you are co-responsible for building custom applications within our extensive IT landscape. Development takes place on both the back-end side (Spring/JEE). Together with the IT department, you are responsible for the daily adjustments and expansions of our IT systems. In addition, you will work in small scrum teams using the Agile methodologies. Besides the realization of our in-house systems, you are responsible for the roll-out of the application (version) as well as the operational support after going live. Team

Bekijk vacature »

SQL beheerder / ontwikkelaar

Functie omschrijving Voor een klant in omgeving Tiel zijn wij op zoek naar een SQL beheerder met affiniteit met technisch applicatiebeheer. Je krijgt een fijne in-house werkplek waar je gaat werken aan diverse projecten. Dit bedrijf doet het beheer van databases voor een aantal bancaire klanten. Op dit momenten hebben zij ruim 1500 databases in beheer. Jouw werkzaamheden gaan er als volgt uit zien: Je gaat de development afdeling ondersteunen bij het ontwikkelen van MS SQL Scripts. Je zal zowel zelfstandig als in teamverband MS SQL databases installeren & beheren. Je monitort en onderzoekt incidenten en de achterliggende oorzaken. Je

Bekijk vacature »

Front-end developer (medior/senior)

Functie Het team bestaat uit een architect, fullstack developers, app developers, de product owner en projectmanager. Eenieder draagt vanuit zijn discipline bij aan een complete oplossing voor de klant. Uiteraard zul je hierin nauw samenwerken met je collega’s. Jij wordt verantwoordelijk voor de front-end implementatie en fungeert als lead op dit gebied binnen het team. Je kunt helder formuleren, ideeën uitdragen en overbrengen aan je collega’s. Qua technische stack is het vooral van belang dat je ervaren bent met Angular, HTML5, CSS en TypeScript. Verder is ervaring in NgRx, Bootstrap, BEM en Cypress een pré, evenals affiniteit met UX/UI Design!

Bekijk vacature »

Gezocht: .Net ontwikkelaars met een maatschappelij

Bedrijfsomschrijving Zoek jij als medior .Net ontwikkelaar een inspirerende werkplek bij een bedrijf met maatschappelijk verantwoordelijkheidsgevoel? Dan is deze vacature je op het lijf geschreven. De organisatie bestaat ruim 20 jaar en ze ontwikkelen in house applicaties waarmee de zorgsector enorm mee gebaat is. Jouw applicaties worden gebruikt door duizenden gebruikers waardoor je echt een waardevolle bijdrage kan leveren aan de maatschappij. Het bedrijf is zeer innovatief en vindt een goede werk/privé balans belangrijk. Je krijgt alle mogelijkheden om jezelf verder te ontwikkelen, je werktijden in te delen en daarnaast is het ook mogelijk om deels thuis te werken. Het

Bekijk vacature »

Cloud Developer

Cloud Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »
Gijs Marien

Gijs Marien

08/10/2020 19:10:54
Quote Anchor link
Hallo allemaal,
Ik ben bezig met een school rooster database, bestaande uit meerdere tabellen, maar de focus ligt bij mijn vraag op twee tabellen hiervan. Ik wil graag dat de uitkomst van mijn query alle lege lokalen weergeeft op een bepaald lesuur.
In de eerste tabel, tabel1, staan de lesuren, maandag het eerste als ma1, woensdag 7e als wo7, enzovoort. Ook staat er een key in voor elk lesuur.
In de tweede tabel, tabel2, staan de lessen. Hierin staat lokaal, docent, vak, lesuur, groep, en les id.
Zelf kwam ik niet verder dan een lijst krijgen van alle lokalen (select lokaal from tabel2 group by lokaal order by lokaal). Hoe pas ik deze query aan (subquery??) zodat de output alle lege lokalen op een bepaald lesuur zijn?
 
PHP hulp

PHP hulp

14/11/2024 17:21:28
 
Jan R

Jan R

08/10/2020 19:33:07
Quote Anchor link
Iets meer info zal nodig zijn denk ik.
vb: Hoe is lesuur opgebouwd.
eventueel een volledige structuur van beide tabellen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
show create table tablename


Jan
 
Gijs Marien

Gijs Marien

08/10/2020 19:48:35
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
CREATE TABLE `lessen` (
 `id_lessen` int(4) NOT NULL AUTO_INCREMENT,
 `groep` varchar(6) DEFAULT NULL,
 `lesuur` varchar(3) DEFAULT NULL,
 `vak` varchar(3) DEFAULT NULL,
 `docent` varchar(3) DEFAULT NULL,
 `lokaal` varchar(3) DEFAULT NULL,
 PRIMARY KEY (`id_lessen`)
) ENGINE=MyISAM AUTO_INCREMENT=1581 DEFAULT CHARSET=latin



Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
CREATE TABLE `lesuurnr` (
 `lesuurnr` int(3) NOT NULL,
 `lesuur` varchar(3) NOT NULL,
 PRIMARY KEY (`lesuurnr`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
Thomas van den Heuvel

Thomas van den Heuvel

08/10/2020 20:48:32
Quote Anchor link
Ik zou ook een lokalen-tabel verwachten? Indien een lokaal altijd beschikbaar is dan kun je dit nooit afleiden uit bovenstaande tabellen, daar het alleen bezette tijden/locaties betreft en dat lokaal zal daar dan dus nooit in voorkomen.

In een "lege lokalen query" zouden de (alle aanwezige) lokalen een goed uitgangspunt vormen denk ik. Je hebt die informatie namelijk nodig om de "ruimte van beschikbare lokalen op te spannen".
 
Gijs Marien

Gijs Marien

08/10/2020 21:21:12
Quote Anchor link
Nope die is er geen, de andere twee tabellen zijn gegevens over de klas en over leerlingen. Het is niet de eerste keer dat deze opdracht gegeven is, dus het zou te doen moeten zijn met een (sub)query. Misschien trouwens met een beetje php? Ik heb namelijk echt geen idee ik loop helemaal vast
 
- Ariën  -
Beheerder

- Ariën -

08/10/2020 21:30:13
Quote Anchor link
Ik denk dat een lokalen-tabel zeker niet mag ontbreken. Wat is er mis mee op die op te zetten?
 
Gijs Marien

Gijs Marien

08/10/2020 22:15:18
Quote Anchor link
Dat gaat tegen de opdracht in.. Dat is dus het lastige. Maar anders bedoel je dus een tabel met alleen alle lokalen en een id voor de lokalen?
 
Thomas van den Heuvel

Thomas van den Heuvel

08/10/2020 22:59:19
Quote Anchor link
Lijkt mij handig, je kunt dan namelijk een soort van (denkbeeldige) matrix maken met op de ene as de lokalen en op de andere as de lesuurnummers die je vervolgens loslaat op de lessen. De "gaten" in deze matrix vormen dan de lokalen die op een bepaald tijdstip beschikbaar zijn.
 
Ivo P

Ivo P

09/10/2020 10:43:32
Quote Anchor link
je hebt vrij zeker een lokalen-tabel nodig.

Je zou uit de tabel Lessen weliswaar alle lokalen kunnen opzoeken, maar stel in lokaal 99 is nooit les.
Dan staat dat lokaal niet in Lessen, en zou je die dus ook niet als "vrij" kunnen vinden.

Dat betekent ook dat je aan het begin van het jaar (nog geen lessen in je rooster) sowieso geen enkel vrij lokaal gaat vinden.


Ik zou in Lessen trouwens ook geen kolom Lesuur varchar(3) verwachten, maar een Lesuurnr int()

net als voor lokaal, docent etc.
Gewijzigd op 09/10/2020 10:44:33 door Ivo P
 

09/10/2020 16:17:36
Quote Anchor link
Dus `lessen` koppelt lesinformatie met de les-uren in de tabel `lesuurnr` via de gedeelde kolommen `lessen`.`lesuur` en `lesuurnr`.`lesuur`. En je wilt een lijstje hebben van alle rijen in `lesuurnr` die nog niet gekoppeld zijn, ofwel die nog vrij zijn.

Dan zou de volgende query voldoende moeten zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
SELECT
  `lesuurnr`.`lesuurnr`,
  `lesuurnr`.`lesuur`
FROM `lesuurnr`
WHERE `lesuurnr`.`lesuur` NOT IN (
  SELECT `lessen`.`lesuur`
  FROM `lessen`);
Gewijzigd op 09/10/2020 16:18:03 door
 
Thomas van den Heuvel

Thomas van den Heuvel

09/10/2020 23:53:40
Quote Anchor link
Of je maakt van de lesuren en lokalen een cartesisch product (CROSS JOIN) en vergelijkt dit dan met lesuren.
Hiervoor heb je dan een lokalen-tabel nodig, maar die is sowieso zinnig om te hebben zoals @Ivo en ik al aangaven.

Structuur
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CREATE TABLE locations (
loc_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
loc_description  VARCHAR(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE timeslots (
tsl_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
tsl_description  VARCHAR(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE lessons (
les_tsl_id INT(10) UNSIGNED NOT NULL,
les_loc_id INT(10) UNSIGNED NOT NULL,
les_description VARCHAR(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER TABLE lessons ADD CONSTRAINT id_lessons PRIMARY KEY (les_tsl_id, les_loc_id);
ALTER TABLE lessons ADD FOREIGN KEY (les_tsl_id) REFERENCES timeslots(tsl_id);
ALTER TABLE lessons ADD FOREIGN KEY (les_loc_id) REFERENCES locations(loc_id);


Data
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
INSERT INTO locations (loc_description) VALUES ('lokaal A'), ('lokaal B'), ('lokaal C');
INSERT INTO timeslots (tsl_description) VALUES ('ma1'), ('ma2'), ('ma3');
INSERT INTO lessons (les_tsl_id, les_loc_id, les_description) VALUES (1,1,'Frans'), (2,1,'Nederlands'), (2,2,'Duits'), (3,3,'Engels');


Query
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
SELECT t.tsl_description, l.loc_description
FROM locations l
CROSS JOIN timeslots t
WHERE NOT EXISTS (
    SELECT 1
    FROM lessons
    WHERE les_tsl_id = t.tsl_id
    AND les_loc_id = l.loc_id
);


Levert
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
+-----------------+-----------------+
| tsl_description | loc_description |
+-----------------+-----------------+
| ma1             | lokaal B        |
| ma1             | lokaal C        |
| ma2             | lokaal C        |
| ma3             | lokaal A        |
| ma3             | lokaal B        |
+-----------------+-----------------+


Of als je dit voor de leesbaarheid wilt groeperen op lokaal
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
SELECT l.loc_description AS locatie, GROUP_CONCAT(t.tsl_description) AS vrij
FROM locations l
CROSS JOIN timeslots t
WHERE NOT EXISTS (
    SELECT 1
    FROM lessons
    WHERE les_tsl_id = t.tsl_id
    AND les_loc_id = l.loc_id
)
GROUP BY l.loc_id;


Levert
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
+----------+---------+
| locatie  | vrij    |
+----------+---------+
| lokaal A | ma3     |
| lokaal B | ma1,ma3 |
| lokaal C | ma1,ma2 |
+----------+---------+
 

10/10/2020 08:12:13
Quote Anchor link
Voor de performance zou dat idd. beter zijn, maar volgens de topicstarter valt dat buiten de opdracht, en met zo'n 1500 rijen maakt het eigenlijk ook niet uit.
Zonder kennis van SQL zou hij het nog sneller kunnen doen in Excel..

Kleine opmerking over VARCHAR.
In MySQL kan je tot VARCHAR(65535) gaan, de limiet van 255 is historisch en dient verder geen praktisch nut. Zo zullen er geen klaslokalen zijn met namen van 4 volle regels. Omdat er geen index op de namen hoeft zou je evenwel TEXT als datatype kunnen gebruiken, zonder vooraf opgegeven limiet.

Voor zover ik weet kan VARCHAR in combinatie met MyISAM (voor MySQL versie 8) en met tijdelijke in-memory tabellen met de MEMORY engine sneller werken dan TEXT, omdat data dan in-row wordt opgeslagen wat I/O zou schelen. Maar ik heb dat nooit uitgezocht.

Toen ik eenmaal om was naar Postgres heb ik over dat soort technisch geneuzel niet meer na hoeven denken, daar is TEXT en VARCHAR exact hetzelfde op technisch niveau. Dus ik heb alles maar meteen TEXT gemaakt, en hoefde ik ook geen foutmeldingen in PHP te bedenken voor als er een keer een waarde van <input type=text> binnenkomt die langer is dan 255 tekens.
Gewijzigd op 10/10/2020 08:52:20 door
 
Thomas van den Heuvel

Thomas van den Heuvel

10/10/2020 16:38:19
Quote Anchor link
Het zijn slechts mockuptabellen voor een eenvoudige test. Het type + lengte van de tekstkolommen doen er niet toe voor dit voorbeeld. Kies hiervoor wat het beste werkt.

Over het "valt buiten de opdracht": ik weet niet in welke hoedanigheid @Gijs aan deze tabellen/database werkt, maar een eerste stap in zo'n (bestaand?) systeem zou toch op zijn minst een stukje verkenning moeten zijn. Als je dan constateert dat er gewoon data ontbreekt voor het op een fatsoenlijke manier opvragen van de juiste informatie dan zou je dat simpelweg moeten terugkoppelen.

Tenzij hier andere ideeën over zijn, of dat het simpelweg niet kan? "Gaat tegen de opdracht in" is niet hetzelfde als "kan niet aangepast worden". Een locatie-tabel zou anders nogal handig zijn.

De database is op dit moment (gezien de nieuwe informatievraag) niet (langer) zo ver uitgenormaliseerd dat je hier lekker mee kunt werken. Een database zou zo ontworpen moeten zijn dat je hier ook weer makkelijk informatie uit kunt halen, als dit niet aan de orde is dan schort er iets aan het ontwerp, of het voldoet niet langer aan de nieuwe informatievraag.

Sidenote: docenten en vakken lijken ook niet te verwijzen naar aparte tabellen, zou misschien ook handig kunnen zijn om op den duur roosters uit te kunnen draaien voor zowel leerlingen alsook docenten?

Je zou zelfs kunnen stellen dat enige bestaande halsstarrigheid om dingen te veranderen -want zo klinkt het in mijn oren- nu misschien de voornaamste reden is dat de schoen knelt op het moment dat je meer/andere informatie uit zo'n systeem wilt opvragen... Als er verder geen concrete belemmering is, pas het gewoon aan en bouw de database verder uit?

Misschien is het ook handig dat de topicstarter aan kan geven waarom het aanpassen een probleem is?

En om antwoord te geven op de oorspronkelijke vraag (alle lege lokalen op een bepaald lesuur) zou je in mijn opzet de laatste query kunnen aanpassen tot
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
SELECT t.tsl_description AS lesuur, GROUP_CONCAT(l.loc_description) AS beschikbaar
FROM locations l
CROSS JOIN timeslots t
WHERE NOT EXISTS (
    SELECT 1
    FROM lessons
    WHERE les_tsl_id = t.tsl_id
    AND les_loc_id = l.loc_id
)
GROUP BY t.tsl_id


Dit levert
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
+-----------+-------------------+
| lesuur    | beschikbaar       |
+-----------+-------------------+
| ma1       | lokaal B,lokaal C |
| ma2       | lokaal C          |
| ma3       | lokaal A,lokaal B |
+-----------+-------------------+
Gewijzigd op 10/10/2020 16:41:23 door Thomas van den Heuvel
 

12/10/2020 09:32:30
Quote Anchor link
Ik zou niet durven stellen dat informatie ontbreekt.. waarschijnlijk staan in zo'n VARCHAR(3) veld de initialen van de leerkracht, afkortingen van vakken etc. waardoor iedereen op die school weet wat er wordt bedoeld. En de vragensteller had het er over dat er nog meer tabellen waren.
Verder zou ik denken dat we genoeg aandacht hebben besteed aan een huiswerkopdracht.

Als iemand het tot werk zou willen verheffen heeft die meer aan een goed boek. Ik zou "Databases modelleren, bouwen en gebruiken" van Hofstede aan willen bevelen, maar die wordt niet meer (nieuw) verkocht.
Gewijzigd op 12/10/2020 09:33:41 door
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.