Lastige (sub)query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Applicatie Ontwikkelaar

Bedrijfsomschrijving DUO verzorgt als uitvoeringsorganisatie, zijnde onderdeel van het Ministerie van Onderwijs, Cultuur en Wetenschap de uitvoering van complexe wet- en regelgeving en heeft een uitgebreid dienstenpakket. DUO financiert en informeert onderwijsdeelnemers en onderwijsinstellingen. Voor verdere informatie zie www.duo.nl Functieomschrijving Wie zoeken we? Jij bent een enthousiaste, flexibele OPS’er die het leuk vindt om het bestaande examenlandschap te vernieuwen. Je bent leergierig en hebt interesse in cloud- en containertechnieken zoals OpenShift, Docker en Helm. Je gaat een uitdaging niet uit de weg en wil je nieuw opgedane kennis graag delen met de collega’s binnen en buiten het team. Doordat de

Bekijk vacature »

Front-end (Angular) developer - remote werken

Functie Als Front-end (Angular) developer ga je aan de slag met het uitbouwen van hun webapplicatie, als één van de front-end experts ga je samen met collega’s in een devops team werken aan een nieuw front-end voor hun calculatie oplossing. Binnen de calculatiesoftware kunnen meerdere professionals tegelijk samenwerken, 3D calculaties uitvoeren en ook inzien met de benodigde specifieke details. Deze software wordt veel ingezet om projectbeschrijvingen en kosten in kaart te brengen, en tijdens de uitvoering te bewaken. Maar hiernaast liggen er in de toekomst veel meer plannen op het gebied van front-end in de andere applicaties. Genoeg te doen

Bekijk vacature »

Senior .Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving Startende Software Ontwikkelaar gezocht met kennis van C# .NET! Ben jij net klaar met je opleiding en ben je op zoek naar je eerste echte werkervaring? Of heb jij al enige werkervaring maar ben toe aan iets nieuws? Dan is dit de perfecte kans voor jou! Wij zoeken namelijk een Junior Software Ontwikkelaar die klaar is voor een nieuwe uitdaging bij een leuke werkgeven in de regio Zeist. In deze functie werk jij vaak aan verschillende projecten en ga je bij klanten op bezoek. Ben jij op zoek naar een functie met uitdaging, diversiteit en verantwoordelijkheid? Dan is

Bekijk vacature »

Front-end Developer

Dit ga je doen Doorontwikkelen van software; Ontwikkelen en testen van nieuwe functionaliteiten; Implementaties van nieuwe functionaliteiten en updates; Verzorgen van technische migraties naar nieuwe frameworks; Verwerken van incidenten. Hier ga je werken Onze klant, gevestigd in de regio Amsterdam, draagt bij aan het verbeteren van de veiligheid en efficiëntie van de Nederlandse infrastructuur door het ontwikkelen van afgemeten software oplossingen. Zo passen zij location intelligence toe om onderhoud en reparaties efficiënt te laten verlopen. Verder zorgen deze systemen dat incidenten zo snel mogelijk worden opgelost. Als Front-end Developer ben jij samen met je team betrokken met het (door)ontwikkelen van

Bekijk vacature »

Java Developer

Dit ga je doen Het ontwikkelen van nieuwe software; Het ombouwen van de bestaande software; Zowel back- als front-end software ontwikkelen; Het testen; Het implementeren van de volledig geteste software; Het verzorgen van nazorg en het oplossen van bugs; Het opstellen en bijhouden van procesdocumentatie; Je draagt bij aan het agile/scrum processen van het team. Hier ga je werken Ongetwijfeld heb je een of meerdere producten van deze organisatie in huis. Het proces erachter, daar ben je ongetwijfeld minder bekend mee. Deze opdracht geeft je de kans meer over dit proces te weten te komen en een mooie bijdrage te

Bekijk vacature »

Ervaren PHP developer gezocht!

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

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 »

Medior C# Developer

You'll build modern applications for Coolblue's back office. We have a lot of friends, and they crave well-structured data and user-friendly, task-focused applications. How do I become a Medior C# Developer at Coolblue? You regularly participate in brainstorm sessions about user experience, data, and task flow with the UX Designer, Product Owner, and Data Scientists in your team. Besides that you will create disconnected, highly congruent, and testable code that can easily be maintained and is future-proof. Want to become C# Developer at Coolblue? Read below if the job suits you. You enjoy doing this Working with various types of

Bekijk vacature »

.NET Developer Medior Senior

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Herbruikbare componenten maken; Testen; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als .NET Developer kom jij terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als .NET Developer werk jij aan het ontwikkelen van verbeterde software voor

Bekijk vacature »

Mendix Developer

For our client in Amsterdam, we are looking for a Senior Mendix Developer. Company description Our client is an IT Consultancy company who’s been active for 10 years now. With their ambitious team, they are working with different clients in order to help them with analyzing their data and giving advice to them, regarding how they can use their data in the smartest ways, or to make sure that their mobile or web applications are working efficiently. As you get a glimpse of various industries, it is guaranteed that no day will be the same. Job description As a Mendix

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Junior .NET developer

Functie Wij hebben drie scrumteams. Het eerste team focust zich op het stukje hardware wat wij in huis doen. Zij maken als team o.a. gebruik van C++. De andere twee scrumteams zijn allebei bezig met data verwerking en maken hierbij in de backend gebruik van C# .NET / .NET Core. Het verschil tussen deze teams is dat één team de data verwerking doet voor de mobiele applicatie. Zij werken hierbij dus ook met Xamarin. Het andere team focust zich op de webapplicaties en maakt hierbij ook gebruik van ASP.NET MVC. Op basis van jouw ambities en kwaliteiten kijken wij samen

Bekijk vacature »

Junior Software Developer (HBO / WO)

Functie omschrijving Wij zijn op zoek naar een Junior Software Developer! Sta jij aan het begin van je carrière en heb je net je HBO of WO-diploma in de richting van ICT of Techniek mogen ontvangen? En heb jij grote affiniteit met software development? Dan hebben wij bij Jelling IT Professionals de perfecte opdrachtgever in de omgeving van Utrecht, die jou tot een volwaardig Fullstack Software Developer gaat opleiden. Binnen deze grote organisatie krijg je ruime en professionele trainingen die jouw in korte tijd vakbekwaam maken. Niet alleen het aan technisch aspect, maar ook zeker jouw persoonlijke ontwikkeling wordt veel

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

24/11/2024 14:22:04
 
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.