Lastige (sub)query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

SQL Database Ontwikkelaar

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je houdt je bezig met het ontwerp en de ontwikkeling van MS SQL server databases, dit doe je met T-SQL als programmeer laag. De begeleiding van projecten van A tot Z, je zult aansluiten bij meetings met

Bekijk vacature »

Medior front-end developer gezocht (€3.300 -

Functie Wat ga je doen? Jij als front-end developer gaat werken binnen de teams van/voor onze klant. Je werkt in een team met starters en ervaren ontwikkelaars met allemaal 1 overeenkomst; passie voor het vak. Maak je een fout? Geen probleem, leer ervan en ga dan weer door. Door de variëteit aan werk kun je in verschillende omgevingen een kijkje nemen en jezelf dus snel ontwikkelen. Wat hebben we jou te bieden? • Uitdagende projecten bij mooie klanten (bij jou in de buurt, of binnenkort intern vanuit ons kantoor!) • Een jonge organisatie met talentvolle collega’s • Veel ruimte voor

Bekijk vacature »

Back End Developer

Als Back End developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Je hebt een focus op de back end van onze software, daarvoor werken wij hoofdzakelijk met C# en .NET. Wij hanteren een full-stack benadering, wat betekent dat je naast de back-end ook meehelpt bij andere onderdelen van de code. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein

Bekijk vacature »

Consultant Low Code Developer

Functie omschrijving Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Voor een mooie opdrachtgever in omgeving Delft zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten. Onderdelen functie Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan Mendix of Betty Blocks. Je bent verantwoordelijk voor

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe stap? Voor een softwarebedrijf in regio Oosterhout zijn wij op zoek naar een back-end developer met kennis of ervaring met C# en SQL. Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in kaart, om ze vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Front end developer React

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

Bekijk vacature »

Network Engineer (f/m/d) in Heidelberg

Network Engineer (f/m/d) The IT Services team operates and supports the IT infrastructure and services at EMBL headquarters in Heidelberg and at the laboratory’s sites in Barcelona and Rome. As part of IT Services, the Network team is responsible for managing and developing the network infrastructure in our data centres, on campus, and to our external network providers. As a leading scientific institution with highly data-intensive research, extensive data flows at and between the laboratory’s six sites and to the Internet, EMBL is connected to national and international scientific networks using state-of-the-art technologies from vendors including Cisco, Extreme Networks and

Bekijk vacature »

OutSystems developer

Dit ga je doen Klanten adviseren over de mogelijkheden van OutSystems; OutSystems oplossingen ontwikkelen en implementeren; Stakeholdermanagement; Kennis en expertise up to date houden en delen met het team. Hier ga je werken Onze opdrachtgever, gevestigd in regio Amsterdam, is een innovatieve dienstverlener die zich richt op grote corporates in verschillende sectoren. Doordat je bij veel verschillende klanten aan de slag zal gaan is geen enkel project hetzelfde. De organisatie kenmerkt zich door hoge mate van professionaliteit en innovatieve oplossingen. In de rol van OutSystems developer zal jij verschillende grote klanten helpen om efficiënte OutSystems oplossingen te ontwikkelen en implementeren.

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij toe aan een nieuwe uitdaging en werk je graag en goed in C++ en C#? Dan zijn we op zoek naar jou! Dit bedrijf is dé specialist op het gebied van automatiseringssoftware voor een specifieke branche en ze zijn per direct op zoek naar versterking in hun development team. Wat jij gaat doen binnen jouw rol als C++ ontwikkelaar; Je vertaalt de wensen van gebruikers naar een functioneel ontwerp. Je houdt je bezig met het ontwerpen, programmeren en testen van product aanpassingen. Je gaat nieuwe product releases implementeren in de projectteams. Je gaat de effecten van nieuwe

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Opleveren van mooie eindproducten, middels de Agile methodiek; Samenwerken in een team van 10 collega's; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven. De

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Voor een opdrachtgever in omgeving Moordrecht zijn wij op zoek naar een programmeur. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op

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

20/05/2024 11:14:08
 
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
 
Ad Fundum

Ad Fundum

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 Ad Fundum
 
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 |
+----------+---------+
 
Ad Fundum

Ad Fundum

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 Ad Fundum
 
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
 
Ad Fundum

Ad Fundum

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 Ad Fundum
 



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.