exercice 2
diagramme de classe
MLD
création de la classe:
CREATE TABLE agence ( code serial PRIMARY KEY, num_rue integer , nom_rue varchar(30) , cp integer , ville varchar(30) , nomDirecteur varchar(30) , prenomDirecteur varchar(30) );
create slam1.personne ( code serial, nom varchar(30), prenom varchar(30), num_rue integer, nom_rue varchar(30), cp integer, ville varchar(30), tel integer, mail varchar(50), dateNaiss int, code_conjoint integer, code_pere integer, code_mere integer, primary key (code), foreign key (code_conjoint) references personne, foreign key (code_pere) references personne, foreign key (code_pere) references personne);
CREATE TABLE client ( codePersonne INT, codeBanque INT, PRIMARY KEY (codePersonne, codeBanque), FOREIGN KEY (codePersonne) REFERENCES personne(code), FOREIGN KEY (codeBanque) REFERENCES banque(code) );
CREATE TABLE "Compte" ( "numero" serial NOT NULL, "solde" float NOT NULL, "dateCreation" date NOT NULL, "codeAgence" integer NOT NULL, "codeProprietaire1" integer NOT NULL, "codeProprietaire2" integer, CONSTRAINT "Compte_pk" PRIMARY KEY ("numero") );
ALTER TABLE "Compte" ADD CONSTRAINT "Compte_fk0" FOREIGN KEY ("codeAgence") REFERENCES "Agence"("code"); ALTER TABLE "Compte" ADD CONSTRAINT "Compte_fk1" FOREIGN KEY ("codeProprietaire1") REFERENCES "Personne"("code"); ALTER TABLE "Compte" ADD CONSTRAINT "Compte_fk2" FOREIGN KEY ("codeProprietaire2") REFERENCES "Personne"("code");
SELECT num FROM slam1.compte WHERE codeProprietaire1 IS NOT NULL AND codeProprietaire2 IS NOT NULL;
Select numero, num_client1 from compte where code_agence = 'A1' order by num_client1; on nomTAble.champs = nomTable2.champs on alias_table1.champs )= ...
Select * from slam1.client where code_conjoint is not null and code_pere is not null and code_mere is not null select p1.nom, p1.prenom from personne p1 inner join personne p2 on p2.codePere = p1.code OR p2.codeMere = p1.code where p1.codeConjoint IS NOT NULL SELECT nom, prenom FROM Client C1 WHERE conjoint is not null AND EXISTS ( SELECT mere FROM Client WHERE C1.code = mere) OR EXISTS ( SELECT pere FROM Client WHERE C1.code = pere);