Bases de données : modèlisation et SGBD Séance 3.

Slides:



Advertisements
Présentations similaires
Initiation au langage S.Q.L.*
Advertisements

Bases de Données Avancées: Bases de Données Relationnelles
Benoît Piranda Équipe SISAR Université de Marne La Vallée Bases de données Algèbre relationnelle, opérations Requêtes SQL.
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Bases de données : modèlisation et SGBD
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.

Programme Introduction aux BD et aux SGBD Le modèle relationnel
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
Initiation à la Bioinformatique
LMD: Langage de Manipulation de Données
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
Contrôles d'accès aux données
L’utilisation des bases de données
Rappel sur les bases de données et le vocabulaire
LE LANGAGE SQL Langage de manipulation de données (LMD)
Les bases de données Cours assuré par: Mlle Smii imen
L’utilisation des bases de données
Modèle Logique de Données
Algèbre relationnelle et SQL
Management of Information Technology - e-business
Bases de Données Avancées - TP2: SQL
Cours 4b: Introduction au SQL, le langage des SGBD Relationnels
Introduction.
SQL partie 4. SQL est un langage de protections d'accès Il est possible avec SQL de définir des permissions au niveau des utilisateurs d'une base de données.
Base de Données.
Partie2: Introduction à SQL LANGAGE DE REQUETES RELATIONNEL CHAPITRE 4: INTERROGATION DES BASES DE DONNÉES.
Le langage de requêtes SQL
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Bases de données : modèlisation et SGBD
Cours SQL.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
 Le langage SQL Introduction SQL : Strutured Query Language, est un langage de requête, que l'on retrouve dans divers SGBDR (Access de Microsoft, MySQL,
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Les vues Une vue: c’est une relation virtuelle. Définie par:
 L’information est conservée sous forme de tables  Contient: ◦ Un nom ◦ Une clé primaire ◦ Une liste de colonnes ◦ Les informations/données (sous forme.
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
Structured Query Language 1/34. SQL Types de données Langage de Définition de Données (LDD) Langage de Manipulation de Données (LDM) Langage de Contrôle.
Les bases de données Séance 8 Jointures.
Le Langage de Manipulation de Données LMD. 2 Les ordres SQL de manipulation INSERT –Insertion (ajout) de ligne(s) dans une table –Utiliser SQL*LOAD pour.
Le langage SQL.
Séance /10/2004 SGBD - Approches & Principes.
Initiation aux bases de données et à la programmation événementielle Cours N°2 : langage d’interrogation de données. (Les requêtes statistiques et autres).
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Op é rateurs ensemblistes Module 4. 2 La clause GROUP BY La clause GROUP BY est nécessaire dès que l'on utilise des fonctions de calculs statistiques.
Cours n°2 Implémentation et exploitation
Le modèle logique des données relationnel
Bases de données – Cours 3
SQL Partie 2. SQL est un langage de manipulation de données SQL est un langage de manipulation de données (LMD), cela signifie qu'il permet de sélectionner,
Modélisation et utilisation Aurélien Marion1 Aurélien Marion
De Arnault Chazareix :
Modèle Entité-Relation. Les SGBD relationnels ● Élaboré en 1969 ● E. F. Codd ● IBM ● Interface de programmation ● Langages L3G : C, Cobol,... ● Langages.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
Question 1. Modélisation conceptuelle et traduction relationnelle (6 points) La Galice (région espagnole) a un réseau de refuges qu’elle gère à l’intention.
1 Les bases de données Séance 7 Les fonctions avancées : Opérateurs ensemblistes, Sous-requêtes et transactions.
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Langages d’interrogation et de manipulation. N. ChaignaudGM4 - Base de données2 1. Algèbre relationnelle  Ensemble d’opérations permettant de manipuler.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 7 Support de cours rédigé par Bernard COFFIN Université.
SQL : 4 fonctions d'exploitation de SGBD SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage informatique ayant pour.
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.
ملخص Initiation à la sgbdr
Langage de manipulation de données (LMD)
Structured Query Language
Généralité sur les bases de données
Transcription de la présentation:

Bases de données : modèlisation et SGBD Séance 3

Bases de données Définitions Définitions Glossaire des SGBD relationnels Glossaire des SGBD relationnels Démarche Démarche Structures physiques Structures physiques

BDD : définitions Fichier Fichier Attribut Attribut Identifiant Identifiant Bases de données Bases de données SGBD SGBD

BDD : glossaire SGBDR Table ou relation Table ou relation Clé primaire Clé primaire Champ Champ Domaine Domaine Tuple Tuple Clé externe Clé externe

BDD : démarche Conception : modélisation, normalisation Conception : modélisation, normalisation Développement : création,optimisation Développement : création,optimisation Utilisation Utilisation Maintenance Maintenance

BDD : Conception Merise : MCD, MLD, MPD Merise : MCD, MLD, MPD Normalisation : formes normales Normalisation : formes normales

Merise données : MCD Entité Association 0-n 1-n cardinalités

ELEVE Numéro élève Nom élève Prénom élève Date de naissance MATIERE Numéro matière Libellé PROFESSEUR Numéro professeur Nom professeur Prénom professeur APPREND ENSEIGNE N 1-N 0-N

ELEVE Numéro élève Nom élève Prénom élève Date de naissance MATIERE Numéro matière Libellé PROFESSEUR Numéro professeur Nom professeur Prénom professeur APPREND ENSEIGNE N 1-N 0-N NOTE

ELEVE Numéro élève Nom élève Prénom élève Date de naissance MATIERE Numéro matière Libellé PROFESSEUR Numéro professeur Nom professeur Prénom professeur APPREND ENSEIGNE N 1-N 0-N NOTE INTERVIENT dans CLASSE Numéro classe Niveau EST AFFECTE à N 0-N

Merise : MLD relationnel Chaque entité devient une table Chaque entité devient une table Chaque association porteuse devient une table Chaque association porteuse devient une table Chaque association non porteuse devient soit une table de pointeurs, soit une clé externe dans une table Chaque association non porteuse devient soit une table de pointeurs, soit une clé externe dans une table

1.Elève (Numéro élève, Nom élève, Prénom élève, Date naissance) 2.Apprend (Numéro élève, Numéro matière, Note) 3.Matière (Numéro matière, Libellé) 4.Professeur (Numéro professeur, Nom professeur, Prénom professeur, Numéro matière) 5.Classe (Numéro classe, Niveau) 6.Intervient dans (Numéro classe, Numéro professeur) 7.Est affecté à (Numéro élève, Numéro classe)

Normalisation de Codd : point de départ  Liste des attributs  Dépendances fonctionnelles  Dépendances multivaluées

Normalisation Normalisation : processus Normaliser c’est regrouper la liste des attributs en relations - ayant du sens - cohérentes - sans redondance

Normalisation Normalisation : Point d’arrivée On obtient une série de tables : fichiers et index

Normalisation : 1FN Tout attribut de R contient: une valeur monovaluée et non composée

Normalisation : 1FN Exemples : Exemples :  Prénom 1, Prénom 2  Adresse: Numéro voie, type voie, nom voie, nom ville, code postal

Normalisation : 1FN R (Numéro élève, Prénoms, Adresse) R (Numéro élève, Prénoms, Adresse) n’est pas en 1FN n’est pas en 1FN

R normalisée en 1FN R (Numéro élève, Prénom1, Prénom2, Numéro voie, Type voie, Nom voie, Nom ville, Code postal) R (Numéro élève, Prénom1, Prénom2, Numéro voie, Type voie, Nom voie, Nom ville, Code postal)

Normalisation : 2FN 1.R est en 1FN 2.Tout attribut non clé de R dépend de la totalité de la clé

Normalisation : 2FN R (Numéro élève, Numéro matière, note, Nom élève) R (Numéro élève, Numéro matière, note, Nom élève) Le Nom ne dépend F. que du Numéro de l’élève

Dupont Dupont Dupont Dupont Martin

Normalisation : 2FN R n’est pas en 2FN R n’est pas en 2FN On normalise : On normalise : R1 (Numéro élève, Nom élève) R2 (Numéro élève,Numéro matière, Note)

Normalisation : 3FN 1.R est en 2FN 2.Tout attribut de R ne dépend pas de la clé par transitivité

Normalisation : 3FN R (Numéro professeur, Nom professeur, Numéro matière, Libellé matière) R (Numéro professeur, Nom professeur, Numéro matière, Libellé matière) Libellé matière dépend fonctionnellement de Numéro, professeur par transitivité,à travers le Numéro matière Libellé matière dépend fonctionnellement de Numéro, professeur par transitivité,à travers le Numéro matière

100Duval001Anglais 101Farenc001Anglais 102Gervais001Anglais 103Justin001Anglais 104Loliée002Espagnol

On normalise en 3 FN R1 (Numéro professeur, Nom professeur, numéro matière) R2 (Numéro matière, libellé matière)

Normalisation 4FN et 5 FN On traite les DM

4FN : la relation ne contient qu’une seule DM R (Etudiant, Cours, Sport) avec avec Etudiant DM Cours Etudiant DM Sport Etudiant DM Cours Etudiant DM Sport R n’est pas en 4FN R n’est pas en 4FN

PierreMathsKaraté PierreAnglaisKaraté PierrePhysiqueKaraté JacquesPhiloJudo JacquesPhiloNatation JacquesPhiloMarathon

Normalisation de R en 4FN R1 (Etudiant, Cours) R2 (Etudiant, Sport)

PierreMaths PierreAnglais PierrePhysique JacquesPhilo R1

PierreKaraté JacquesJudo JacquesNatation JacquesMarathon R2

5FN : DM de jointure R (Revendeur, Marque, Type de produit) avec avec Revendeur DM Marque Revendeur DM Marque Revendeur DM Type de produit Marque DM Type de produit Marque DM Type de produit

PierreRenaultVoiture PierreRenaultCamion PierreVolvoVoiture PaulRenaultCamion JacquesRenaultVoiture JacquesVolvoVoiture

Normalisation de R en 5FN R1 (Revendeur, Marque) R2 (Revendeur, Type de produit) R3 (Marque, Type de produit)

PierreRenault PierreVolvo JacquesRenault PaulRenault PaulVolvo R1

PierreVoiture PierreCamion PaulCamion JacquesVoiture R2

RenaultVoiture RenaultCamion VolvoVoiture R3

DF 3FN 4FN 5FN

NORMALISATION : préparation Num é ro é l è ve = ANum é ro é l è ve = A Nom é l è ve = BNom é l è ve = B Pr é nom é l è ve = CPr é nom é l è ve = C Date naissance = DDate naissance = D Num é ro mati è re = ENum é ro mati è re = E Libell é = FLibell é = F Note = GNote = G Num é ro professeur = HNum é ro professeur = H Nom professeur = INom professeur = I Pr é nom professeur = JPr é nom professeur = J Num é ro classe = KNum é ro classe = K Niveau = LNiveau = L A DF B, C, D, KA DF B, C, D, K E DF FE DF F AE DF GAE DF G H DF I, J, EH DF I, J, E K DF LK DF L A DM EA DM E H DM KH DM K E DM HE DM H

NORMALISATION : exécution A DF B, C, D, KA DF B, C, D, K E DF FE DF F AE DF GAE DF G H DF I, J, EH DF I, J, E K DF LK DF L A DM EA DM E H DM KH DM K E DM HE DM H 1) DF Elève (A, B, C, D, K)Elève (A, B, C, D, K) Matière (E, F)Matière (E, F) Apprend (A, E, G)Apprend (A, E, G) Professeur (H, I, J, E)Professeur (H, I, J, E) Classe (K, L)Classe (K, L) 2)DM Intervient dans (H,K)Intervient dans (H,K)

Création & manipulation des BDD : requêtes SQL « Structured Qwery Language » 1986« Structured Qwery Language » 1986 Opérateurs de l’algèbre relationnelleOpérateurs de l’algèbre relationnelle

« LDD » : langage de définition des données CREATE TABLE élève (numéroélève NUM(6) [ UNIQUE] [NOT NULL] [PRIMARY KEY], nomélève CHAR(30)[NOT NULL], prénomélève CHAR(20) [NOT NULL],annaissance NUM(4)…)

« LDD » CREATE TABLE apprend (numéroélève [ UNIQUE] [NOT NULL] [PRIMARY KEY], numéromatière [ UNIQUE] [NOT NULL] [PRIMARY KEY], note NUM(2,2) [VALEUR: 0,00 à 20,00],FOREIGN KEY)

 INDEX : structures d’accès CREATE [UNIQUE] INDEX i1 ON élève (numéroéléve) CREATE INDEX i2 ON élève (annaissance)

 ALTER TABLE matière ADD COLUMN coefficient NUM(1)  DROP TABLE apprend  RENAME apprend to notation

ELEVE Numéro élève Nom élève Prénom élève Date de naissance MATIERE Numéro matière Libellé coefficient PROFESSEUR Numéro professeur Nom professeur Prénom professeur APPREND ENSEIGNE N 1-N 0-N NOTE INTERVIENT dans CLASSE Numéro classe Niveau EST AFFECTE à N 0-N

ELEVE Numéro élève Nom élève Prénom élève Date de naissance MATIERE Numéro matière Libellé coefficient PROFESSEUR Numéro professeur Nom professeur Prénom professeur ENSEIGNE N 1-N INTERVIENT dans CLASSE Numéro classe Niveau EST AFFECTE à N 0-N

ELEVE Numéro élève Nom élève Prénom élève Date de naissance MATIERE Numéro matière Libellé coefficient PROFESSEUR Numéro professeur Nom professeur Prénom professeur NOTATION ENSEIGNE N 1-N 0-N NOTE INTERVIENT dans CLASSE Numéro classe Niveau EST AFFECTE à N 0-N

« Les autorisations d’accès» :  GRANT & REVOKE GRANT privilège ON objet TO public Qui (public) a le droit de faire quoi (privilège) Qui (public) a le droit de faire quoi (privilège) à quoi (objet) à quoi (objet)

GRANT INSERT ON apprend TO professeur GRANT SELECT ON apprend TO PUBLIC REVOKE ALL ON apprend FROM PUBLIC

« LMD » : langage de manipulation des données  SELECT  INSERT  UPDATE  DELETE

 SELECT SELECT nomélève, prénomélève FROM élève WHERE annaissance = 1994 ORDER BY nomélève

SELECT nomélève, prénomélève FROM élève, apprend WHERE annaissance = 1994 AND élève.numéro-élève = apprend.numéro-élève AND note NOT NULL ORDER BY nomélève ORDER BY nomélève

 INSERT INSERT INTO élève (numéroélève, nomélève, prénomélève, annaissance) VALUES (105, durant, alexis, 2000)

 UPDATE UPDATE apprend SET note = 14 WHERE numéroélève = 106 AND numéromatière = 5

 DELETE DELETE FROM élève, apprend WHERE numéroélève = 78

Les agrégats  SUM SELECT SUM (montant) FROM commande GROUP BY numéro-client

 AVG SELECT nom-élève FROM élève SELECT AVG (note) FROM apprend GROUP BY numéro-élève

 MIN ou MAX SELECT MAX(note) FROM apprend WHERE numéro-élève = 105

 COUNT SELECT COUNT FROM apprend SELECT COUNT FROM apprend WHERE numéro-élève = 102

Opérateurs ensemblistes  EXISTS  UNION  INTERSECT  MINUS

 EXISTS SELECT nom-élève FROM élève WHERE EXISTS FROM apprend note = 20 AND élève.numéro-élève = apprend.numéro-élève

 NOT EXISTS SELECT nom-élève FROM élève WHERE NOT EXISTS FROM matière AND élève.numéro-élève = apprend.numéro-élève AND matière.code-matière = apprend.code-matière

 UNION apprend(numéro-élève, code-matière) pratique(numéro-élève, code-sport) SELECT numéro-élève FROM apprend UNION SELECT numéro-élève FROM pratique

 INTERSECT SELECT numéro-élève FROM apprend INTERSECT SELECT numéro-élève FROM pratique

 MINUS SELECT numéro-élève FROM apprend MINUS SELECT numéro-élève FROM pratique

 VUE : table virtuelle Non stockée (temporaire) créée par une requête sur une ou plusieurs tables (permanentes)

 CREATE VIEW élèves-forts (numéroélève, nomélève, moyenne) AS SELECT *, TRUNC (note* coefficient) / SUM(coefficient) Group BY élève FROM élève, apprend, matière WHERE moyenne > 17