Toon posts:

[SQL] Query in USoft

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben alweer een tijdje uit het SQL gebeuren, dus nu zit ik met een probleem. De tabellen zijn als volgt:

RESERVATION
---------------------
RES_ID
SCHEDTOUR_ID
DESTINATION
TOUR_TYPE
ETC...

PARTICIPANT
--------------------
RES_ID
PERSON_ID
FAMILY_NAME
ETC...

Nu is het de bedoeling dat een PARTICIPANT zich niet twee keer voor dezelfde tour (SCHEDTOUR_ID) kan inschrijven, ongeacht de reservering. Dus het volgende mag niet voorkomen:

RESERVATION
--------------------
1--1--BERLIN--BUSTRIP
2--1--BERLIN--BUSTRIP

PARTICIPANT
--------------------
1--1--SHOTTEN
2--1--SHOTTEN <-- Deze mag dus niet ingevoerd worden, aangezien de PARTICIPANT zich dan twee keer voor dezelfde tour aanmeld.

QUERY
--------------------
SELECT '' violated
FROM participant p, reservation r
WHERE ????

Iemand een idee?

[ Voor 9% gewijzigd door Verwijderd op 02-06-2004 13:14 ]


  • cameodski
  • Registratie: Augustus 2002
  • Laatst online: 06-11-2023
Kun je geen unique constraint gebruiken?

Never underestimate the power of


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Ik vind je datamodel sowieso vreemd, ik zou uitgaan van een tabel voor participants, een voor trips, een een kruistabel voor reserveringen, waarin dan alleen maar een id staat om te linken naar participant, en een id om te linken naar trip. Beide id's zijn daarin dan primary key. Dit is veel makkelijker te onderhouden dan wat je nu hebt verzonnen. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Unique constraint zal niet gaan, aangzien de sleutels die je uniek wilt toekennen niet in dezelfde tabel zitten.


Het advies bij de opdracht was de volgende:
"For this constraint you can use a subquery, or you can use GROUP BY.

[ Voor 45% gewijzigd door Verwijderd op 02-06-2004 13:47 ]


Verwijderd

Topicstarter
@NMe84

Het jammerlijke is dat ik het datamodel ook niet heb verzonnen, dit was het uitgangsmodel. Wat ik aan het doen ben is het invoeren van constraints voor USoft(keuzemodule bij mij op school).