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 d’Information et Informatique

Présentations similaires


Présentation au sujet: "Geti2101 : Systèmes d’Information et Informatique"— Transcription de la présentation:

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

2 1. Règle1: présence de la cardinalité (?..1) d’un côté de l’association
Chaque classe se transforme en une table Chaque attribut de classe se transforme en un champs de table L’identifiant de la classe qui est associée à la cardinalité (?..1) (ex: Livre) devient le clé étrangère de l’autre classe (ex: Exemplaire) Contrainte d’intégrité référentielle: CléEtrangère  CléPrimaire Ex: Exemplaire.Code-Livre  Livre.Code-Livre

3 Règle1 - Exemple Quel est l’auteur de l’exemplaire dont le N°Exemplaire est 30 ? Quels sont les exemplaires (N°Exemplaire) du livre dont le CodeLivre est 1 ? Quel est l’auteur de l’exemplaire dont le N°Exemplaire est 50 ?  pas de sens !!! Contrainte d’intégrité référentielle : Exemplaire.Code-Livre  Livre.Code-Livre

4 2. Règle2: présence de (?..N) des deux côtés de l’association
Chaque classe se transforme en une table Chaque attribut de classe se transforme en un champs de table L’association se transforme en une table. Cette table a comme champs l’identifiant 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 l’association (idem sans la classe association)
T_Eleve.IdEleve  T_0.IdEleve T_AnneeEtude.IdAnneeEtude  T_0.IdAnneeEtude

6 Règle2 - Exemple Contraintes d’intégrité référentielle :
Emprunte.Code-Personne  Personne.Code-Personne Emprunte.Code-Livre  Livre.Code-Livre 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

7 Règle3: présence d’une 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 Règle3: présence d’une généralisation
Méthode 2: Créer une table pour chaque sous type, chaque table se compose des attributs génériques et d’attributs spécifiques

9 Règle3: présence d’une 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 d’une 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 SELECT Nom_Client, Prénom_Client FROM Client WHERE Titre = ‘M.’
Output

15 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 Quel est le prix et numéro produit d’une TV
Client N_Client NomClient Adresse Tel 1 Michel Bruxelles 123456 2 David Namur 456298 3 Harold Lieget 876230 4 Kevin Bastogne 937402 5 Louis 384043 Quel est le prix et numéro produit d’une 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 n‘ont pas fait d’achat en octobre. Qui (nom et adresse) a acheté un ordi Quels sont les produits (nomProduit) achetés par Kevin Commande N_Commande DateCommande N_Client 1 12/09/03 2 16/09/03 3 01/10/03 4 10/10/03 5 11/11/03 5 6 13/11/03 2 Constitution QtProduit N_Commande N_Produit 25 5 100 1 1 200 50 4 400 1 100 20 2 200 Produit N_Produit NomProduit Prix Ordi 800 TV 500 2 3 300 300 Hi Fi 400 400 CD 20 Contraintes d’intégrité référentielle : Commande.N_Client  Client.N_Client Constitution.N_Commande  Commande.N_Commande Constitution.N_Produit  Produit.N_Produit

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 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 n’ont pas fait d’achat en octobre (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 (Client.NomClient ="Kevin");


Télécharger ppt "Geti2101 : Systèmes d’Information et Informatique"

Présentations similaires


Annonces Google