5 Introduction au modèle relationnel 5.1 Concepts de base

Slides:



Advertisements
Présentations similaires
1 Bases de donn é es relationnelles. 2 Introduction au mod è le relationnel les donn é es sont repr é sent é es par des tables, sans pr é juger de la.
Advertisements

3 Introduction au modèle relationnel 3.1 Concepts de base
21/04/2015© Robert Godin. Tous droits réservés.1 6Gestion des contraintes d’intégrité en SQL n Contrainte d'intégrité statique – respectée pour chacun.
Bases de données : modèlisation et SGBD Séance 3.
1 Les bases de données Séance 7 Les fonctions avancées : Opérateurs ensemblistes, Sous-requêtes et transactions.
1- Introduction 2ème partie Modèle Conceptuel des Données 2- Entités- Associations 4- Associations plurielles 3- Cardinalités 5- Associations réflexives.
1- Régles de normalisation 2ème partie : normalisation Modèle Conceptuel des Données 2- Les Formes Normales 3- Dépendances Fonctionnelles 4- Recap - Méthodologie.
Algèbre relationnelle - 1 / Djamel Berrabah Algèbre relationnelle Modèle relationnel : rappel Algèbre relationnelle.
SQL partie 5 1 LMD create – update – primary key secondary key.
1- Introduction Sommaire Modèle Logique des Données 2- Structure 3- Traduction du MCD en MLD 4- Recap - Méthodologie.
SQL : 4 fonctions d'exploitation de SGBD SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage informatique ayant pour.
SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement.
SQL partie 1 Langage de Définition de Données. SQL est un langage de définition de données  SQL est un langage de définition de données (LDD), c'est-à-dire.
Chapitre 3: SQL-ORACLE. Concepts de SQL SQL est un langage d’interrogation de base de données relationnelles pour  Définir les données (LDD)  Interroger.
Les Bases de données Définition Architecture d’un SGBD
Langage de manipulation de données (LMD)
Algèbre relationnelle
CCNP Routage Chapitre 4 - Questionnaire N°1
Les Bases de données Définition Architecture d’un SGBD
Structured Query Language
Lois fondamentales de l'algèbre de Boole
Initiation aux bases de données et à la programmation événementielle
Généralité sur les bases de données
Les bases de données et le modèle relationnel
Plan du cours Introduction : création de circuits
Fonctions logiques et algèbre booléenne
Technologies d’intelligence d’affaires
Gestion des notes des étudiants
Maria Berger - Maîtrise d'AES Algèbre relationnelle.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Régularité et algèbre 3.1 L’élève doit pouvoir explorer des relations : a) à partir de suites non numériques à motif croissant impliquant les notions d’aire.
Notion De Gestion De Bases De Données
Création Et Modification De La Structure De La Base De Données
Manipulation D’Une Base De Données
SRT3 LDAP.
SQL Structured Query Language
9 Méthodes multidimentionnelles et représentation d'associations
Conception d’une BD.
11 Théorie de la normalisation
© Robert Godin. Tous droits réservés.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
2. CONCEPTS DES BASES DE DONNEES
Algèbre relationnelle
6. CONCEPTION PHYSIQUE RELATIONNELLE
© Robert Godin. Tous droits réservés.
L1 Technique informatique
5 Analyse avec Designer d'Oracle
DOSSIER 07 – Interroger une base de données
SIO SI3 : Exploitation des données
4 Méthodes multidimentionnelles et représentation d'associations
1. LE LANGAGE SQL DDL Version 2 - Janvier Le langage SQL-DDL
7 Contraintes d’intégrité en SQL
Semaine 3 Retour sur la semaine 2 Plan de séance
© Robert Godin. Tous droits réservés.
03- Evaluation Access 2003 Cette évaluation comporte des QCM (1 seule réponse) et des Zones à déterminer dans des copies d’écran.
La recherche avancée.
20 Données semi-structurées et XML
Algèbre Relationnelle
9 Méthodes multidimentionnelles et représentation d'associations
9 Méthodes multidimentionnelles et représentation d'associations
État d’avancement REGARDS
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
© Robert Godin. Tous droits réservés.
SQL Structured Query Language
© Robert Godin. Tous droits réservés.
Bases de Données Relationnelles(1)
1. LE LANGAGE SQL DDL Version 1 - Mai 2009 corrigé le 11/2/2011
Les séquences au 2e cycle du secondaire
22 Logique et bases de données
© Robert Godin. Tous droits réservés.
Transcription de la présentation:

5 Introduction au modèle relationnel 5.1 Concepts de base Domaine : ensemble de valeurs Relation : ensemble de tuples SQL : multi-ensemble 27/11/2018 © Robert Godin. Tous droits réservés.

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

Instance de BD VentesPleinDeFoin

© Robert Godin. Tous droits réservés. 5.2 Contraintes d'intégrité du modèle relationnel 5.2.1 Contrainte de domaine et de valeur non nulle T(A1 : D1, A2 : D2, …, An : Dn) Di : domaine de Ai Valeur nulle Comportement particulier Valeur inconnue Valeur non applicable ... 27/11/2018 © Robert Godin. Tous droits réservés.

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

5.2.3 Contrainte d'intégrité référentielle Clé étrangère non nulle  clé primaire 27/11/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Représentation UML 27/11/2018 © Robert Godin. Tous droits réservés.

Nom clé étrangère  nom clé primaire Etiquette de la relation de dépendance 27/11/2018 © Robert Godin. Tous droits réservés.

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

© Robert Godin. Tous droits réservés. 5.3.1 Sélection ()  prixUnitaire < 20.00 ET noArticle > 30 (Article) 27/11/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 5.3.2 Projection ()  noClient, dateCommande (Commande) 27/11/2018 © Robert Godin. Tous droits réservés.

5.3.3 Expressions complexes  dateCommande > 05/07/2000 Commande  noClient, dateCommande ( dateCommande > 05/07/2000 Commande) 27/11/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 5.3.4 Produit cartésien () ... Client  Commande 27/11/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 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) 27/11/2018 © Robert Godin. Tous droits réservés.

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

5.3.5 Jointure naturelle () Colonnes communes : colonnes de jointure ou clé de jointure Schéma : union des colonnes Client  Commande 27/11/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Sélectionner les nomClient qui ont commandé au moins un plant d'herbe à puce 27/11/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Sélectionner les nomClient qui ont commandé au moins un plant d'herbe à puce  nomClient ( description = “Herbe à puce ” (Client  Commande  LigneCommande  Article)) 27/11/2018 © Robert Godin. Tous droits réservés.

Formulations équivalentes  nomClient ( description = “Herbe à puce ” (Client  Commande  LigneCommande  Article))  nomClient ( description = “Herbe à puce ” (((Client  Commande)  LigneCommande)  Article))  nomClient ( description = “Herbe à puce ” (((Client  LigneCommande)  Commande)  Article)) … 27/11/2018 © Robert Godin. Tous droits réservés.

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) T1  T2 = T1  T2 Associativité de la jointure (JA) T1  (T2  T3) = (T1  T2)  T3 Voir évaluation des requêtes 27/11/2018 © Robert Godin. Tous droits réservés.

Représentation sous forme d ’arbre de l ’expression algébrique  nomClient ( description = “Herbe à puce ” (((Client  Commande)  LigneCommande)  Article)) 27/11/2018 © Robert Godin. Tous droits réservés.

Cas d ’une clé de jointure composée LigneCommande  DétailLivraison 27/11/2018 © Robert Godin. Tous droits réservés.

5.3.6 Opération renommer () 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))) 27/11/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Renommer les colonnes 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)) 27/11/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 5.3.7 Jointure- Client  noClient = numéroClient Commande altérée =  noClient = numéroClient (Client  Commande altérée) 27/11/2018 © Robert Godin. Tous droits réservés.

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) 27/11/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 5.3.8 Jointure externe Inclure les « célibataires » La jointure externe à gauche T1 = T2 (célibataires de T1 ) La jointure externe à droite T1 = T2 La jointure externe pleine T1 == T2 27/11/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 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 27/11/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 5.3.9 Semi-jointure () Client Commande 27/11/2018 © Robert Godin. Tous droits réservés.

5.3.10 Opérations ensemblistes (,, -) Schémas compatibles 27/11/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 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 27/11/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 5.3.11 Division () A  B plus grande table C qui est telle que B  C  A ~ inverse du produit cartésien T1 (X)  T2 (Y) =  X-Y (T1) - (( X-Y (T1)  T2 ) - T1) 27/11/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Quelles sont les noCommande des Commandes qui incluent tous les Articles dont le prixUnitaire est $10.99  noCommande, noArticle (LigneCommande)  noArticle ( prixUnitaire = 10.99 (Article))  noCommande, noArticle (LigneCommande)   noArticle ( prixUnitaire = 10.99 (Article)) 27/11/2018 © Robert Godin. Tous droits réservés.

5.3.12 Ensemble minimal d'opérations de l'algèbre relationnelle Sélection () Projection () Produit cartésien () Union () Différence (-) Renommage () 27/11/2018 © Robert Godin. Tous droits réservés.

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