SlideShare une entreprise Scribd logo

Introduction aux bases de données

Objectif général : Concevoir une base de données Objectifs opérationnels : - Comprendre les différents concepts entourant les BD - Comprendre les concepts associés aux BD relationnelles - Établir un dictionnaire de données (DD) - Structurer les données du DD - Construire un Modèle Conceptuel des Données (MCD) - Transformer un MCD en Modèle logique de données (MLD) - Normaliser un MLD

1  sur  51
Introduction aux
bases de données
M. DIENG Abdoulaye
UCAD/FST/DMI/LPCM
Objectif général
Concevoir une base de données
Objectifs opérationnels
• Comprendre les différents concepts entourant les BD
• Comprendre les concepts associés aux BD relationnelles
• Établir un dictionnaire de données (DD)
• Structurer les données du DD
• Construire un Modèle Conceptuel des Données (MCD)
• Transformer un MCD en Modèle logique de données (MLD)
• Normaliser un MLD
Sommaire
2. Conception d’une BD
a) Introduction
b) Etablissement du
dictionnaire de données
c) Structuration des données
d) Construction du MCD
e) Transformation du MCD
en MLD
f) Normalisation du MLD
1. Généralités sur les BD
a) Historique
b) Système d’information
c) Donnée
d) Élément de données
e) Structure de données
f) Base de données
g) SGBD
h) Modèle de données
i) Modèle relationnel
1ère partie
1. Généralités
a) Historique
b) Système d’information
c) Données
d) Élément de données
e) Structure de données
f) Base de données
g) SGBD
h) Modèle de données
i) Modèle relationnel
2. Conception d’une base de données
Historique
• Avant l ’informatique : informations sous formes de fiches,
classées par ordre alphabétique, chronologique, …
• 1950 – 1965 : organisation classique en fichiers (SGF)
• 1965 - 1970 : 1ère génération de SGBD avec le niveau
conceptuel (l'arrangement des données) étant très lié aux
supports physiques.
– modèle hiérarchique, modèle réseau
• 1970-1980 : 2ème génération de SGBD, basé sur les
mathématiques et plus indépendant des supports.
– modèle relationnel (DB2, Oracle, MySQL, MsAcess…)
• débuts des années 80 : 3ème génération, combinaison des
SGBDR et des langages de programmation orienté objet
– modèle à objets (O2, Objectstore, Objectivity..)

Recommandé

Cours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURICours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURIMansouri Khalifa
 
Diaporamas-Bases de données.pdf
Diaporamas-Bases de données.pdfDiaporamas-Bases de données.pdf
Diaporamas-Bases de données.pdfEST-UMI de Meknès
 
Cours Base de données relationnelles
Cours Base de données relationnellesCours Base de données relationnelles
Cours Base de données relationnellesAymen Kasmi
 
base de données -note de cours
base de données -note de cours base de données -note de cours
base de données -note de cours Yassine Badri
 
cours base de données
cours base de donnéescours base de données
cours base de donnéesYassine Badri
 
Cours bases de données partie 2 Prof. Khalifa MANSOURI
Cours bases de données partie 2 Prof. Khalifa MANSOURICours bases de données partie 2 Prof. Khalifa MANSOURI
Cours bases de données partie 2 Prof. Khalifa MANSOURIMansouri Khalifa
 
Cours des bases de données
Cours des bases de données Cours des bases de données
Cours des bases de données yassine kchiri
 

Contenu connexe

Tendances

Database/ Bases de données
Database/ Bases de donnéesDatabase/ Bases de données
Database/ Bases de donnéeszied kallel
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence Yassine Badri
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQLOussama ARBI
 
Analyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURIAnalyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURIMansouri Khalifa
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLwebreaker
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2Amal Abid
 
Base de Données Chapitre I .pptx
Base de Données Chapitre I .pptxBase de Données Chapitre I .pptx
Base de Données Chapitre I .pptxAbdoulayeTraore48
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : CassandraLilia Sfaxi
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOALilia Sfaxi
 
Bases de données réparties
Bases de données répartiesBases de données réparties
Bases de données répartiesAbdelouahed Abdou
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBRomain Cambien
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratiqueAbdelouahed Abdou
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleLilia Sfaxi
 
Examen principal - PHP
Examen principal - PHPExamen principal - PHP
Examen principal - PHPInes Ouaz
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduceAmal Abid
 

Tendances (20)

Database/ Bases de données
Database/ Bases de donnéesDatabase/ Bases de données
Database/ Bases de données
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQL
 
Analyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURIAnalyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURI
 
Introduction aux SGBD
Introduction aux SGBDIntroduction aux SGBD
Introduction aux SGBD
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
Sgbdr merise
Sgbdr meriseSgbdr merise
Sgbdr merise
 
Base de Données Chapitre I .pptx
Base de Données Chapitre I .pptxBase de Données Chapitre I .pptx
Base de Données Chapitre I .pptx
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOA
 
Bases de données réparties
Bases de données répartiesBases de données réparties
Bases de données réparties
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique Décisionnelle
 
Examen principal - PHP
Examen principal - PHPExamen principal - PHP
Examen principal - PHP
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 

En vedette

Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQLAntoine Augusti
 
Comprendre le marché des fichiers clients
Comprendre le marché des fichiers clientsComprendre le marché des fichiers clients
Comprendre le marché des fichiers clientsNeedeo
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de donnéesminiloka25
 
Etude fichiers clients et base de données
Etude   fichiers clients et base de donnéesEtude   fichiers clients et base de données
Etude fichiers clients et base de donnéeslapigemd
 
Fotografia bokeh
Fotografia bokehFotografia bokeh
Fotografia bokehMax Luviano
 
Grhc 11 12 - press release 1 - aout-dec
Grhc 11 12 - press release 1 - aout-decGrhc 11 12 - press release 1 - aout-dec
Grhc 11 12 - press release 1 - aout-decpatinslover
 
Enfoques y puntos de vista críticos a la aplicación de los estadíos de una se...
Enfoques y puntos de vista críticos a la aplicación de los estadíos de una se...Enfoques y puntos de vista críticos a la aplicación de los estadíos de una se...
Enfoques y puntos de vista críticos a la aplicación de los estadíos de una se...Juan Garcia
 
Le web et l'opinion (Fondapol)
Le web et l'opinion (Fondapol)Le web et l'opinion (Fondapol)
Le web et l'opinion (Fondapol)CQH
 
Synthèse du sondage de la 12e Semaine pour la qualité de vie au travail sur l...
Synthèse du sondage de la 12e Semaine pour la qualité de vie au travail sur l...Synthèse du sondage de la 12e Semaine pour la qualité de vie au travail sur l...
Synthèse du sondage de la 12e Semaine pour la qualité de vie au travail sur l...Anact
 
Adenocarcinoma de gl. perianales samoyedo
Adenocarcinoma de gl. perianales samoyedoAdenocarcinoma de gl. perianales samoyedo
Adenocarcinoma de gl. perianales samoyedoCarlos Morales Mendoza
 
Réussir son lancement mobile
Réussir son lancement mobileRéussir son lancement mobile
Réussir son lancement mobileJérémie Clévy
 
Proyectos de aula icc
Proyectos de aula icc Proyectos de aula icc
Proyectos de aula icc PaÜl ZteBan U
 
Squelette et valeur_bons
Squelette et valeur_bonsSquelette et valeur_bons
Squelette et valeur_bonsMatthieu10
 
Analyse du blog2 roubaix lille3
Analyse du blog2 roubaix   lille3Analyse du blog2 roubaix   lille3
Analyse du blog2 roubaix lille3CQH
 

En vedette (20)

Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
 
Comprendre le marché des fichiers clients
Comprendre le marché des fichiers clientsComprendre le marché des fichiers clients
Comprendre le marché des fichiers clients
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
 
Etude fichiers clients et base de données
Etude   fichiers clients et base de donnéesEtude   fichiers clients et base de données
Etude fichiers clients et base de données
 
Conseils de vie n
Conseils de vie nConseils de vie n
Conseils de vie n
 
Fotografia bokeh
Fotografia bokehFotografia bokeh
Fotografia bokeh
 
Grhc 11 12 - press release 1 - aout-dec
Grhc 11 12 - press release 1 - aout-decGrhc 11 12 - press release 1 - aout-dec
Grhc 11 12 - press release 1 - aout-dec
 
Enfoques y puntos de vista críticos a la aplicación de los estadíos de una se...
Enfoques y puntos de vista críticos a la aplicación de los estadíos de una se...Enfoques y puntos de vista críticos a la aplicación de los estadíos de una se...
Enfoques y puntos de vista críticos a la aplicación de los estadíos de una se...
 
Le web et l'opinion (Fondapol)
Le web et l'opinion (Fondapol)Le web et l'opinion (Fondapol)
Le web et l'opinion (Fondapol)
 
Frances Mariajose
Frances MariajoseFrances Mariajose
Frances Mariajose
 
F2 Ch4 1
F2 Ch4 1F2 Ch4 1
F2 Ch4 1
 
Synthèse du sondage de la 12e Semaine pour la qualité de vie au travail sur l...
Synthèse du sondage de la 12e Semaine pour la qualité de vie au travail sur l...Synthèse du sondage de la 12e Semaine pour la qualité de vie au travail sur l...
Synthèse du sondage de la 12e Semaine pour la qualité de vie au travail sur l...
 
Adenocarcinoma de gl. perianales samoyedo
Adenocarcinoma de gl. perianales samoyedoAdenocarcinoma de gl. perianales samoyedo
Adenocarcinoma de gl. perianales samoyedo
 
Réussir son lancement mobile
Réussir son lancement mobileRéussir son lancement mobile
Réussir son lancement mobile
 
Pensees positives & inspirantes
Pensees positives & inspirantesPensees positives & inspirantes
Pensees positives & inspirantes
 
Sur Le Vif
Sur Le Vif Sur Le Vif
Sur Le Vif
 
Proyectos de aula icc
Proyectos de aula icc Proyectos de aula icc
Proyectos de aula icc
 
Squelette et valeur_bons
Squelette et valeur_bonsSquelette et valeur_bons
Squelette et valeur_bons
 
Analyse du blog2 roubaix lille3
Analyse du blog2 roubaix   lille3Analyse du blog2 roubaix   lille3
Analyse du blog2 roubaix lille3
 
Termes de référence de l’évaluation externe Projet de renforcement institutio...
Termes de référence de l’évaluation externe Projet de renforcement institutio...Termes de référence de l’évaluation externe Projet de renforcement institutio...
Termes de référence de l’évaluation externe Projet de renforcement institutio...
 

Similaire à Introduction aux bases de données

A Brief History of Database Management (SQL, NoSQL, NewSQL)
A Brief History of Database Management (SQL, NoSQL, NewSQL)A Brief History of Database Management (SQL, NoSQL, NewSQL)
A Brief History of Database Management (SQL, NoSQL, NewSQL)Abdelkader OUARED
 
Chap1Concepts-FondamentauxBD.pdf
Chap1Concepts-FondamentauxBD.pdfChap1Concepts-FondamentauxBD.pdf
Chap1Concepts-FondamentauxBD.pdfBoubakerMedanas
 
Intro SGBD et BD.ppt
Intro SGBD et BD.pptIntro SGBD et BD.ppt
Intro SGBD et BD.pptBahaty1
 
7. information modelling
7. information modelling7. information modelling
7. information modellingsugogo
 
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physiqueVisite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physiqueGautier Poupeau
 
Modèles de données et langages de description ouverts 4 - 2021-2022
Modèles de données et langages de description ouverts   4 - 2021-2022Modèles de données et langages de description ouverts   4 - 2021-2022
Modèles de données et langages de description ouverts 4 - 2021-2022François-Xavier Boffy
 
Adbs2012presentation 120527125034-phpapp02
Adbs2012presentation 120527125034-phpapp02Adbs2012presentation 120527125034-phpapp02
Adbs2012presentation 120527125034-phpapp02ABES
 
cours-intro-base-donnees.pdf
cours-intro-base-donnees.pdfcours-intro-base-donnees.pdf
cours-intro-base-donnees.pdfdjamelbentorkia
 
Conception des bases de données relationelles
Conception des bases de données relationellesConception des bases de données relationelles
Conception des bases de données relationellesYassine Badri
 
SIBD101-Introduction aux bases de données.pdf
SIBD101-Introduction aux bases de données.pdfSIBD101-Introduction aux bases de données.pdf
SIBD101-Introduction aux bases de données.pdfNadim ELSAKAAN
 

Similaire à Introduction aux bases de données (20)

Metadonnees et SID
Metadonnees et SIDMetadonnees et SID
Metadonnees et SID
 
A Brief History of Database Management (SQL, NoSQL, NewSQL)
A Brief History of Database Management (SQL, NoSQL, NewSQL)A Brief History of Database Management (SQL, NoSQL, NewSQL)
A Brief History of Database Management (SQL, NoSQL, NewSQL)
 
Cours BDD.pptx
Cours BDD.pptxCours BDD.pptx
Cours BDD.pptx
 
Si bdd
Si bddSi bdd
Si bdd
 
Chap1Concepts-FondamentauxBD.pdf
Chap1Concepts-FondamentauxBD.pdfChap1Concepts-FondamentauxBD.pdf
Chap1Concepts-FondamentauxBD.pdf
 
Cours_BD_M1-EAI-2023.pdf
Cours_BD_M1-EAI-2023.pdfCours_BD_M1-EAI-2023.pdf
Cours_BD_M1-EAI-2023.pdf
 
Intro SGBD et BD.ppt
Intro SGBD et BD.pptIntro SGBD et BD.ppt
Intro SGBD et BD.ppt
 
7. information modelling
7. information modelling7. information modelling
7. information modelling
 
introNoSQL.pdf
introNoSQL.pdfintroNoSQL.pdf
introNoSQL.pdf
 
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physiqueVisite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
 
Cours1 2 gdmm
Cours1 2 gdmmCours1 2 gdmm
Cours1 2 gdmm
 
Modèles de données et langages de description ouverts 4 - 2021-2022
Modèles de données et langages de description ouverts   4 - 2021-2022Modèles de données et langages de description ouverts   4 - 2021-2022
Modèles de données et langages de description ouverts 4 - 2021-2022
 
1-Intro to DB.pptx
1-Intro to DB.pptx1-Intro to DB.pptx
1-Intro to DB.pptx
 
BDRO.pdf
BDRO.pdfBDRO.pdf
BDRO.pdf
 
Adbs2012presentation 120527125034-phpapp02
Adbs2012presentation 120527125034-phpapp02Adbs2012presentation 120527125034-phpapp02
Adbs2012presentation 120527125034-phpapp02
 
cours-intro-base-donnees.pdf
cours-intro-base-donnees.pdfcours-intro-base-donnees.pdf
cours-intro-base-donnees.pdf
 
Intro SQL
Intro SQL Intro SQL
Intro SQL
 
cours1-INTRODUCTION.ppt
cours1-INTRODUCTION.pptcours1-INTRODUCTION.ppt
cours1-INTRODUCTION.ppt
 
Conception des bases de données relationelles
Conception des bases de données relationellesConception des bases de données relationelles
Conception des bases de données relationelles
 
SIBD101-Introduction aux bases de données.pdf
SIBD101-Introduction aux bases de données.pdfSIBD101-Introduction aux bases de données.pdf
SIBD101-Introduction aux bases de données.pdf
 

Plus de Abdoulaye Dieng

Fondamentaux du Référencement naturel
Fondamentaux du Référencement naturelFondamentaux du Référencement naturel
Fondamentaux du Référencement naturelAbdoulaye Dieng
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobilesAbdoulaye Dieng
 
Prise en main de WordPress
Prise en main de WordPressPrise en main de WordPress
Prise en main de WordPressAbdoulaye Dieng
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API RESTAbdoulaye Dieng
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScriptAbdoulaye Dieng
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonAbdoulaye Dieng
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JSAbdoulaye Dieng
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Requêtes HTTP synchrones et asynchrones
Requêtes HTTPsynchrones et asynchronesRequêtes HTTPsynchrones et asynchrones
Requêtes HTTP synchrones et asynchronesAbdoulaye Dieng
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScriptAbdoulaye Dieng
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 

Plus de Abdoulaye Dieng (20)

Introduction à React
Introduction à ReactIntroduction à React
Introduction à React
 
Fondamentaux du Référencement naturel
Fondamentaux du Référencement naturelFondamentaux du Référencement naturel
Fondamentaux du Référencement naturel
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobiles
 
Prise en main de WordPress
Prise en main de WordPressPrise en main de WordPress
Prise en main de WordPress
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
 
Introduction à Laravel
Introduction à LaravelIntroduction à Laravel
Introduction à Laravel
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API REST
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
 
Requêtes HTTP synchrones et asynchrones
Requêtes HTTPsynchrones et asynchronesRequêtes HTTPsynchrones et asynchrones
Requêtes HTTP synchrones et asynchrones
 
Introduction à jQuery
Introduction à jQueryIntroduction à jQuery
Introduction à jQuery
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 

Dernier

analyse- de basilique - saint denis pptx
analyse- de basilique - saint denis pptxanalyse- de basilique - saint denis pptx
analyse- de basilique - saint denis pptxHadJer61
 
Les Français et la lutte contre l'islamisme radical
Les Français et la lutte contre l'islamisme radicalLes Français et la lutte contre l'islamisme radical
Les Français et la lutte contre l'islamisme radicalcontact Elabe
 
L'accès à l'emploi des demandeurs d'emploi inscrits à France Travail mesuré e...
L'accès à l'emploi des demandeurs d'emploi inscrits à France Travail mesuré e...L'accès à l'emploi des demandeurs d'emploi inscrits à France Travail mesuré e...
L'accès à l'emploi des demandeurs d'emploi inscrits à France Travail mesuré e...France Travail
 
AmTrav'Ovin - Apprentissage des agnelles à la traite.pdf
AmTrav'Ovin - Apprentissage des agnelles à la traite.pdfAmTrav'Ovin - Apprentissage des agnelles à la traite.pdf
AmTrav'Ovin - Apprentissage des agnelles à la traite.pdfInstitut de l'Elevage - Idele
 
OESTV - Intervention ICI INDUSTRIE - 15 février 2024
OESTV - Intervention ICI INDUSTRIE - 15 février 2024OESTV - Intervention ICI INDUSTRIE - 15 février 2024
OESTV - Intervention ICI INDUSTRIE - 15 février 2024OESTV
 

Dernier (9)

3 Bidet GRH en viticulture 18 oct 2023.pdf
3 Bidet GRH en viticulture 18 oct 2023.pdf3 Bidet GRH en viticulture 18 oct 2023.pdf
3 Bidet GRH en viticulture 18 oct 2023.pdf
 
analyse- de basilique - saint denis pptx
analyse- de basilique - saint denis pptxanalyse- de basilique - saint denis pptx
analyse- de basilique - saint denis pptx
 
2 Garcia Vélasco projet AcCT 18 oct 2023.pdf
2 Garcia Vélasco projet AcCT 18 oct 2023.pdf2 Garcia Vélasco projet AcCT 18 oct 2023.pdf
2 Garcia Vélasco projet AcCT 18 oct 2023.pdf
 
Les Français et la lutte contre l'islamisme radical
Les Français et la lutte contre l'islamisme radicalLes Français et la lutte contre l'islamisme radical
Les Français et la lutte contre l'islamisme radical
 
L'accès à l'emploi des demandeurs d'emploi inscrits à France Travail mesuré e...
L'accès à l'emploi des demandeurs d'emploi inscrits à France Travail mesuré e...L'accès à l'emploi des demandeurs d'emploi inscrits à France Travail mesuré e...
L'accès à l'emploi des demandeurs d'emploi inscrits à France Travail mesuré e...
 
4 Sigwalt Annie saisonniers 18 octobre 2023.pdf
4 Sigwalt Annie  saisonniers 18 octobre 2023.pdf4 Sigwalt Annie  saisonniers 18 octobre 2023.pdf
4 Sigwalt Annie saisonniers 18 octobre 2023.pdf
 
AmTrav'Ovin - Apprentissage des agnelles à la traite.pdf
AmTrav'Ovin - Apprentissage des agnelles à la traite.pdfAmTrav'Ovin - Apprentissage des agnelles à la traite.pdf
AmTrav'Ovin - Apprentissage des agnelles à la traite.pdf
 
1 Astié travaux station Auray 18 oct 2023.pdf
1 Astié travaux station Auray 18 oct 2023.pdf1 Astié travaux station Auray 18 oct 2023.pdf
1 Astié travaux station Auray 18 oct 2023.pdf
 
OESTV - Intervention ICI INDUSTRIE - 15 février 2024
OESTV - Intervention ICI INDUSTRIE - 15 février 2024OESTV - Intervention ICI INDUSTRIE - 15 février 2024
OESTV - Intervention ICI INDUSTRIE - 15 février 2024
 

Introduction aux bases de données

  • 1. Introduction aux bases de données M. DIENG Abdoulaye UCAD/FST/DMI/LPCM
  • 3. Objectifs opérationnels • Comprendre les différents concepts entourant les BD • Comprendre les concepts associés aux BD relationnelles • Établir un dictionnaire de données (DD) • Structurer les données du DD • Construire un Modèle Conceptuel des Données (MCD) • Transformer un MCD en Modèle logique de données (MLD) • Normaliser un MLD
  • 4. Sommaire 2. Conception d’une BD a) Introduction b) Etablissement du dictionnaire de données c) Structuration des données d) Construction du MCD e) Transformation du MCD en MLD f) Normalisation du MLD 1. Généralités sur les BD a) Historique b) Système d’information c) Donnée d) Élément de données e) Structure de données f) Base de données g) SGBD h) Modèle de données i) Modèle relationnel
  • 5. 1ère partie 1. Généralités a) Historique b) Système d’information c) Données d) Élément de données e) Structure de données f) Base de données g) SGBD h) Modèle de données i) Modèle relationnel 2. Conception d’une base de données
  • 6. Historique • Avant l ’informatique : informations sous formes de fiches, classées par ordre alphabétique, chronologique, … • 1950 – 1965 : organisation classique en fichiers (SGF) • 1965 - 1970 : 1ère génération de SGBD avec le niveau conceptuel (l'arrangement des données) étant très lié aux supports physiques. – modèle hiérarchique, modèle réseau • 1970-1980 : 2ème génération de SGBD, basé sur les mathématiques et plus indépendant des supports. – modèle relationnel (DB2, Oracle, MySQL, MsAcess…) • débuts des années 80 : 3ème génération, combinaison des SGBDR et des langages de programmation orienté objet – modèle à objets (O2, Objectstore, Objectivity..)
  • 7. Système d’information • Un système d’information (SI) est un ensemble organisé d'éléments (formulaires, téléphone, …) en interaction dynamique qui a pour objectifs de rassembler, de traiter, de manipuler et de fournir les informations nécessaires à certaines activités. • Un des moyens techniques pour faire fonctionner un SI est d’utiliser un système informatique. • Ce système informatisé aura pour objet de recueillir des données qui, accumulées et transformées en informations, seront à leur tour distribuées et enfin utilisées à la préparation de rapports destinés à couvrir des besoins variés.
  • 8. Donnée • Élément immatériel qui sert de base à un SI • Considérée comme un objet qui entre dans le SI où il sera soumis à un ou plusieurs traitements pour répondre aux besoins des utilisateurs du système • Selon l’interprétation, une données peut correspondre à un élément de donnée ou à une structure de données. • Exemple: – Date en tant qu’élément de donnée 04-04-2010 – Date en tant que structure de données Jour : 04 ; Mois : 04 ; Année : 2010
  • 9. Elément de donnée • La plus petite unité porteuse d’une signification pour les utilisateurs du système • Exemples : – numéro de téléphone – prix d’un article – description d’un produit • Souvent représenté par un type de donnée élémentaire: – chaine de caractères ; – numérique (entier, réel)
  • 10. Structure de données • Ensemble d’éléments de données • Peut inclure : – des éléments de données ; – d’autres structures de données. • Exemples : – Facture ( numéro de facture, prix total, etc.) – Client ( nom, prénom, etc.)
  • 11. Bases de données • Une base de données (database) est un ensemble structuré et cohérent de données enregistrées avec le minimum de redondance pour satisfaire simultanément plusieurs utilisateurs de manière sélective et dans un temps opportun. • Exemples – Annuaire téléphonique – Dictionnaire – Encyclopédie • Contre exemple – Ensemble de factures dans un tiroir car non organisé
  • 12. SGBD • Le Système de Gestion de Base de Données est le logiciel qui permet d ’interagir avec une base de données. • Ses principales fonctions : – Définition des données (structuration) – Manipulation et restitution des données (insertion, mise à jour, interrogation, suppression) – Contrôler l'intégrité des données (contraintes d’intégrités) – Assurer la sécurité de fonctionnement (transaction, journalisation, sauvegarde) – Gérer les accès concurrents (autorisation d’accès multiples en consultation et verrouillage en cas d’accès en modification ) – Assurer la confidentialité (identifiants et privilèges d’accès)
  • 13. Les principaux SGBD • DB2 : logiciel commercial (IBM), puissant et très complet , surtout destiné à des mainframes; • Oracle : logiciel commercial (Oracle Corp.), le best seller, disponible sur mainframes et micro-ordinateurs; • PostgreSQL : logiciel libre (Berkeley), puissant et complet, disponible dans tout le monde Unix, interface d’administration rustique. • MySQL : logiciel libre selon l’utilisation (racheté par Sun puis Oracle Corp. depuis le 21 janvier 2010 ), très répandu dans le petit monde web, simple à utiliser pour de petites applications. • SQL-Server : logiciel commercial (MS Corp.), disponible uniquement sur plateforme MS-Windows.
  • 14. Modèle de données • Dans une BDD, les informations sont généralement classées par nature connexes (ex : nom_client, prenom_client, adr_client) pour former des entités. • Ensuite, les entités créées sont reliées par des associations. • Un modèle de données permet d'identifier les entités d’une BDD et les dépendances entre ces entités. • Dans un modèle hiérarchique, les entités sont reliées entre elles par des associations père-fils selon un diagramme en arbre. • Dans un modèle réseau, les entités sont reliées entre elles par des associations de-à (utilisant des pointeurs) selon un graphe . • Dans un modèle relationnel, les entités sont des tables reliées par des associations de-à (utilisant des informations contenues dans les enregistrements).
  • 15. Modèle relationnel introduction • Le modèle relationnel a été initié par Edgar CODD à IBM en 1970 mais fut surtout utilisé à partir des années 1980. • Actuellement, la plupart des SGBD se réclament de ce modèle. • L'explication d'un tel succès tient à la simplicité qu’il apporte, par rapport à ses prédécesseurs de type "hiérarchique" ou "réseau" . • Une BDD relationnelle est composée de tables. • Une table étant un tableau à deux dimensions ou toute ligne correspond à un enregistrement et une colonne à un champ de cet enregistrement. • Toute opération relationnelle sur une ou plusieurs tables génère une nouvelle table comme résultat. • Théoriquement, le modèle relationnel est fondé sur la théorie des ensembles et la notion de relation.
  • 16. Modèle relationnel les concepts (1/4) • Un domaine est un ensemble de valeurs. • Le produit cartésien d’un ensemble de domaines D1, D2, …, Dn est l’ensemble des tuples (v1, v2, …,vn) tels que tout vi ε Di . On le note : D1 x D2´x … x Dn Ex: les domaines Prenom={Yéro, Ngor, Nogoye, Pendy} et Ethnie={Peul, Sérère} donnent le produit cartésien suivant : Prenom x Ethnie={ (Yéro,Peul),(Yéro,Sérère),(Ngor,Peul),(Ngor,Sérère) (Nogoye,Peul),(Nogoye,Sérère),(Pendy,Peul),(Pendy,Sérère) }
  • 17. Modèle relationnel les concepts (2/4) • Une relation (ou table) est un sous ensemble nommée du produit cartésien d’une liste de domaines. Ex: les domaines Prenom={Yéro, Ngor,Nogoye,Pendy} et Ethnie={Peul,Sérère} peuvent donner la relation suivante nommée Personnes: • On appelle enregistrement (ou tuple) d'une relation, une ligne de cette relation. Ex: (Ngor, Sérère) ou (Pendy,Peul) • Un attribut est une colonne d’une relation caractérisée par un nom. Ex: Prénom ou Ethnie Prénom Ethnie Yéro Peul Ngor Sérère Nogoye Sérère Pendy Peul
  • 18. Modèle relationnel les concepts (3/4) • Une clé primaire est un attribut ou un groupe d'attributs qui permet d'identifier de manière unique un enregistrement dans une table. (ex: ajoutons id_pers à la relation Personnes) • Une clé étrangère représente un attribut (ou des attributs) qui pointe vers la clé primaire d’une autre table (la table référencée). ex : Ds la relation Personne, remplaçons ethnie par id_eth pour référencer une nouvelle relation qu’on nommera Ethnie. Nous nous retrouverons avec les deux relations suivantes : Id_pers prenom id_eth 1 Yéro 1 2 Ngor 2 3 Nogoye 2 4 Pendy 1 id_ethnie nom_ethnie 1 Peul 2 Sérère PersonneEthnie
  • 19. Modèle relationnel les concepts (4/4) • Une clé étrangère permet de lier deux tables et de maintenir la cohérence entre les enregistrements des deux tables. Exemple: – on ne peut pas insérer une ligne dans la table Personne avec un id d’ethnie qui n'existe pas dans la table Ethnie ; – on ne peut pas supprimer une ligne de la table Ethnie si au moins une ligne de la table Personne a une valeur d'id d’ethnie correspondant à la ligne à supprimer. • Un schéma de relation est le nom de la relation suivi de la liste de ses attributs avec leurs domaines (qu’on omet en général) . Exemples : Personne (id_pers, prenom,id_eth) Ethnie(id_ethnie,nom_ethnie) les clès primaires sont soulignées et la clé étrangère est en italique
  • 20. 2ème partie 1. Généralités 2. Conception d’une base de données a) Introduction b) Etablissement du dictionnaire de données c) Structuration des données d) Construction du MCD e) Transformation du MCD en MLD f) Normalisation du MLD
  • 21. Conception d’une BD 1. Etablissement du dictionnaire des données (DD) qui recense toutes les informations utiles au SI 2. Structuration des données qui permet de regrouper les données du DD en "paquets" homogènes 3. Construction du MCD (Modèle Conceptuel des Données) qui permet de représenter graphiquement les paquets de données ainsi que les relations qui les lient. ex : Le modèle E-A est un formalisme de MCD. 4. Transformation du MCD en MLD (Modèle Logique des données ) qui est une représentation du SI tel qu'il sera implémenté dans un ordinateur. ex : Le modèle relationnel est un formalisme de MLD. 5. Normalisation du MLD qui permet d’éviter la redondance d’information et les risques d'anomalie de mise à jour. 6. Implémentation dans un SGBD.
  • 22. Etablissement du DD introduction • Le dictionnaire de données est établi à partir : – des interviews des acteurs impactés par le projet – de l'analyse des documents existants (bon de commande, factures, devis…) • Il est formalisé par un tableau afin de caractériser chaque donnée (nom, description, types et taille). • Types: numérique, alphanumérique, texte et date • NB 1 : ne pas retenir les données calculée ou paramétrée (ex: taux de TVA, durée). • NB 2 : éliminer toutes les données synonymes (ex: Code Client et N° Client) ou polysèmes (ex: qte_produit sur un bon de commande et qte_produit sur un état de stock)
  • 23. Etablissement du DD exemple Nom Description Type taille Exemple Adr_client Adresse d’un client Alphanumérique 30 Date_cmde Date d’une commande Date 8 Date_facture Date d’une facture Date 8 16/10/1985 Designation Nom d’un produit Texte 15 clavier Nom_client Nom d’un client Texte 15 Fall Num_bon_cmde Numéro de bon d’une commande Numérique 4 Num_client numéro d’un client numérique 4 2039 Num_facture numéro d’une facture numérique 4 Prenom_client Prénom d’un client Texte 20 Mamadou Prix_unit Prix de vente unitaire d’un produit Numérique 6 50000 Qte_commandee Quantité commandée d’un produit Numérique 4 Ref_produit Référence d’un produit Alphanumérique 10 Hard003
  • 24. Structuration des données dépendance fonctionnelle • Pour regrouper les données du DD en "paquets" (ou entité) homogènes, on utilise un élément structurant qui s'appelle la dépendance fonctionnelle (DF). • On dit qu'il existe une dépendance fonctionnelle entre une donnée A et une donnée B, on note A -> B, si connaissant une valeur de A on ne peut lui associer qu'une seule valeur de B. • Une DF est dite élémentaire si sa source ne comporte pas de données superflues. ex : AB -> C est élémentaire si ni A, ni B pris individuellement ne déterminent C. • On dit qu'une DF est simple si sa source n'est composée que d'une seule donnée. Elle est dite composée sinon. • Une DF est dite directe si elle ne peut pas être obtenue par transitivité.
  • 25. Structuration des données étapes 1, 2 et 3 • La structuration des données du DD s'effectue en 5 étapes : 1. Détermination de la liste des DF simples Exemple : num_client -> nom_client, prenom_client, adr_client Num_facture -> date_facture Ref_produit -> designation, prix_unit Num_bon_cde -> date_cde 2. Prise en compte des éventuelles données non classés dans l'étape 1 et détermination des DF composées Exemple : Ref_produit, num_bon_cde -> qte_commandee 3. Elimination des éventuelles transitivités du schéma des DF
  • 26. Structuration des données étapes 4 et 5 4. Construction, à partir des DF simples, des entités de la base de données Exemple : Client (Num_client, Nom_client, Prenom_client, Adr_client) Facture (Num_facture, Date_facture) Produit (Ref_produit, Designation) Commande (Num_bon_cde, Date_cde) 5. Construction, à partir des DF composées, des associations de la base de données Exemple : Contenir (Num_bon_cde, Ref_produit, Qte_commandee)
  • 27. Construction du MCD introduction • La modélisation conceptuelle des données est la représentation de l'ensemble des données du système d’information étudié, sans tenir compte des aspects techniques liés à leur mise en œuvre dans tel ou tel traitement. • Le modèle conceptuel des données décrit la sémantique, c'est-à-dire le sens attaché aux données et à leurs rapports les unes avec les autres. • Il permet de représenter de manière visuelle les liens entre les différentes données. • Nous allons le construire en quatre étapes
  • 28. Construction du MCD Regroupement des données du DD par entités • Une entité regroupe toutes les données du dictionnaire de données se rapportant à un même ensemble. • Toute donnée d’une entité est appelée propriété de l’entité. • Une propriété ne peut qualifier qu'une entité et une seule • Toute entité doit avoir un identifiant qui est une propriété (ou ensemble de propriétés) particulière permettant d’identifier de façon unique une occurrence de l’entité. • Exemple: Client (Num_client, Nom_client, Prenom_client, Adr_client) Facture (Num_facture, Date_facture) Produit (Ref_produit, Designation) Commande (Num_bon_cde, Date_cde)
  • 29. Construction du MCD recherche des associations • Les associations permettent d’établir des liens entre les entités • On utilise souvent les verbes décrivant le modèle • une association peut avoir des propriétés • Exemples : un client passe une commande => passer une facture correspond à une commande => correspondre une commande contient au moins un produit => contenir
  • 30. Construction du MCD Déterminer les cardinalités de chaque entité • Pour chaque entité, il y a autant de cardinalités que d’associations qui l’impliquent • À une occurrence donnée d’une entité, combien d’occurrences de l’autre entité peuvent y être associées ? – Nombre minimum : 0 ou 1 – Nombre maximum : 1 ou n • les cardinalités dépendent des règles de gestion en vigueur dans l'entreprise qui souhaite la conception du SI
  • 31. Construction du MCD Déterminer les cardinalités de chaque entité (exemple) Associations Entités Règles de gestion de l’entreprise Card Passer Client Un client passe une ou plusieurs commandes 1,n Commande Une commande est passée par un client et un seul 1,1 Correspondre Commande Une commande correspond à une facture au plus 0,1 Facture Une facture correspond à une commande et une seule 1,1 Contenir Commande Une commande peut contenir un ou plusieurs produits 1,n Produit Un produit peut ne figurer sur aucune ou plusieurs commandes 0,n
  • 33. Transformation du MCD en MLD • Le MLD est une représentation du SI tel qu'il sera implémenté dans un ordinateur. • Cette transformation consiste à remplacer les entités et les associations par des relations. • Cette transformation est facilitée par 6 règles de bases.
  • 34. Transformation du MCD en MLD règle 1 • Une entité du MCD devient une table (ou relation); • L'identifiant de l’entité devient la clé primaire de la table; • Les propriétés de l’entité deviennent les colonnes (ou attributs) de la tables. • Exemples : les 4 entités du MCD de l’exemple donnent les tables: Client (Num_client, Nom_client, Prenom_client, Adr_client) Facture (Num_facture, Date_facture) Produit (Ref_produit, Designation) Commande (Num_bon_cde, Date_cde) Les clés primaires sont soulignées • NB : ces tables vont évoluer par la suite
  • 35. Transformation du MCD en MLD règle 2 • La règle 2 gère la transformation d'une association binaire de type 1,n çàd de cardinalité x,n d'un coté et y,1 de l'autre avec x,y ∈ {0,1} • Notons par E1 l'entité sur laquelle la cardinalité x,n est définie et par E2 l'autre entité. • L'association disparaît et une clé étrangère est ajoutée dans E2 qui référence la clé primaire de E1; • Si y=1, ce nouvel attribut dans E2 doit être non NULL (non vide). • S'il y a des propriétés dans l'association disparue, ils deviennent toutes des colonnes de la table E1.
  • 36. Transformation du MCD en MLD règle 2 (exemple) L’association Passer part en modifiant la table Commande : Commande (Num_bon_cde, Date_cde, Num_client) la clé étrangère est en italique
  • 37. Transformation du MCD en MLD règle 3 • La règle 3 gère la transformation d'une association binaire de cardinalité n,m cad de cardinalité x,n d'un coté et y,n de l'autre avec x,y ∈ {0,1} • Une telle association devient une table (parfois appelée table de jonction, table de jointure, ou encore table d'association). • Sa clé primaire est composée de deux clés étrangères, chacune référençant la clé primaire d'une des deux tables en relation. • Les propriétés de l'association deviennent des colonnes de la nouvelle table.
  • 38. Transformation du MCD en MLD règle 3 (exemple) L’association Contenir devient la table : Contenir (Num_bon_cde, Ref_produit, Qte_commandee)
  • 39. Transformation du MCD en MLD règle 4 • La règle 4 gère la transformation d'une association binaire de cardinalité 1,1 cad de cardinalité x,1 d'un coté et y,1 de l'autre avec x,y ∈ {0,1} • Une telle association est transformée comme une association binaire de type 1,n. • S’il y a une cardinalité 0,1 d'un coté, c'est de l'autre coté que doit être ajoutés la clé étrangère. • Si les 2 cotés sont 0,1, alors l'emplacement de la clé étrangère est indifférent. • En plus, la clé étrangère se voit imposer une contrainte d’unicité en plus d’une éventuelle contrainte de non vacuité. • La contrainte d’unicité impose à la clé étrangère de ne prendre que des valeurs distinctes.
  • 40. Transformation du MCD en MLD règle 4 (exemple) L’association Correspondre part en modifiant la table Facture: Facture (Num_facture, Date_facture, Num_bon_cde)
  • 41. Transformation du MCD en MLD règle 5 • La règle 5 gère la transformation d'une association binaire réflexive • C'est comme si l'entité se dédoublait, on applique alors la règle 2 ou 3 (suivant les cardinalités) puis on fusionne les 2 tables. • Cas 1 : cardinalité x,n et y,1 : une nouvelle colonne se crée et devient une clé étrangère sur la clé primaire de cette même table (+ contrainte de non vacuité). • Cas 2 : cardinalité x,n et y,n : création d'une nouvelle table et ajout d'une clé étrangère.
  • 42. Transformation du MCD en MLD règle 5: exemple • L'association Repondre sur l'entité Message : message(num_message, titre, contenu, date_publi, num_auteur, num_message_initial) • la colonne num_message_initial est du même type que num_message et stocke la valeur de l'identifiant du message auquel celui-là est une réponse. • Cette colonne peut être NULL (vide) mais doit être UNIQUE.
  • 43. Transformation du MCD en MLD règle 6 • La règle 6 gère la transformation d'une association n-aire çàd liant plus de deux entités. • Quelles que soient les cardinalités, Il y a création d'une table supplémentaire ayant comme clé primaire la concaténation des identifiants des entités participant à la relation. • Si l'association est porteuse de données (propriétés), celles-ci deviennent des colonnes de la nouvelle table.
  • 44. Transformation du MCD en MLD schéma de la BD • Le MLD donne le schéma de la base de données relationnelle çàd l’ensemble des schémas des relations composantes • Exemple : Client (Num_client, Nom_client, Prenom_client, Adr_client) Facture (Num_facture, Date_facture, Num_bon_cde) Produit (Ref_produit, Designation) Commande (Num_bon_cde, Date_cde, Num_client) Contenir (Num_bon_cde, Ref_produit, Qte_commandee) Les clés primaires sont soulignées Les clés étrangères sont en italique • Une dernière étape avant l’implémentation permettra d’optimiser la base de données : la normalisation
  • 45. Normalisation du MLD Introduction • La normalisation est destinée à concevoir un bon schéma d’une BD sans redondance d’informations et sans risques d'anomalie de mise à jour. • Elle est fondée sur les dépendances fonctionnelles (DF) qui traduisent des contraintes sur les données et sur les formes normales qui définissent des relations bien conçues. • Sa mise en œuvre est fondée sur la décomposition progressive des relations jusqu'à obtenir des relations normalisées. • L'objectif de la décomposition est de "casser" une relation en relations plus petites afin d'en éliminer les redondances, sans perte d'information et d’en préserver les DF. • Pour ce faire, on se sert de quatre formes normales
  • 46. Normalisation du MLD Première forme normale (1FN) • Une relation est en 1FN si elle possède une clé et si tous ses attributs sont atomiques . • Elle vise simplement à éviter les domaines composés de plusieurs valeurs. • NB : L'atomicité d'un attribut est souvent relative : on peut décider qu'un attribut contenant une date ou une adresse n'est pas atomique • Contre exemple : Formateur(nom, modules) peut être décomposée en Formateur(nom, module,sous_module1, sous_module2, …)
  • 47. Normalisation du MLD Deuxième forme normale (2FN) • Une relation est en 2FN si elle est en 1FN et si toutes les DF entre la clé et les autres attributs sont élémentaires. • Elle permet d'éliminer les dépendances entre des parties de clé et des attributs n'appartenant pas à une clé. • NB : Si la clé primaire d'une relation est constituée d'un unique attribut, et que la relation est en 1FN, alors la relation est en 2FN. • Pour passer de 1FN à 2FN, il faut : a) créer une nouvelle table ayant pour clé la partie de la clé primaire dont dépend les attributs, ainsi que ces attributs eux-mêmes; b) éliminer les attributs dépendants de la table originale. c) conserver la clé de la nouvelle table dans l’ancienne en tant que clé étrangère.
  • 48. Normalisation du MLD Deuxième forme normale (exemple) • Supposons qu’au lieu des tables Commande et Produit précédentes, notre MCD et notre MLD nous donnent la table : Produit_commandé (Num_bon_cmde, Ref_produit, Designation) Qte_commandee) • Il y a donc une DF entre Ref_produit (une partie de la clé primaire) et Designation • Il faudra donc diviser cette table en deux comme suit : Produit (Ref_produit, Designation) Commande (Num_bon_cmde, Ref_produit, Qte_commandee)
  • 49. Normalisation du MLD Troisième forme normale (3FN) • Une relation est en 3FN si elle est en 2FN et si toutes les DF entre la clé et les autres attributs sont directes. • Elle permet d'éliminer les dépendances entre les attributs n'appartenant pas à une clé. • Pour passer de 2FN à 3FN, il faut : a) créer une nouvelle table qui aura comme clé l’attribut dont provient la dépendance et comme attributs, ceux qui en dépendent; b) éliminer les attributs dépendants de la table originale; c) conserver la clé de la nouvelle table dans l’ancienne en tant que clé étrangère.
  • 50. Normalisation du MLD Troisième forme normale (exemple) • Supposons qu’au lieu des tables Commande et Client précédentes, notre MCD et notre MLD nous donnent la table : Commande (Num_bon_cmde, date_cmde, Num_client, Nom_client, Prenom_client, Adr_client) • Il y a donc une DF entre Num_client (attribut non-clé primaire dans la table) et Nom_client, ainsi qu’entre Num_client et tous les attributs relatifs au client ayant fait la commande. • Il faudra donc diviser cette table en deux comme suit : Client (Num_client, Nom_client, Prenom_client, Adr_client) Commande (Num_bon_cde, Date_cmde, Num_client)
  • 51. Normalisation du MLD Forme normale de Boyce-Codd (FNBC) • Une relation est en FNBC si elle est en 3FN et si tous ses attributs non-clé ne sont pas source de DF vers une partie de la clé. • Les cas de tables modélisées et transformées en 3FN qui ne sont pas déjà en FNBC sont très rares. • Une base de donnée peut généralement être considérée comme implémentable sur un Système de Gestion de Bases de Données Relationnel lorsqu’elle est en FNBC.