Le retour des écoliers
[45 minutes]
Soit le schéma relationnel suivant :
IMMEUBLE (#ADI, NBETAGES, DATEC, PROP)
APPIM (#ADI, #NAPR, OCCUP, TYPE, SUPER, ETAGE)
PERSONNE (#NOM, AGE, PROF, ADR, NAPR)
ÉCOLE (#NOMEC, ADEC, DIR)
CLASSE (#NOMEC, #NCL, MAITRE)
ENFANT (#NOMP, #PRENOM, AN, NOMEC, NCL)
Avec la signification suivante :
Relation IMMEUBLE
ADI : adresse d'immeuble, clé ; on fait l'hypothèse pour simplifier, que l'adresse identifie de manière unique un immeuble
NBETAGES : nombre d'étages d'un immeuble
DATEC : date de construction (année)
PROP : nom du propriétaire de l'immeuble qui est une personne
Relation APPIM (Appartement)
ADI : adresse d'immeuble
NAPR : numéro d'appartement
OCCUP : occupant de l'appartement (nom de la personne ayant signé le contrat de location, éventuellement aucun)
TYPE : type de l'appartement (Studio, F2, ...)
SUPER : superficie de l'appartement
ETAGE : étage où se situe l'appartement
Relation PERSONNE
NOM : nom de personne, clé ; on fait l'hypothèse pour simplifier, que ce nom est unique sur l'ensemble des personnes que l'on considère dans la base
AGE : âge de la personne
PROF : profession de la personne
ADR : adresse de la résidence d'une personne, il s'agit d'un immeuble
NAPR : numéro d'appartement
Relation ÉCOLE
NOMEC : nom d'une école, clé
ADEC : adresse d'une école
DIR : nom du directeur
Relation CLASSE
NOMEC : nom d'une école
NCL : nom de la classe, e.g., CP1, CE2, CE3, etc...
MAITRE : nom de l'instituteur
Relation ENFANT
NOMP : nom de la personne responsable de l'enfant, clé e.g., père, mère etc...
PRENOM : prénom de l'enfant
AN : année de naissance
NOMEC : nom d'une école
NCL : nom de la classe
La relation IMMEUBLE décrit un ensemble d'immeubles. Chaque immeuble a un propriétaire. La relation APPIM décrit pour chaque immeuble l'ensemble des appartements qui le compose (il y a au mimimum un appartement par immeuble). Chaque appartement peut héberger plusieurs personnes mais il y en a une qui est responsable (par exemple la personne qui a signé le contrat de location) et qui est désignée par l'attribut OCCUP. Si l'appartement est inoccupé, il prend la valeur NULL. La relation PERSONNE décrit un ensemble de personnes. ADR et NAPR représentent l'adresse où réside une personne. Une personne peut avoir plusieurs enfants décrits par la relation ENFANT. Pour simplifier, on ne considère que les enfants allant à l'école primaire. Les écoles et les classes sont décrites dans les relations ÉCOLE et CLASSE, chaque école est composée au minimum d'une classe et chaque classe est au moins fréquentée par un enfant.
Question
Donner l'adresse des immeubles ayant plus de 10 étages et construits avant 1970.
Solution
R1 = SELECTION (IMMEUBLE, NBETAGES>10 ET DATEC<1970
R = PROJECTION (R1, ADI)
Question
Donner les noms des personnes qui habitent dans un immeuble dont ils sont propriétaires.
Solution
R1 = JOINTURE (PERSONNE, IMMEUBLE, PERSONNES.NOM=IMMEUBLE .PROP ET PERSONNE.ADR=IMMEUBLE.ADI
R = PROJECTION (R1, NOM)
Question
Donner les noms des personnes qui ne sont pas propriétaires.
Solution
R1 = PROJECTION (PERSONNE, NOM)
R2 = PROJECTION (IMMEUBLE, PROP)
R = R1 - R2
Question
Donner les adresses des immeubles possédés par des informaticiens dont l'âge est inférieur à 40 ans .
Solution
R1 = SELECTION (PERSONNE, PROF="INFORMATICIEN" AND AGE<40)
R2 = JOINTURE (R1, IMMEUBLE, IMMEUBLE.PROP=R1.NOM)
R = PROJECTION ( R2, ADI)
Question
Donner la liste des occupants (nom, âge, profession) des immeubles possédés par DUPONT.
Solution
R1 = SELECTION (IMMEUBLE, PROP="DUPONT")
R2 = JOINTURE (R1, APPIM, APPIM.ADI=R1.ADI)
R3 = JOINTURE (R2, PERSONNE, PERSONNE.NOM=R2.OCCUP)
R = PROJECTION (R3, NOM, AGE, PROF)
Question
Donner le nom et la profession des propriétaires d'immeubles dans lesquels il y a des appartements vides.
Solution
R1=SELECTION (APPIM, OCCUP="NULL")
R2 = JOINTURE (IMMEUBLE, R1, R1.ADI=IMMEUBLE.ADI)
R3 = JOINTURE (R2, PERSONNE, PERSONNE.NOM=R2.PROP)
R = PROJECTION (R3, PROP, PROF)
Question
Donner les noms des maîtres qui habitent dans le même immeuble (à la même adresse) qu'au moins un de leurs élèves (on suppose que les enfants vivent sous le même toit que leur parents).
Solution
R1 =JOINTURE (CLASSE, ENFANT, NOMEC=NOMEC AND NCL=NCL)
R2 = JOINTURE (R1, PERSONNE, PERSONNE.NOM=R1. MAITRE)
R3 = JOINTURE (R2, PERSONNE, PERSONNE.NOM=R2.NOMP AND PERSONNE.ADR=R2.ADR)
R = PROJECTION (R3, MAITRE)
Question
Donner l'adresse de l'immeuble, la date de construction, le type d'appartement et l'étage où habitent chacun des maîtres des enfants de DUPONT.
Solution
R1 = SELECTION (ENFANT, NOMP="DUPONT ")
R2 = JOINTURE (CLASSE, R1, NOMEC=CLASSE.NOMEC AND CLASSE.NCL=R1.NCL)
R3 = JOINTURE (R2, PERSONNE.NOM=R2.MAITRE)
R4 = JOINTURE (R3, APPIM, APPIM.ADI=R3.ADR AND R3.NAPR=APPIM.NAPR)
R5 = JOINTURE (R4, IMMEUBLE, IMMEUBLE.ADI=R4.ADR)
R = PROJECTION (R5, ADI, DATEC, TYPE, ETAGE)