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

21/05/2014© Robert Godin. Tous droits réservés.1 3Introduction au modèle relationnel 3.1Concepts de base n Domaine : ensemble de valeurs n Relation : ensemble.

Présentations similaires


Présentation au sujet: "21/05/2014© Robert Godin. Tous droits réservés.1 3Introduction au modèle relationnel 3.1Concepts de base n Domaine : ensemble de valeurs n Relation : ensemble."— Transcription de la présentation:

1 21/05/2014© Robert Godin. Tous droits réservés.1 3Introduction au modèle relationnel 3.1Concepts de base n Domaine : ensemble de valeurs n Relation : ensemble de n-uplets (tuples) n SQL : multi-ensemble

2 21/05/2014© Robert Godin. Tous droits réservés.2 suite n Deux facettes du concept de table – Schéma d'une table (table schema) n définition de son type (intention) n ex: Client(noClient, nomClient, noTéléphone) – Instance ou extension d'une table n état de la table n ~ variable qui contient un ensemble de lignes n modifications d état n Schéma relationnel – ensemble de schémas de tables

3 Instance de BD VentesPleinDeFoin

4 21/05/2014© Robert Godin. Tous droits réservés.4 3.2Contraintes d'intégrité du modèle relationnel 3.2.1Contrainte de domaine et de valeur non nulle n T(A 1 : D 1, A 2 : D 2, …, A n : D n ) – D i : domaine de A i n Valeur nulle – Comportement particulier – Valeur inconnue – Valeur non applicable –...

5 21/05/2014© Robert Godin. Tous droits réservés Clé primaire et contrainte d'entité n Clé unique (unique key) – ou superclé (superkey ) – identifiant n Clé candidate (candidate key) – clé unique minimale n Clé primaire (primary key) – sert de mécanisme de référence aux lignes de la table n Contrainte d'entité (entity constraint) – clé primaire – non nulle

6 21/05/2014© Robert Godin. Tous droits réservés Contrainte d'intégrité référentielle n Clé étrangère non nulle clé primaire

7 21/05/2014© Robert Godin. Tous droits réservés.7 Représentation UML

8 21/05/2014© Robert Godin. Tous droits réservés.8 Nom clé étrangère nom clé primaire n Étiquette de la relation de dépendance

9 21/05/2014© Robert Godin. Tous droits réservés Conception logique : traduction du modèle conceptuel de données en schéma conceptuel relationnel n Output : schéma relationnel (niveau conceptuel) – tables – colonnes n types, domaines,... – contraintes d intégrité n clés primaires, étrangères,... n Input à la conception – modèle conceptuel des données n MDA – Platform Specific Model (PSM)

10 21/05/2014© Robert Godin. Tous droits réservés Première ébauche du schéma : une table par classe

11 21/05/2014© Robert Godin. Tous droits réservés Traduction des attributs n Attribut de la classe -> colonne de la table

12 21/05/2014© Robert Godin. Tous droits réservés TRADUCTION DES CONTRAINTES D'IDENTIFICATION (UNIQUE) n Contrainte UNIQUE -> clé candidate relationnelle – clé primaire ?

13 21/05/2014© Robert Godin. Tous droits réservés TRADUCTION DES TYPES DE DONNÉES

14 21/05/2014© Robert Godin. Tous droits réservés.14 Types de données déclarés n Domaine pas toujours supporté par le dialecte SQL

15 21/05/2014© Robert Godin. Tous droits réservés TYPES ÉNUMÉRÉS n Petit domaine invariant – création d un domaine VARCHAR + CHECK

16 21/05/2014© Robert Godin. Tous droits réservés.16 Création d une table n Gros domaine ou extensible – création d une table à part – utilisé comme liste de valeurs (LOV Designer) – introduction d une clé primaire artificielle ?

17 21/05/2014© Robert Godin. Tous droits réservés TYPES COMPLEXES n 1. Représentation explicite des attributs du type complexe

18 21/05/2014© Robert Godin. Tous droits réservés Création d'une nouvelle table n N.B. Pas de partage de la même adresse !

19 21/05/2014© Robert Godin. Tous droits réservés QUALIFICATEUR n Colonne dans la table du rôle opposé – voir

20 21/05/2014© Robert Godin. Tous droits réservés DISCRIMINANT n Redondant ?

21 21/05/2014© Robert Godin. Tous droits réservés ATTRIBUT MULTIVALUÉ n Table à part – clé étrangère + colonne pour l attribut n Petit tableau de taille fixe – n colonnes (valeurs nulles) n Encodage – invisible au SGBD n Oracle8 – VARRAY, NESTED TABLE

22 21/05/2014© Robert Godin. Tous droits réservés COMPRESSION DES VALEURS DES ATTRIBUTS DE GRANDE TAILLE n Supporté par le SGBD ? n Multimédia

23 21/05/2014© Robert Godin. Tous droits réservés CRÉATION DE TABLES SUPPLÉMENTAIRES POUR LES ATTRIBUTS DE CLASSE

24 21/05/2014© Robert Godin. Tous droits réservés Réalisation de l'identité par les clés primaires

25 21/05/2014© Robert Godin. Tous droits réservés CRÉATION D'UNE CLÉ PRIMAIRE ARTIFICIELLE n De manière systématique ? n Mécanisme de SEQUENCE Oracle

26 21/05/2014© Robert Godin. Tous droits réservés UTILISATION D'UN IDENTIFIANT NATUREL COMME CLÉ PRIMAIRE n 1. Utilisation d'un identifiant naturel (UNIQUE) n Si identifiant naturel trop lourd – introduire clé primaire artificielle

27 21/05/2014© Robert Godin. Tous droits réservés Utilisation du qualificateur

28 21/05/2014© Robert Godin. Tous droits réservés IDENTIFIANT NATUREL POUR UNE SPÉCIALISATION n Éviter de changer de clé primaire dans le contexte d une hiérarchie de généralisation n Si la table du parent est omise – considérer identifiant naturel de la spécialisation

29 21/05/2014© Robert Godin. Tous droits réservés Traduction des associations

30 21/05/2014© Robert Godin. Tous droits réservés CAS GÉNÉRAL : TRADUCTION D'UNE ASSOCIATION PAR UNE TABLE

31 21/05/2014© Robert Godin. Tous droits réservés TRADUCTION D'UN RÔLE ORDONNÉ POUR UNE ASSOCIATION

32 21/05/2014© Robert Godin. Tous droits réservés CLASSE ASSOCIATIVE

33 21/05/2014© Robert Godin. Tous droits réservés CAS UN À PLUSIEURS n 1. Traduction par une table ?

34 21/05/2014© Robert Godin. Tous droits réservés Traduction par l'ajout d'une clé étrangère à privilégier n Navigation plus performante

35 21/05/2014© Robert Godin. Tous droits réservés.35 Renommer la clé étrangère au besoin

36 21/05/2014© Robert Godin. Tous droits réservés CAS UN À UN n 1. Une clé étrangère (du côté obligatoire)

37 21/05/2014© Robert Godin. Tous droits réservés Une nouvelle table

38 21/05/2014© Robert Godin. Tous droits réservés Fusion n Cas 1-1 obligatoire

39 21/05/2014© Robert Godin. Tous droits réservés CAS DE L'AGRÉGATION n Comme une association normale

40 21/05/2014© Robert Godin. Tous droits réservés.40 Composition n Cas 1-1 – ~ attribut complexe n Mode SQL CASCADE n Oracle8 – VARRAY, NESTED TABLE

41 21/05/2014© Robert Godin. Tous droits réservés Traduction des relations de généralisation/spécialisation n Délégation n Fusion n Concaténation

42 21/05/2014© Robert Godin. Tous droits réservés DÉLÉGATION

43 21/05/2014© Robert Godin. Tous droits réservés.43 Changement de clé primaire ? n Extraire le téléphone résidence d'un Membre possédant l'idUtilisateur 12345

44 21/05/2014© Robert Godin. Tous droits réservés.44 Traduction de la contrainte {disjointe, complète}

45 21/05/2014© Robert Godin. Tous droits réservés Cas de la multi-classification et de l'héritage multiple 1. Créer une table de jointure

46 21/05/2014© Robert Godin. Tous droits réservés.46 Alternatives n 2. Identité commune sans table de jointure n 3. Identité séparée et redondance de données

47 21/05/2014© Robert Godin. Tous droits réservés ANALOGIE AVEC UNE ASSOCIATION UN À UN n Clé étrangère – dans l enfant – dans le parent ??? n Approche Arc de Designer n Fusion – vers le parent (approche par fusion) – vers l enfant (approche par concaténation) n Nouvelle table ???

48 21/05/2014© Robert Godin. Tous droits réservés FUSION

49 21/05/2014© Robert Godin. Tous droits réservés CONCATÉNATION Conserver une table pour le parent ?

50 21/05/2014© Robert Godin. Tous droits réservés.50 Cas d une référence au parent

51 21/05/2014© Robert Godin. Tous droits réservés TRADUCTION DES GÉNÉRALISATIONS POUR SYLERAT

52 21/05/2014© Robert Godin. Tous droits réservés Traduction des autres contraintes

53 21/05/2014© Robert Godin. Tous droits réservés Algèbre relationnelle n Opérations de manipulation de données n Entrée – une table : opération unaire – deux tables : opération binaire n Sortie – une table – permet la composition n Origine de SQL (« SQUARE de IBM, San Jose »)

54 21/05/2014© Robert Godin. Tous droits réservés Sélection ( ) prixUnitaire 30 (Article)

55 21/05/2014© Robert Godin. Tous droits réservés Projection ( ) noClient, dateCommande (Commande)

56 21/05/2014© Robert Godin. Tous droits réservés Expressions complexes noClient, dateCommande ( dateCommande > 05/07/2000 Commande) dateCommande > 05/07/2000 Commande

57 21/05/2014© Robert Godin. Tous droits réservés Produit cartésien ( ) Client Commande...

58 21/05/2014© Robert Godin. Tous droits réservés.58 Exemple. Produire les informations au sujet des Clients et de leurs Commandes Client Commande clé primaire = clé étrangère Client.noClient = Commande.noClient (Client Commande)

59 21/05/2014© Robert Godin. Tous droits réservés.59 Exemple. Produire les informations au sujet des Clients et de leurs Commandes Client.noClient, nomClient, noTéléphone, noCommande, dateCommande (…)) Colonne redondante

60 21/05/2014© Robert Godin. Tous droits réservés Jointure naturelle ( ) Client Commande Colonnes communes : colonnes de jointure ou clé de jointure Schéma : union des colonnes

61 21/05/2014© Robert Godin. Tous droits réservés.61 Sélectionner les nomClient qui ont commandé au moins un plant d'herbe à puce

62 21/05/2014© Robert Godin. Tous droits réservés.62 Sélectionner les nomClient qui ont commandé au moins un plant d'herbe à puce nomClient ( description = Herbe à puce (Client Commande LigneCommande Article))

63 21/05/2014© Robert Godin. Tous droits réservés.63 Formulations équivalentes n nomClient ( description = Herbe à puce (Client Commande LigneCommande Article)) n nomClient ( description = Herbe à puce (((Client Commande) LigneCommande) Article)) n nomClient ( description = Herbe à puce (((Client LigneCommande) Commande) Article)) n …

64 21/05/2014© Robert Godin. Tous droits réservés.64 Quelques règles d équivalence Eclatement d'une sélection conjonctive (SE) – e1 ET e2 (T) = e1 ( e2 (T)) Commutativité de la sélection (SC) – e1 ( e2 (T)) = e2 ( e1 (T)) Elimination des projections en cascades (PE) – liste1 ( liste2 (T)) = liste1 (T) Commutativité de la jointure (JC) – T 1 T 2 = T 1 T 2 Associativité de la jointure (JA) – T 1 (T 2 T 3 ) = (T 1 T 2 ) T 3 n Voir évaluation des requêtes

65 21/05/2014© Robert Godin. Tous droits réservés.65 Représentation sous forme d arbre de l expression algébrique n nomClient ( description = Herbe à puce (((Client Commande) LigneCommande) Article))

66 21/05/2014© Robert Godin. Tous droits réservés.66 Cas d une clé de jointure composée LigneCommande DétailLivraison

67 21/05/2014© Robert Godin. Tous droits réservés Opération renommer ( ) n Quels sont les Clients qui ont le même numéro de téléphone? Client2 (Client) Client.noClient, Client2.noClient, ( Client.noTéléphone = Client2.noTéléphone (Client Client2 (Client)))

68 21/05/2014© Robert Godin. Tous droits réservés.68 Renommer les colonnes n Quels sont les Clients qui ont le même numéro de téléphone? Client2(noClient2, nomClient2, noTéléphone) (Client) noClient, noClient2 (Client Client2(noClient2, nomClient2, noTéléphone) (Client))

69 21/05/2014© Robert Godin. Tous droits réservés Jointure- Client noClient = numéroClient Commande altérée = noClient = numéroClient (Client Commande altérée)

70 21/05/2014© Robert Godin. Tous droits réservés.70 Cherchez les LigneCommandes qui ont été livrées en une seule livraison LigneCommande.noCommande, LigneCommande.noArtilce, quantité, noLivraison, quantitéLivrée (LigneCommande LigneCommande.noCommande = DétailLivraison.noCommande ET LigneCommande.noArticle = DétailLivraison.noArticle ET quantité = quantitéLivrée DétailLivraison)

71 21/05/2014© Robert Godin. Tous droits réservés Jointure externe n Inclure les « célibataires » La jointure externe à gauche T 1 = T 2 (célibataires de T 1 ) La jointure externe à droite T 1 = T 2 La jointure externe pleine T 1 = = T 2

72 21/05/2014© Robert Godin. Tous droits réservés.72 Produire les informations au sujet des Clients et de leurs Commandes incluant les informations sur les Clients qui nont pas placé de Commande Client = Commande

73 21/05/2014© Robert Godin. Tous droits réservés Semi-jointure ( ) Client Commande

74 21/05/2014© Robert Godin. Tous droits réservés Opérations ensemblistes (,, -) n Schémas compatibles

75 21/05/2014© Robert Godin. Tous droits réservés.75 Produire les noms et numéros de téléphone des Employés qui sont aussi des Clients de la pépinière ( nomPersonne, noTéléphone ( Client (noClient, nomPersonne, noTéléphone) (Client))) ( nomPersonne, noTéléphone ( Employé (codeEmployé, nomPersonne, noTéléphone) (Employé))) équivalent à si compatibles

76 21/05/2014© Robert Godin. Tous droits réservés Division ( ) n A B – plus grande table C qui est telle que B C A – ~ inverse du produit cartésien n T 1 (X) T 2 (Y) = – X-Y (T 1 ) - (( X-Y (T 1 ) T 2 ) - T 1 )

77 21/05/2014© Robert Godin. Tous droits réservés.77 Quelles sont les noCommande des Commandes qui incluent tous les Articles dont le prixUnitaire est $10.99 noArticle ( prixUnitaire = (Article)) noCommande, noArticle (LigneCommande) noCommande, noArticle (LigneCommande) noArticle ( prixUnitaire = (Article))

78 21/05/2014© Robert Godin. Tous droits réservés Ensemble minimal d'opérations de l'algèbre relationnelle n Sélection ( ) n Projection ( ) n Produit cartésien ( ) n Union ( ) n Différence (-) n Renommage ( )

79 21/05/2014© Robert Godin. Tous droits réservés Extensions de l'algèbre relationnelle pour les bases de données n Fonctions sur colonnes – opérations arithmétiques (+, -, *, /,…) – manipulation de chaînes (concaténation, …) –... n Fonctions de groupe (ou d'agrégat) – e.g. total, moyenne, écart-type, min, max,… n Récursivité – e.g. fermeture transitive


Télécharger ppt "21/05/2014© Robert Godin. Tous droits réservés.1 3Introduction au modèle relationnel 3.1Concepts de base n Domaine : ensemble de valeurs n Relation : ensemble."

Présentations similaires


Annonces Google