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

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
Bases de données : modèlisation et SGBD
Base de Données / MCD Introduction en utilisant un SGBD simple (Access) Quinio Université Paris Ouest2010 Quinio.
Fonctionnalités des SGBD

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.
Développement d’applications web
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
LE LANGAGE SQL Langage de manipulation de données (LMD)
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
SQL partie3: Langage de définition des données
Cours de Base de Données & Langage SQL
Les concepts et les méthodes des bases de données
Management of Information Technology - e-business
Bases de Données Avancées - TP2: SQL
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.
Cours 4b: Introduction au SQL, le langage des SGBD Relationnels
Introduction.
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
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.
 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 SQL.
Séance /10/2004 SGBD - Approches & Principes.
Initiation aux bases de données et à la programmation événementielle
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
Bases de données – Cours 3
Le langage SQL LA Plan 1. Introduction Rappels sur le modèle relationnel Les caractéristiques du langage SQL 2. Le Langage d'Interrogation des.
Modélisation et utilisation Aurélien Marion1 Aurélien Marion
De Arnault Chazareix :
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
Bases de données : modèlisation et SGBD Séance 3.
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.
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:

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

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

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

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

Quinio5 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

Quinio6 BDD : Conception Merise : MCD, modèle relationnel Merise : MCD, modèle relationnel Normalisation : formes normales Normalisation : formes normales

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

8 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

9 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

10 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

Quinio11 Modèle relationnel Chaque entité devient une table Chaque entité devient une table Chaque association porteuse ( relation n,n ) 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 Chaque association non porteuse ( relation 1,n ) devient une clé externe dans une table

12 1.Elève (Numéro élève, Nom élève, Prénom élève, Date naissance, Numéro classe) 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) Clef externe Schéma relationnel

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

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

Quinio15 Normalisation Normalisation : Point d’arrivée On obtient une série de tables

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

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

Quinio18 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

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

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

Quinio21 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

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

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

Quinio25 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

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

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

Quinio28 Normalisation 4FN et 5 FN Non traitées

Quinio29 DF 3FN 4FN 5FN

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

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

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

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

Quinio34 « 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)

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

36 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 ALTER

37 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 DROP

38 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 RENAME

Quinio39 « 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)

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

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

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

Quinio43 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 SELECT avec jointure

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

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

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

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

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

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

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

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

Quinio52  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

Quinio53  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

Quinio54  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

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

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

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

58  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