· 4 years ago · Jan 25, 2021, 11:18 AM
1create table if not exists Persons (
2 Id serial primary key,
3 Name text,
4 Surname text,
5 Condition text,
6 Birthday date
7);
8
9create table if not exists Addresses (
10 Id serial primary key,
11 City text,
12 Street text,
13 HouseNumber int
14);
15
16create table if not exists Immovables (
17 Id serial primary key,
18 Address text,
19 HouseNumber int,
20 Owner serial,
21 AddressId serial,
22
23 CONSTRAINT fk_AddressId
24 FOREIGN KEY(AddressId)
25 REFERENCES Addresses(Id),
26 CONSTRAINT fk_Owner
27 FOREIGN KEY(Owner)
28 REFERENCES Persons(Id)
29);
30
31create table if not exists Ownership (
32 PersonId serial,
33 ImmovablesId serial,
34
35 CONSTRAINT fk_PersonId
36 FOREIGN KEY(PersonId)
37 REFERENCES Persons(Id),
38 CONSTRAINT fk_ImmovablesId
39 FOREIGN KEY(ImmovablesId)
40 REFERENCES Immovables(Id)
41);
42
43select AddressId from Persons
44inner join Immovables I on Persons.Id = I.Owner
45inner join Addresses A on I.AddressId = A.Id
46where Birthday in (
47 select min(Birthday) from Persons
48 )