Bases de données : modèlisation et SGBD

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
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
Base de Données / MCD Introduction en utilisant un SGBD simple (Access) Quinio Université Paris Ouest2010 Quinio.
Le Modèle Relationnel (Chapitre 4)
Fonctionnalités des SGBD
Le Modèle Logique de Données

Optimisation de Requêtes
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.
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,
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
LMD: Langage de Manipulation de Données
Développement d’applications web
AYARI Mejdi Formation 2121 * ISD * 1 tructured uery Anguage 2006.
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
BASE DE DONNEES RELATIONNELLES
Initiation aux bases de données et à la programmation événementielle
Les bases de données Cours assuré par: Mlle Smii imen
Les formes normales.
L’utilisation des bases de données
Modèle Logique de Données
Algèbre relationnelle et SQL
Base de données Chapitre 1 Introduction
Michel Tollenaere SQL et relationnel 1 Cours MSI-2A filière ICL version 1.1 du 2 novembre 2010 Cours de Management des Systèmes dInformation
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
Introduction Le SQL (Structured  Query Language) est un langage universel de gestion des bases de données. Il a une triple fonction : LDD Langage de Définition.
Chapitre 3 La normalisation du modèle relationnel
Cours 4b: Introduction au SQL, le langage des SGBD Relationnels
Introduction.
Chapitre 5 : Le langage SQL
SQL Partie 1.
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
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
Optimisation de requêtes
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Bases de données : modèlisation et SGBD
Le modèle relationnel Plan 1. Concepts descriptifs
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:
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
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 SQL.
Séance /10/2004 SGBD - Approches & Principes.
Initiation aux bases de données et à la programmation événementielle
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Cours n°2 Implémentation et exploitation
Bases de données – Cours 3
Modélisation et utilisation Aurélien Marion1 Aurélien Marion
Bases de données : modèlisation et SGBD Séance 3.
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.
SQL : 4 fonctions d'exploitation de SGBD SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage informatique ayant pour.
ملخص Initiation à la sgbdr
Structured Query Language
SQL LID – INTERROGATIN DES DONNEES
Transcription de la présentation:

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

BDD : définitions Table ou relation Clé primaire Champ Domaine Tuple Attribut avec un format Domaine Domaine de validité de certains attributs Tuple Clé externe Quinio

BDD : démarche Conception : Développement : Test modélisation Développement : création, optimisation Test Utilisation et mise à jour Maintenance Gestion Informatique Informatique Gestion Informatique Gestion Informatique Quinio

Modèle venant de Merise : MCD Entité Association 1-n 0-n cardinalités Quinio

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

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

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

Modèle relationnel Chaque entité devient une table Chaque association porteuse (relation n,n) devient une table Chaque association non porteuse (relation 1,n) devient une clé externe dans une table Quinio

Elève (Numéro élève, Nom élève, Prénom élève, Date naissance, Numéro classe) Apprend (Numéro élève, Numéro matière, Note) Matière (Numéro matière, Libellé) Professeur (Numéro professeur, Nom professeur, Prénom professeur, Numéro matière) Classe (Numéro classe, Niveau) Intervient dans (Numéro classe, Numéro professeur) Clef externe Schéma relationnel

Normalisation de Codd : point de départ Liste des attributs Dépendances fonctionnelles Dépendances multivaluées NON vues ici Quinio

Normalisation : processus Normaliser c’est regrouper la liste des attributs en relations - ayant du sens - cohérentes - sans redondance On obtient une série de table Quinio

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

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

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

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) Quinio

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

R (Numéro élève, Numéro matière, note, Nom élève) Normalisation : 2FN 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 Quinio

100 005 12 Dupont 001 16 002 08 003 10 200 004 Martin

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

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

R (Numéro professeur, Nom professeur, Numéro matière, Libellé matière) Normalisation : 3FN 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 Quinio

100 Duval 001 Anglais 101 Farenc 102 Gervais 103 Justin 104 Loliée 002 Espagnol

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

Normalisation 4FN et 5 FN Non traitées Quinio

NORMALISATION : préparation Numéro élève = A Nom élève = B Prénom élève = C Date naissance = D Numéro matière = E Libellé = F Note = G Numéro professeur = H Nom professeur = I Prénom professeur = J Numéro classe = K Niveau = L A DF B, C, D, K E DF F AE DF G H DF I, J, E K DF L Quinio

NORMALISATION : exécution A DF B, C, D, K E DF F AE DF G H DF I, J, E K DF L DF Elève (A, B, C, D, K) Matière (E, F) Apprend (A, E, G) Professeur (H, I, J, E) Classe (K, L) Quinio

Création & manipulation des BDD : requêtes SQL « Structured Query Language » 1986 Opérateurs de l’algèbre relationnelle Utilisé dans toutes les BD Quinio

« 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)…) Quinio

ADD COLUMN coefficient NUM(1) DROP TABLE apprend « LDD » ALTER TABLE matière ADD COLUMN coefficient NUM(1) DROP TABLE apprend RENAME apprend to notation Quinio

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

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

ELEVE MATIERE NOTATION PROFESSEUR EST AFFECTE ENSEIGNE à CLASSE RENAME Numéro élève Nom élève Prénom élève Date de naissance 1-N NOTATION Numéro matière Libellé coefficient NOTE 0-N 0-N 1-1 PROFESSEUR EST AFFECTE à Numéro professeur Nom professeur Prénom professeur ENSEIGNE 1-N 1-1 0-N CLASSE RENAME Numéro classe Niveau INTERVIENT dans 1-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) à quoi (objet) Quinio

« Les autorisations d’accès» : GRANT INSERT ON apprend TO professeur GRANT SELECT ON apprend TO PUBLIC REVOKE ALL ON apprend FROM PUBLIC Quinio

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

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

AND élève.numéro-élève = apprend.numéro-élève AND note NOT NULL SELECT avec jointure 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 Quinio

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

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

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

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

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

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

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