La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Geti2101 : Systèmes dInformation et Informatique Règles de traduction dun diagramme declasses vers un diagramme relationnel Requêtes SQL.

Présentations similaires


Présentation au sujet: "Geti2101 : Systèmes dInformation et Informatique Règles de traduction dun diagramme declasses vers un diagramme relationnel Requêtes SQL."— Transcription de la présentation:

1 Geti2101 : Systèmes dInformation et Informatique Règles de traduction dun diagramme declasses vers un diagramme relationnel Requêtes SQL

2 1. Règle1: présence de la cardinalité (?..1) dun côté de lassociation –Chaque classe se transforme en une table –Chaque attribut de classe se transforme en un champs de table –Lidentifiant de la classe qui est associée à la cardinalité (?..1) (ex: Livre) devient le clé étrangère de lautre classe (ex: Exemplaire) Contrainte dintégrité référentielle: CléEtrangère CléPrimaire Ex: Exemplaire.Code-Livre Livre.Code-Livre

3 Règle1 - Exemple Contrainte dintégrité référentielle : Exemplaire.Code-Livre Livre.Code-Livre Quel est lauteur de lexemplaire dont le N°Exemplaire est 30 ? Quels sont les exemplaires (N°Exemplaire) du livre dont le CodeLivre est 1 ? Quel est lauteur de lexemplaire dont le N°Exemplaire est 50 ? pas de sens !!!

4 2. Règle2: présence de (?..N) des deux côtés de lassociation –Chaque classe se transforme en une table –Chaque attribut de classe se transforme en un champs de table –Lassociation se transforme en une table. Cette table a comme champs lidentifiant de chacune des deux classes, plus déventuels autres attributs. Emprunte.Code-Personne Personne.Code-Personne Emprunte.Code-Livre Livre.Code-Livre

5 2. Règle2: présence de (?..N) des deux côtés de lassociation (idem sans la classe association) T_Eleve.IdEleve T_0.IdEleve T_AnneeEtude.IdAnneeEtude T_0.IdAnneeEtude

6 Règle2 - Exemple Qui a emprunté le « Happy baby book » ? Quels sont les livres (titres) qui sont empruntés par Stéphane Faulkner ? Qui a emprunté le livre « LaTEX » ? pas de sens Quels sont les livres (titres) qui sont empruntés par Pierre Dupont ? pas de sens Contraintes dintégrité référentielle : Emprunte.Code-Personne Personne.Code-Personne Emprunte.Code-Livre Livre.Code-Livre

7 3.Règle3: présence dune généralisation Méthode 1: –Créer une table avec tous les attributs des classes –Ajouter un attribut pour distinguer les types des objets {Professeur, Etudiant}

8 3.Règle3: présence dune généralisation Méthode 2: –Créer une table pour chaque sous type, chaque table se compose des attributs génériques et dattributs spécifiques

9 3.Règle3: présence dune généralisation Méthode 3: –Créer une table par classe et des associations

10 Exercice Construire le modèle relationnel correspondant au diagramme de classe suivant:

11 Exercice: Solution

12 Requêtes SQL

13 Anatomie dune requête SQL SELECT * ou liste de colonnes FROM nom de table WHERE prédicats Exemple : SELECT Nom_Client, Prénom_Client FROM Client WHERE Titre = M.

14 Client SELECT Nom_Client, Prénom_Client FROM Client WHERE Titre = M. Output

15 Client Commande SELECT Nom_Client, Prénom_Client FROM Client, Commande WHERE (Id_Produit = 32000) AND (Client.Id_Client = Commande.Id_Client) Output

16 Exercice : la base de données ClientProduit

17 Contraintes dintégrité référentielle : Commande.N_Client Client.N_Client Constitution.N_Commande Commande.N_Commande Constitution.N_Produit Produit.N_Produit Quel est le prix et numéro produit dune TV Quels sont les clients (nom) qui habitent à Bruxelles et Namur Quels sont les clients (nom et adresse) qui ont achetés de produits le 10/10/03 Quels sont les clients qui nont pas fait dachat en octobre. Qui (nom et adresse) a acheté un ordi Quels sont les produits (nomProduit) achetés par Kevin 511/11/ /11/032 Constitution QtProduit N_CommandeN_Produit Hi Fi400 CD20

18 Solution Quel est le prix et numéro produit TV SELECT Produit.Prix, Produit.N_Produit FROM Produit WHERE Produit.NomProduit = "TV"; Quels sont les clients (nom) qui habitent à Bruxelles et Namur SELECT Client.NomClient FROM Client WHERE Client.Adresse = "Bruxelles" OR Client.Adresse = "Namur"; Ou SELECT Client.NomClient FROM Client WHERE Client.Adresse IN ("Bruxelles", "Namur");

19 Solution Quels sont les clients (nom et adresse) qui ont achetés des produits le 10/10/03 SELECT Client.NomClient, Client.Adresse FROM Client, Commande WHERE (Client.N_Client = Commande.N_Client) And (Commande.DateCommande = "10/10/03"); Quels sont les clients (nom et adresse) qui nont pas fait dachat en octobre SELECT Client.NomClient, Client.Adresse FROM Client, Commande WHERE (Client.N_Client = Commande.N_Client) And (Commande.DateCommande NOT LIKE "__/10/__");

20 Solution Qui (nom et adresse) a acheté un ordi SELECT Client.NomClient, Client.Adresse FROM Client, Commande, Constitution, Produit WHERE (Client.N_Client = Commande.N_Client) And (Commande.N_Commande = Constitution.N_Commande) And (Constitution.N_Produit = Produit.N_Produit) And (Produit.NomProduit = " ordi " ); Quels sont les produits (nomProduit) achetés par Kevin SELECT Produit.NomProduit FROM Client, Commande, Constitution, Produit WHERE (Client.N_Client = Commande.N_Client) And (Commande.N_Commande = Constitution.N_Commande) And (Constitution.N_Produit = Produit.N_Produit) And (Client.NomClient ="Kevin");


Télécharger ppt "Geti2101 : Systèmes dInformation et Informatique Règles de traduction dun diagramme declasses vers un diagramme relationnel Requêtes SQL."

Présentations similaires


Annonces Google