Bases de Données Relationnelles Et SQL
Bases de Données Relationnelles Et SQL
Bases de Données Relationnelles Et SQL
I- Introduction
I-1- Définition
Une base de donnée est un ensemble de données organisées, structurées de manière à permettre leur stockage, leur gestion,
accès et leur manipulation efficace.
I-2- Historique
L’histoire des bases de données remonte aux années 1960 avec l’apparition des bases de données réseau.
Dans les années 1980, ce sont les bases de données orientées objet qui font leur apparition.
Aujourd’hui, les bases de données prédominantes sont : SQL, les No SQL et les Cloud
I-3 Les différentes sortes de bases de données
I-3-1 Les bases de données hiérarchiques
Elles comptent parmi les plus anciennes
I-3-2-Les BDD réseau
Elles sont utilisées au sein des entreprises de e-commerce
I-3-3- Les BDD textes ou encore Flat File
Elles se présentent sous la forme d’un fichier (table ou fichier.txt ou fichier.ini)
I-3-4- Les BDD relationnelles (SQL)
Elles ont vu le jour en 1970 par Edgar Frank CODD, le père du relationnel. Elles sont constituées d’un ensemble de tableaux au
sein duquel les données sont organisées par catégorie. L’application standard pour les BDD est le SQL (Structured Quiery
Language).
I-3-5- Les BDD distribuées
Ce sont des BDD dont certaines portions sont stockées à certains endroits physiques. Le traitement est réparti pour répliquer
entre les différents points d’un réseau.
I-3-6- Les BDD Cloud
Elles sont optimisées ou directement crées pour les environnements virtualisés. Il peut s’agir d’un cloud public, privé, ou
hybride.
I-3-7- Le s BDD No SQL
Elles sont utilisées pour les bases de données distribuées. Elles sont beaucoup plus utilisées pour le BIG DATA
I-3-8- Les BDD orientées objet
Les objets crées avec certains langages de POO sont généralement stockés sur des bdd relationnelles
I-3-9- Les bdd graphe
C’est un type de bdd No Sql utilisant la théorie des graphes pur stocker, cartographier et effectuer des requêtes sur les relations
entre les données. Elles sont combinées électroniquement et on les appelle les data Ware House.
I-4-Fonctionnement des bdd
Les bdd sont stockées sous forme de fichiers ou sous forme d’ensemble de fichiers sur disque magnétiques, disques optiques ou
tout autre équipement de stockage. Les bdd traditionnelles sont organisées par champs. Le champ étant une seule pièce
d’information. Un enregistrement est un ensemble de champs. Un fichier est une collection d’enregistrements.
La faculté de consulter ou de modifier une bdd est conférée aux divers utilisateurs par un database Manager. Elles sont
principalement présentes au sein des systèmes mainframe (par exemple IBM AS/400, qui sont de gros serveurs).
II- Système de gestion des bdd
II-1- Principe de fonctionnement
La gestion et l’accès à la bdd sont assurés par un ensemble de programmes qui constituent le système de gestion de bdd
(SGBD).
UN SGBD va permettre l’ajout, la modification, et la recherche de données. Actuellement, la plupart des SGBD sont stockées
sur des serveurs. On parle des modèles clients/ serveurs parce que le résultat est toujours retourné au client.
II-2- Objectifs
Ces objectifs sont les suivants :
a- Indépendance physique
La manière dont les données sont définies doit être indépendante des structures.
b- Indépendance logique
Un même ensemble de données peut être différemment vu par des utilisateurs différents. On les intègre dans une
vision globale.
PostgreSQL
MS SQL server
Oracle
Maria bd
MySQL
Sysbase
Informix
DB 2
III-2-4- Association
C’est un lien entre deux entités. Elle désigne un ensemble de relations qui possèdent les mêmes caractéristiques. Les
associations sont définies à l’aide de propriétés qui prennent leurs valeurs dans le contenu des associations, et donc lient les
entités.
NB : Une propriété peut être classée dans une association, uniquement lorsqu’elle dépend de toutes les entités liées par cette
association. On parle alors de propriétés portées ou d’associations porteuses.
Étudiant Livre
NumMat NumLivre
Nom Emprunter Titre
Prénom Auteur
Adresse Propriétés Editeur
(0,1) (0,n)
Remarque : Une association est binaire lorsqu’elle lie deux entités, ternaire si elle en lie trois, et quaternaire si elle en lie
quatre.
Elle est dite porteuse si elle possède une ou plusieurs propriétés
III-2-5-Les cardinalités
Elle est représentée par une paire de chiffres. On en distingue quatre types.
0,1 Au plus un
1,1 Un et un seul
1,n Au moins un
Remarque : L’expression de la cardinalité est obligatoire pour chaque partie d’une association.
Une cardinalité minimale est toujours 0 ou 1, et une cardinalité maximale est toujours 1 ou n.
Pour justifier une cardinalité, elle se réalise entre une entité et une association :
En constituant une simple phrase dont le sujet est le nom de l’entité, précédé de l’article indéfini « un/une ». Le
complément de la phrase est le nom de l’autre entité précédé de la signification des types de cardinalités à
justifier. Entre le sujet et sa signification, doit être placé le verbe (nom de l’association ou un synonyme
conjugué au présent de l’indicatif à la forme passive ou active)
Lorsque la phrase construite n’a pas de sens, elle pourra être reconstruite en utilisant à la place du sujet, un
groupe nominal constitué des mots « sur, dans, a », suivi du nom de l’entité. Pour une meilleure visibilité, cette
justification se fait à l’aide du tableau ci-après.
IV-1-Introduction
Il existe cinq formes normales principales et deux extensions. Les formes normales permettent d’éviter la redondance,
une source d’anomalies au niveau des bdd. Une entité ou une association en forme normale de niveau n est
automatiquement en forme normale de niveau n-1.
Une modélisation rigoureuse permet généralement d’aboutir directement à des entités et associations en forme
normale de Boyce Co–––dd
PAVILLON PAVILLON
NoPavillon NoPavillon
Adresse Adresse
1FN
Occupant Code postal
Ville
0,n
Occuper
1,1
PERSONNE
NoPavillon
Code postal
Ville
Une entité ou une association est en 1FN si tous ses attributs sont élémentaires, c’est-à-dire non décomposables
On suppose qu’un même produit peut être fourni par différents fournisseurs, et qu’un fournisseur peut fournir
différents produits. Une entité ou une association est en 2FN si et seulement si elle est en 1FN et si tout attribut
n’appartenant pas à la clé dépend de la totalité de cette clé.
ARTICLE
ARTICLE
2FN NoArticle
Produit
Produit
Fournisseur
Fournisseur
AdresseFournissseur
AdresseFournissseur
Fournisseur
AdresseFournissseur
Fournir
FOURNISSEUR
NoFournisseur
NomFournisseur
Une entité ou association est en 3FN si et seulement si elle est en 2FN et si ses attributs normaux dépendent
directement de sa clé pas d’autres attributs. Cette normalisation peut entraîner à désimbriquer d’autres entités comme
le montre notre exemple.
Une entité o une association en 2FN avec au plus un attribut qui n’appartient pas à la clé , est par définition en
3FN.
DIPLÖME PERSONNE
Nom Nom
Prénom BCNF Prénom
Diplôme
Instutution
0, n
Fournir
0, n
INSTITUTION
Une entité ou une association est en BCNF si et seulement si elle est en 3FN, NomInstitution
et si aucun attribut faisant partie de la clé dépend d’un attribut ne faisant pas partie
Diplôme
de la clé.
a- Pour les entités, choisissez un nom commun décrivant l’entité. Il faut rester cohérent. Soit tous les noms
sont au singulier, soit ils sont tous au pluriel. Exemple : Étudiant, ETUDIANT, Étudiants
b- Pour les associations, choisissez un verbe à l’infinitif, éventuellement à la forme passive, ou accompagné
d’un adverbe.
Exemple : Enseigner, avoir lieu dans
c- Pour les attributs, utiliser un nom commun au singulier, éventuellement accompagné du nom de l’entité ou
de l’association dans lequel il se trouve.
Exemple : NumeroArticle, NomClient, Nom_Client, NumArticle
d- Concernant le choix des identifiants, évitez les identifiants composés de plusieurs attributs ; évitez les
identifiants susceptibles de changer au cours du temps; évitez les identifiants de type chaîne de caractères.
V-1-1-Présentation
Dans le modèle relationnel, les données sont représentées par des tables. Les tables constituent la structure logique
du modèle relationnel. Elles ne représentent qu’une abstraction d’enregistrements physique des données en
mémoire
A- Les objectifs
A- Attribut
IL est un identificateur décrivant une information dans une base
B- Le domaine de l’attribut est l’ensemble fini ou infini de ses valeurs possibles
C- Relation
Une relation est un sous ensemble du produit cartésien de n sous domaines d’attributs, n supérieur à zéro.
D- Schéma de relation
Il précise le nom de la relation ainsi que la liste des attributs et le nom de leurs domaines.
Exemple :
Schéma de NoSecu Nom Prenom la relation
PERSONNE (NoSecu :
entier, 35214645 HALIDOU ASSAMAOU Nom : chaîne,
Prenom : chaîne)
84294294 KIKI Gérard
V-1-5-1-Règle de passage
Pour traduire un schéma du modèle entité association vers le modèle relationnel, on applique les règles suivantes :
La normalisation devrait toujours être effectuée avant les passages au modèle relationnel
Chaque entité donne naissance à une relation
Chaque association dont aucune pate n’a pour cardinalité maximale 1 donne naissance à une relation. Chaque
attribut de cette association devient un attribut de la relation.
Une association dont au moins une pate a une cardinalité maximale égale a 1 ne devient pas une relation. Il
devient en effet une dépendance fonctionnelle.
0,1 1,1
CITOYEN
CANDIDAT
NumCitoyen
Être NumCandidat
Nom
Parti
Prénom
Adresse
Dans cet exemple, les cardinalités maximales de entités sont de 1 .L’application des règls de passage du modele entité
association au modèle relationnel donneraient :
L’attribut NumCandidat dans l’entité Citoyen est une clé étrangère dans cette entité. L’association Ëtre etant de type 1
vers1, il est entièrement matérialisé dans la relation CITOYEN. Il est donc inutile de faire cette matérialisation.
Dans ce cas, l’attribut NumCandidat dans la relation citoyen doit être supprimé. D’autre part dans le relation cndidat,
l’attribut NumCitoyen, en plus d’être clé étrangère, est une clé « candidate ».
V-1-3-3- Cas particulier d’une entité sans attribut autre que sa clé
Lorsqu’une entité ne possède pas d’attribut en dehors de sa clé, il ne faut pas nécessairement en faire une entité.
DATE
Date
EXEMPLAIRE
PERSONNE
Prenom
Adresse
Dans l’exemple ci-dessus, l’entité DATE ne doit pas être matérialisée dans une relation.
PATIENT
1, n
MUTUELLE
NumPatient
0, n UTILISER
NomPatient NumMutuelle
PrenomPatient NomMutuelle
1, n
HOSPITALISER AFFECTATION
MEDECIN 0,n
Chambre NumAffectation
NumMedecin
Duree_Hospit NomAffectation
NomMedecin
0,n
PrenomMedecin 1,n
DATE_ENTREE
DateEntree
MUTUELLE (NumMutuelle, NomMutuelle)
V-2- Normalisation-Projection-Processus
V-2-1- Définition
Le processus de normalisation consiste à remplacer une relation donnée par certaines projections afin que la jointure de
ces projections permette de retrouver la relation initiale. La normalisation sera abordée en s’appuyant sur les notions de
dépendances fonctionnelles, dépendances multi variées, dépendances de jointure. Les concepts de normalisation
permettent par un moyen direct de fournir ces dépendances.
La dépendance fonctionnelle permet de définir les premières formes normales, jusqu’à la forme normale de Boyce
CODD (1FN, 2FN, 3FN, BCNF)
La dépendance multivariée permet de définir la 4ème FN, et la dépendance de jointure, la 5ème FN.
V-2-2-Dépendance fonctionnelle
A- Définition
Soit R un schéma de relation R (A1, A2…An) et x, y les sous-ensembles de A1, A2, …, An
On dit que x détermine y, ou que y dépend fonctionnellement de x si et seulement si les valeurs identiques de x
impliquent les valeurs identiques de y.
On le note x y
Autrement dit, il existe une dépendance fonctionnelle entre un ensemble d’attribut x et un ensemble d’attributs y , si
on ne peut lui associer qu’une seule occurrence de y. Elle caractérise donc une extension de la relation
Une df élémentaire est une df de la forme X-> A où A est un attribut unique n’appartenant pas à x, et où il
existe x’ inclut au sens strict dans x tel que x’A .
Autrement dit, une dépendance fonctionnelle est élémentaire si la cible est un attribut unique et si la source
ne comporte pas d’attribut de super flux.
Lorsque la partie gauche de la df comporte plusieurs attributs, la question ne se pose plus.
V-3-1-Introduction
Un algèbre relationnel est un support mathématique cohérent sur lequel repose le modèle relationnel. Son but est de
décrire les opérations qu’il est possible d’appliquer sur les relations pour produire de nouvelles relations. L’approche est
plus opérationnelle que mathématique.
V-3-2- Sélection
La sélection génère une relation regroupant exclusivement toutes les occurrences de la relation IR qui satisfont
l’expression logique E.
On la note (E)R
Autrement dit, la sélection permet de sélectionner les lignes dans le tableau. Le résultat de la sélection est donc une
nouvelle relation qui a les mêmes attributs que R.
V-3-3-Projection
La projection consiste à supprimer les attributs autres que A1 à An d’une relation et à éliminer les n-uplets en double
apparaissant dans la nouvelle relation. On la note : 0(A1…An)R
V-3-4- Union
C’est une opération qui porte sur deux relations R1 et R2 ayant le même schéma et construisant une troisième relation
constituée des n-uplets appartena nt à chacune des relations R1 et R2 sans doublons.
On la note : R1 U R2
Il s’agit d’une opération binaire ensembliste commutative essentielle dont la signature est : relation x relationrelation
V-3-5- Intersection
Opération sur deux relations qui donne une troisième relation. Elle est notée R1 ղ R2.
V-3-6-Différence
C’est une opération portant sur deux relations R2 ayant les mêmes schémas et dont les n-uplets sont constitués de ceux
qui se trouvent dans la relation R1.
Il s’agit d’une opération binaire non commutative et dont la signature est : relation x relation—relation (R1-R2)
V -3-7-Produit cartésien
Le produit cartésien est une opération portant sur deux relations R1 et R2 et qui construit une troisième relation
regroupant toutes les possibilités de combinaison de R1 et R2.
Il s’agit d’une opération binaire commutative essentielle dont la signature est : relation X relation relation (R1 x R2)
V-3-8-Jointure, thêta jointure
La jointure est une opération portant sur deux relations qui construit une3ème groupant toutes les possibilités de
combinaison des occurrences qui satisfont l’expression logique de E .
Il s’agit d’une opération binaire commutative dont la signature est : relation x relation x expression logique relation
V-3-9-Division
Telles que le schéma de R2 est strictement inclus dans celui de R2, schéma de R2 inclus dans R1, et qui génère une
troisième relation regroupant toutes les parties d’occurrence de R1 qui sont associées à R2
C’est une opération binaire non commutative dont la signature est : relation X relation relation (R1/R2)
La modélisation conceptuelle des données est la représentation de l’ensemble des systèmes de formation utilisés sans
tenir compte des aspects organisationnels et techniques liés à leur mise en œuvre dans tel ou tel traitement. Cette
représentation est appelé SCHEMA CONCEPTUEL DES DONNEES (SCD).
VI-1-Les concepts
VI-1-1- La propriété
C’est le plus petit lot d’informations manipulé par l’entreprise et qui a un sens en lui-même. Elle est décrite par un nom
permettant de le l’identifier de manière unique au sein du système d’information.
C’est le résultat de la phase de collecte des données. Cette dernière se fait à partir des documents et/ou des entrevues
(Interviews). Le formalisme est le suivant :
C’est une association binaire non porteuse dont l’une des pattes a pour cardinalité maximale 1. Elle exprime le fait
qu’une entité soit entièrement déterminée par une autre entité.
Exemple :
1, 1 1, n
PRODUIT FAMILLE
Appartenir
RefProd CodFam
Famille
Produit
LibProd NomFam
RefProd
LibProd CIF
ou
1,n
1,n
Enseignant
CIF
1,n
C’est une association de type (n, n) c’est-à-dire une association dont la cardinalité maximale n’impacte n. Elle est encore
appelée association non hiérarchique
C’est l’ensemble minimum de dépendances fonctionnelles, c’est-à-dire la liste de toutes les dfe , df directes, dr2R et
DFDGC
C’est une représentation de la couverture minimale sous forme d’un tableau oû les sources sont représentées en
colonnes et les dfe directes en lignes.
Buts Sources
No Ligne Propriétés
C’est un schéma qui met en évidence, les entités, les cardinalités et associations
Une source de df2r gen7re une entit2 dont elle est l4identifiant
Une source de df2r pointant vers une source de df2r indique une relation entre les deux entités déterminées par ces
deux sources.
Une DFPGC génère une association porteuse quand elle a pour but une propriété (ou plus) non recensée comme source
de la df2r.
Cette association relie les entités dont les identifiants correspondent aux propriétés de la source.
Une dfpgc génère une CIF multiple quand elle a pour but une propriété recensée comme source de la df2r.
En utilisant les df, on reporte sur le schéma conceptuel de données, des propriétés qui n’y sont pas encore. Il suffit de
reporter chaque propriété dans le symbole (entité ou association dont l’identifiant est la source de la df et qui a pour
but cette propriété à placer)
En intention, elle est représentée par un nom et une liste des attributs et est décrit par le formalisme <Nom
relation>(<Attribut1, attribut2, attribut n>)
… … …
… … …
Toute ligne de df de la couverture minimale correspond à une relation dans le modèle relationnel des données. Pour
chacune de ces lignes, :
Remarque : Les noms des relations ne sont pas fournis par la couverture minimale. Il faut les proposer en
s’appuyant par exemple sur les clés primaires.
Toute entité devient une relation ayant pour clé primaire l’identifiant de l’entité et pour autres attributs, les
propriétés de l’entité.
Toute association de type n,n devient une relation ayant pour clé primaire l’identifiant implicite de l’association,
et pour autres attribut les propriétés de l’association si elle en possède
Toute CIF induit la création d’une clé étrangère dont la relation ayant pour origine l’entité du côté où la
cardinalité maximale est 1.
La clé étrangère n’est rien d’autre que l’identifiant du côté où la cardinalité maximale est n
La modélisation physique des données consiste à implanter l’ensemble des données au moyens d’un SGBD se référent
au même modèle de représentation que celui retenu pour le schéma logique de données.
Les concepts
*Le champ : c’est le plus petit élément manipulable par l’utilisateur
Il est décrit par un nom, un type, des propriétés de type et une description
Nom_Table
Champ1
Champ2
Champ n
Contrainte d’intégrité de domaine : c’est l’ensemble des règles de contrôle de cohérence des valeurs prises par
les attributs par rapport à leur domaine de valeur.
Contrainte d’intégrité de table : C’est l’ensemble des règles de contrôle de valeurs prises par des clés primaires
des tables.
La valeur de la clé primaire doit être unique et non nulle
Contrainte d’intégrité de référentiel : c’est l’ensemble des règles de contrôle de cohérence des valeurs prises
par les clés étrangères par rapport aux clés primaires des autres relations auxquelles elles sont liées
IX- Application :
IX-1- Application 1
Filière 0, n Eleve
1,1 0, 1
CodFil CIF NumMat Pratiquer
LibFil NomEle
PrenomEle
Age
1, n DateIn
Dispenser
Coef
Matière
CodMat,
Sport
LibMat
CodSp
1, n LibSp
1- Déterminer le nombre d’entités, d’associations, d’associations binaires non porteuses, de contrainte d’intégrité
multiple (CIM) , de contrainte d’intégrité fonctionnelle (CIF).
2- Dressez la couverture minimale ayant généré ce schéma conceptuel de données
3- Élaborez la matrice de dépendance fonctionnelle
4- Justifiez les cardinalités
5- Élaborez le schéma logique et relationnel correspondant
6- En déduire le schéma physique relationnel
Réponses
1-
2- Couverture minimale
4-
X- LANGAGE SQL
X-1- Introduction
X-1-1-Présentation générale