5 Introduction au modle relationnel 5 1 Concepts

  • Slides: 35
Download presentation
5 Introduction au modèle relationnel 5. 1 Concepts de base n n n Domaine

5 Introduction au modèle relationnel 5. 1 Concepts de base n n n Domaine : ensemble de valeurs Relation : ensemble de tuples SQL : multi-ensemble 18/01/2022 © Robert Godin. Tous droits réservés. 1

suite n Deux facettes du concept de table – Schéma d'une table (table schema)

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

Instance de BD Ventes. Plein. De. Foin 18/01/2022 © Robert Godin. Tous droits réservés.

Instance de BD Ventes. Plein. De. Foin 18/01/2022 © Robert Godin. Tous droits réservés. 3

5. 2 Contraintes d'intégrité du modèle relationnel 5. 2. 1 Contrainte de domaine et

5. 2 Contraintes d'intégrité du modèle relationnel 5. 2. 1 Contrainte de domaine et de valeur non nulle n T(A 1 : – D 1, A 2 : D 2, …, An : Dn) Di : domaine de Ai n Valeur – – 18/01/2022 nulle Comportement particulier Valeur inconnue Valeur non applicable. . . © Robert Godin. Tous droits réservés. 4

5. 2. 2 Clé primaire et contrainte d'entité n Clé unique (unique key) –

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

5. 2. 3 Contrainte d'intégrité référentielle n Clé étrangère non nulle clé primaire 18/01/2022

5. 2. 3 Contrainte d'intégrité référentielle n Clé étrangère non nulle clé primaire 18/01/2022 © Robert Godin. Tous droits réservés. 6

Représentation UML 18/01/2022 © Robert Godin. Tous droits réservés. 7

Représentation UML 18/01/2022 © Robert Godin. Tous droits réservés. 7

Nom clé étrangère nom clé primaire n Etiquette de la relation de dépendance 18/01/2022

Nom clé étrangère nom clé primaire n Etiquette de la relation de dépendance 18/01/2022 © Robert Godin. Tous droits réservés. 8

5. 3 Algèbre relationnelle n Opérations de manipulation de données n Entrée n n

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

5. 3. 1 Sélection ( ) prix. Unitaire < 20. 00 ET no. Article

5. 3. 1 Sélection ( ) prix. Unitaire < 20. 00 ET no. Article > 30 (Article) 18/01/2022 © Robert Godin. Tous droits réservés. 10

5. 3. 2 Projection ( ) no. Client, date. Commande (Commande) 18/01/2022 © Robert

5. 3. 2 Projection ( ) no. Client, date. Commande (Commande) 18/01/2022 © Robert Godin. Tous droits réservés. 11

5. 3. 3 Expressions complexes date. Commande > 05/07/2000 Commande no. Client, date. Commande

5. 3. 3 Expressions complexes date. Commande > 05/07/2000 Commande no. Client, date. Commande ( date. Commande > 05/07/2000 Commande) 18/01/2022 © Robert Godin. Tous droits réservés. 12

5. 3. 4 Produit cartésien ( ). . . Client Commande 18/01/2022 © Robert

5. 3. 4 Produit cartésien ( ). . . Client Commande 18/01/2022 © Robert Godin. Tous droits réservés. 13

Exemple. Produire les informations au sujet des Clients et de leurs Commandes Client Commande

Exemple. Produire les informations au sujet des Clients et de leurs Commandes Client Commande clé primaire = clé étrangère Client. no. Client = Commande. no. Client (Client Commande) 18/01/2022 © Robert Godin. Tous droits réservés. 14

Exemple. Produire les informations au sujet des Clients et de leurs Commandes Client. no.

Exemple. Produire les informations au sujet des Clients et de leurs Commandes Client. no. Client, nom. Client, no. Téléphone, no. Commande, date. Commande (…)) 18/01/2022 © Robert Godin. Tous droits réservés. Colonne redondante 15

5. 3. 5 Jointure naturelle ( ) Colonnes communes : colonnes de jointure ou

5. 3. 5 Jointure naturelle ( ) Colonnes communes : colonnes de jointure ou clé de jointure Client Commande 18/01/2022 © Robert Godin. Tous droits réservés. Schéma : union des colonnes 16

Sélectionner les nom. Client qui ont commandé au moins un plant d'herbe à puce

Sélectionner les nom. Client qui ont commandé au moins un plant d'herbe à puce 18/01/2022 © Robert Godin. Tous droits réservés. 17

Sélectionner les nom. Client qui ont commandé au moins un plant d'herbe à puce

Sélectionner les nom. Client qui ont commandé au moins un plant d'herbe à puce nom. Client ( description = “Herbe à puce ” (Client Commande Ligne. Commande Article)) 18/01/2022 © Robert Godin. Tous droits réservés. 18

Formulations équivalentes nom. Client ( description = “Herbe à puce ” (Client Commande Ligne.

Formulations équivalentes nom. Client ( description = “Herbe à puce ” (Client Commande Ligne. Commande Article)) n nom. Client ( description = “Herbe à puce ” (((Client Commande) Ligne. Commande) Article)) n nom. Client ( description = “Herbe à puce ” (((Client Ligne. Commande) Article)) n… n 18/01/2022 © Robert Godin. Tous droits réservés. 19

Quelques règles d ’équivalence · Eclatement d'une sélection conjonctive (SE) – · Commutativité de

Quelques règles d ’équivalence · Eclatement d'une sélection conjonctive (SE) – · Commutativité de la sélection (SC) – · T 1 T 2 = T 1 T 2 Associativité de la jointure (JA) – n liste 1 ( liste 2 (T)) = liste 1 (T) Commutativité de la jointure (JC) – · e 1 ( e 2 (T)) = e 2 ( e 1 (T)) Elimination des projections en cascades (PE) – · e 1 ET e 2 (T) = e 1 ( e 2 (T)) T 1 (T 2 T 3) = (T 1 T 2) T 3 Voir évaluation des requêtes 18/01/2022 © Robert Godin. Tous droits réservés. 20

Représentation sous forme d ’arbre de l ’expression algébrique n nom. Client ( description

Représentation sous forme d ’arbre de l ’expression algébrique n nom. Client ( description Article)) 18/01/2022 = “Herbe à puce ” (((Client Commande) Ligne. Commande) © Robert Godin. Tous droits réservés. 21

Cas d ’une clé de jointure composée Ligne. Commande Détail. Livraison 18/01/2022 © Robert

Cas d ’une clé de jointure composée Ligne. Commande Détail. Livraison 18/01/2022 © Robert Godin. Tous droits réservés. 22

5. 3. 6 n Opération renommer ( ) Quels sont les Clients qui ont

5. 3. 6 n Opération renommer ( ) Quels sont les Clients qui ont le même numéro de téléphone? Client 2 (Client) Client. no. Client, Client 2. no. Client, ( Client. no. Téléphone = Client 2. no. Téléphone (Client 2 (Client))) 18/01/2022 © Robert Godin. Tous droits réservés. 23

Renommer les colonnes n Quels sont les Clients qui ont le même numéro de

Renommer les colonnes n Quels sont les Clients qui ont le même numéro de téléphone? Client 2(no. Client 2, nom. Client 2, no. Téléphone) (Client) no. Client, no. Client 2 (Client 2(no. Client 2, nom. Client 2, no. Téléphone) (Client)) 18/01/2022 © Robert Godin. Tous droits réservés. 24

5. 3. 7 Jointure- Client no. Client = numéro. Client Commande altérée = no.

5. 3. 7 Jointure- Client no. Client = numéro. Client Commande altérée = no. Client = numéro. Client (Client Commande altérée) 18/01/2022 © Robert Godin. Tous droits réservés. 25

Cherchez les Ligne. Commandes qui ont été livrées en une seule livraison Ligne. Commande.

Cherchez les Ligne. Commandes qui ont été livrées en une seule livraison Ligne. Commande. no. Commande, Ligne. Commande. no. Artilce, quantité, no. Livraison, quantitéLivrée (Ligne. Commande Ligne. Commande. no. Commande = Détail. Livraison. no. Commande ET Ligne. Commande. no. Article = Détail. Livraison. no. Article ET quantité = quantitéLivrée Détail. Livraison) 18/01/2022 © Robert Godin. Tous droits réservés. 26

5. 3. 8 Jointure externe n · Inclure les « célibataires » La jointure

5. 3. 8 Jointure externe n · Inclure les « célibataires » La jointure externe à gauche · · La jointure externe à droite · · T 1 = T 2 (célibataires de T 1 ) T 1 = T 2 La jointure externe pleine · 18/01/2022 T 1 = = T 2 © Robert Godin. Tous droits réservés. 27

Produire les informations au sujet des Clients et de leurs Commandes incluant les informations

Produire les informations au sujet des Clients et de leurs Commandes incluant les informations sur les Clients qui n’ont pas placé de Commande Client = Commande 18/01/2022 © Robert Godin. Tous droits réservés. 28

5. 3. 9 Semi-jointure ( ) Client Commande 18/01/2022 © Robert Godin. Tous droits

5. 3. 9 Semi-jointure ( ) Client Commande 18/01/2022 © Robert Godin. Tous droits réservés. 29

5. 3. 10 Opérations ensemblistes ( , , -) n Schémas compatibles 18/01/2022 ©

5. 3. 10 Opérations ensemblistes ( , , -) n Schémas compatibles 18/01/2022 © Robert Godin. Tous droits réservés. 30

Produire les noms et numéros de téléphone des Employés qui sont aussi des Clients

Produire les noms et numéros de téléphone des Employés qui sont aussi des Clients de la pépinière ( nom. Personne, no. Téléphone ( Client (no. Client, nom. Personne, no. Téléphone) (Client))) ( nom. Personne, no. Téléphone ( Employé (code. Employé, nom. Personne, no. Téléphone) (Employé))) équivalent à si compatibles 18/01/2022 © Robert Godin. Tous droits réservés. 31

5. 3. 11 n A B – – n Division ( ) plus grande

5. 3. 11 n A B – – n Division ( ) plus grande table C qui est telle que B C A ~ inverse du produit cartésien T 1 (X) T 2 (Y) = – 18/01/2022 X-Y (T 1) - (( X-Y (T 1) T 2 ) - T 1) © Robert Godin. Tous droits réservés. 32

Quelles sont les no. Commande des Commandes qui incluent tous les Articles dont le

Quelles sont les no. Commande des Commandes qui incluent tous les Articles dont le prix. Unitaire est $10. 99 no. Commande, no. Article (Ligne. Commande) no. Article ( prix. Unitaire = 10. 99 (Article)) no. Commande, no. Article (Ligne. Commande) no. Article ( prix. Unitaire = 10. 99 (Article)) 18/01/2022 © Robert Godin. Tous droits réservés. 33

5. 3. 12 Ensemble minimal d'opérations de l'algèbre relationnelle n Sélection ( ) n

5. 3. 12 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 ( ) 18/01/2022 © Robert Godin. Tous droits réservés. 34

5. 3. 13 Extensions de l'algèbre relationnelle pour les bases de données n Fonctions

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