Ik heb een concrete vraag voor PostgresQL:
Stel, ik heb een muur. Die muur wordt gedefineerd door twee vertices (muurpunten):
Wanneer ik een muur weggooi, wil ik dat de database automatisch ook de vertices ervan weggooit, tenzij één van de vertices nog in gebruik is.
Is het mogelijk om dit te doen doormiddel van foreign keys? En zo ja, hoe?
Ik dacht in eerste instantie aan het zetten van een foreign key in de muur op vertexAid en vertexBid richting de vertex.id (cascading delete) en tegelijk een foreign key in de vertex op id richting muur.vertexAid en muur.vertexBid (restrict delete). Dit werkt helaas niet...
Ik begrijp dat ik dit natuurlijk ook zelf kan doen doormiddel van een aantal SQL queries, maar ik zou het fijn vinden als dit automagisch gebeurde. Mijn eerste stappen in echt DBMS land
Stel, ik heb een muur. Die muur wordt gedefineerd door twee vertices (muurpunten):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| ------------------------------- | muur | | --------------------------- | | id | vertexAid | vertexBid | | --------------------------- | | 1 | 1 | 2 | | 2 | 2 | 3 | | 3 | 3 | 4 | | 4 | 4 | 1 | ------------------------------- ------------------------------- | vertex | | --------------------------- | | id | x | y | | --------------------------- | | 1 | 0 | 0 | | 2 | 0 | 1000 | | 3 | 1000 | 1000 | | 4 | 1000 | 0 | ------------------------------- |
Wanneer ik een muur weggooi, wil ik dat de database automatisch ook de vertices ervan weggooit, tenzij één van de vertices nog in gebruik is.
Is het mogelijk om dit te doen doormiddel van foreign keys? En zo ja, hoe?
Ik dacht in eerste instantie aan het zetten van een foreign key in de muur op vertexAid en vertexBid richting de vertex.id (cascading delete) en tegelijk een foreign key in de vertex op id richting muur.vertexAid en muur.vertexBid (restrict delete). Dit werkt helaas niet...
Ik begrijp dat ik dit natuurlijk ook zelf kan doen doormiddel van een aantal SQL queries, maar ik zou het fijn vinden als dit automagisch gebeurde. Mijn eerste stappen in echt DBMS land