0% ont trouvé ce document utile (0 vote)
23 vues35 pages

Bases de Données

Une base de données est une collection de données accessibles pour divers utilisateurs, permettant des opérations telles que la création, la consultation et la modification de données. Un Système de Gestion de Bases de Données (SGBD) sert d'interface entre l'utilisateur et la base, gérant l'accès, l'intégrité et la sécurité des données. Le document aborde également la structure fonctionnelle d'un SGBD, les niveaux d'abstraction, et les règles de transformation des modèles conceptuels en modèles logiques.

Transféré par

Kàoutar El Mleyani
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
23 vues35 pages

Bases de Données

Une base de données est une collection de données accessibles pour divers utilisateurs, permettant des opérations telles que la création, la consultation et la modification de données. Un Système de Gestion de Bases de Données (SGBD) sert d'interface entre l'utilisateur et la base, gérant l'accès, l'intégrité et la sécurité des données. Le document aborde également la structure fonctionnelle d'un SGBD, les niveaux d'abstraction, et les règles de transformation des modèles conceptuels en modèles logiques.

Transféré par

Kàoutar El Mleyani
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

INTR O D U C TION

A UX
BASES DE DONNÉES
CONCEPTS DE BASE

Ce qu'est une Base de Données

Fig. 1 - Schéma de Principe d'une B D


Ce qu'est une Base de Données (BD)

Une base de données est une collection de données stockées dans des fichiers et
accessibles à la demande pour plusieurs utilisateurs et des besoins divers.

Ces données représentent des informations servant aux activités et au management d'une entreprise.
L'utilisateur dispose de moyens très élaborés pour effectuer un large éventail d'opérations:

- Créations de nouveaux fichiers,

- Consultation, ajout, modification ou suppression de données,

- Calculs et éditions de résultats.

- etc …

Les langages et les outils logiciels pour effectuer ces opérations sont évolués et très
pratiques
Exemple: Soit le fichier concernant les employés d'une organisation

EMPLOYES
NUM NOM PRENOM SALAIRE SERVICE

e01 benali ali 5500 personnel

e04 benamine amine 6000 personnel

e02 benhlima halima 5700 clients

e10 bennani anis 7000 fournisseurs

e23 benahmed ahmed 8500 clients

e24 bensaid saida 6600 personnel

e08 benazi aziz 7000 founisseurs

e06 bendaoud daoud 7000 clients

e20 bennouna anas 5400 clients

e14 benkacem kacem 7800 direction


Exemples d'interrogations:

• Quel(le)s sont les personnes du service «clients»

SELECT *
FROM EMPLOYES
WHERE SERVICE = "clients"

R és u ltat:

NUM NOM PRENOM SALAIRE SERVICE


e02 benamina amina 5700 clients

e23 benahmed ahmed 8500 clients

e06 bendaoud daoud 7000 clients

e20 bennouna anas 5400 clients


• Afficher le nom de tous avec leur salaires • Triés par salaire croissant

SELECT NOM, SALAIRE SELECT NOM, SALAIRE


FROM EMPLOYES FROM EMPLOYES
ORDER BY SALAIRE

NOM SALAIRE --------------------


-------------------- NOM SALAIRE
benali 5500 --------------------
benamine 6000 bennouna 5400
benhlima 5700 benali 5500
bennani 7000 benhlima 5700
benahmed 8500 benamine 6000
bensaid 6600 bensaid 6600
benazi 7000 benazi 7000
bendaoud 7000 bendaoud 7000
bennouna 5400 bennani 7000
benkacem 7800 benkacem 7800
benahmed 8500
– Idem mais pour les personnes du service clients

SELECT NOM, SALAIRE


FROM EMPLOYES
WHERE SERVICE = "clients"
ORDER BY SALAIRE

NOM SALAIRE

bennouna 5400

benamina 5700

bendaoud 7000

benahmed 8500
Exemples d'interrogations avec calcul:

• Calculer le salaire moyen • Calculer le nombre d'employés


SELECT AVG (salaire) SELECT COUNT (*)
FROM EMPLOYES FROM EMPLOYES

AVG COUNT

7300 10
Exemples de modifications:
• Remplacer le salaire de l'employé «e06» par 8000

UPDATE EMPLOYES
SET SALAIRE = 8000
WHERE NUM = "e06"

• Ajouter un nouvel employé

INSERT INTO EMPLOYES VALUES


("e09", "BenSalah", "Salah", 8500, "clients")
Ce qu'est un Système de Gestion de Bases de Données (SGBD)
Le S G B D , Système de Gestion de Bases de Données, est le logiciel intermédiaire entre l'utilisateur et la
base et qui est chargé de réaliser toutes les opérations s'effectuant sur la B D .

N iveau
ß
Logique

N iveau
ß
Physique

Fig. 2 -Un Système de Gestion de Bases de Données

L'utilisateur a une vision logique des données, qui lui permet de les manipuler aisément
(langages et interfaces de haut niveau) et de façon proche de ses besoins. C'est le S G B D qui
se charge des considérations physiques liées au stockage des données sur disque et de la
façon de les retrouver ou modifier.
Le S G B D gère aussi les programmes que l'utilisateur développe et permet leurs exécutions à la
demande.
Rôle d'un SGBD:

Un S G B D est en général, multi utilisateurs, multitâches. Il


– Permet l'accès à la base à plusieurs utilisateurs simultanément
– Traite en les optimisant les requêtes utilisateurs
– Gère l'exécution cohérente de plusieurs programmes simultanés (accès concurrents)
– Assure l'intégrité la sécurité, et la protection des données
– Offre des moyens d'interaction, langages et interfaces, faciles à utiliser

F Langage base de Donnée (LBD), permet de définir et de manipuler des données dans
une base. Un LBD doit se conformer à un modèle de données évolué.

F Un modèle de Données permet à l'utilisateur de percevoir les données dans une forme
plus simple, par exemple des tables. (Forme dégagée des aspects techniques liés à la
représentation en machine).

F Un LBD est suffisamment complet pour être utilisé seul et de façon interactive pour diverses
requêtes.
FA cela s'ajoute la possibilité pour les non-initié(e)s de travailler sur la base via des interfaces
conviviales (menus, écrans de saisies, affichages de graphiques, éditions de rapport etc.)

Le S G B D contient les outils pour tout cela.


Structure Fonctionnelle d'un SGBD:

Niveau des utilisateurs et des applications

Couche logicielle
Outils d'exploitation interactive, Programmation, externe.
ß
Outils 4e Génération etc...
Orientée
utilisateurs

Langage d'accès unique (e.g. S Q L )

N o yau Couche logicielle


SGBD interne.
ß
O rientée
Accès Disques Fichiers

Base
de
Données

Fig. 3 - Composants d'un S G B D .


✓Usage d'écrans de saisies/éditions (FORM):
Ecran formaté avec rubriques libellées et données correspondantes affichées.
Utilisateurs non informaticiens, Simplicité de manipulation.

Fig. 4 - Formulaire d’interrogation. O n tape le n° département, son nom s’affiche,


on appuie sur calculer et la moyenne des salaires de ses employés s’affiche
✓Edition de rapport ( R E P O R T Writer):

Document chiffré (e.g. bilan, facture etc.) formaté contenant des données extraits de la BD .

Fig. 5 - Facture imprimée contenant des données calculées et extraites


d’une base de données
Pourquoi les Bases de Données (SGBD)
• Intégration et partage des données.

• Elimination (ou limitation) des redondances et des incohérences

(Intégrité des données)

• Rapprochement Users et Informations

• Indépendance Données/Programme.
– Niveau Physique :
Programmes indépendants des détails liés à l'organisation des fichiers et des méthodes
d'accès etc …

– Niveau Logique :
BD conçue globalement, sans référence à un programme particulier. Chaque groupe
d'utilisateurs peut voir les données selon la forme désirée.

• Standardisation

• Contrôle Centralisé.

• What else …
Architecture des systèmes BD
Cadre formel pour la conception de SG BD.

Fig. 6 - Architecture A N S I / S P A R C Pour une B D


Architecture des systèmes BD

✘ Schéma Conceptuel de Données: Représentation (abstraite) de tout le


contenu de la base. Description de l'ensemble des informations dans le
langage de définition de données.

✘ Schéma Interne : Représentation interne (concrète) de ce contenue.


gérée directement par le SGBD.

✘ Schémas Externes (Vues externes) : Représentation de parties de la


base. Description des données telles qu'elles sont vues par un utilisateur
(ou groupe).
Les niveaux d’abstraction

Clarification Modélisation Modélisation Implémentation


conceptuelle logique
Les niveaux d’abstraction

Domaine
Problème Représenter
posé
Modèle
conceptuel

Traduire

BD Implémenter
Solution
proposée
Modèle
logique
Du modèle conceptuel au modèle logique de données

Du MCD au MLD : changement de représentation


On peut représenter le MLD sous forme graphique ou textuelle :

Entreprise (NumEnt, NomEnt, AdrEnt, #CatEnt)

Table Entreprise, avec les champs :


► NumEnt : numéro de l’entreprise dans la BD, clé primaire
► NomEnt : nom de l’entreprise
► AdrEnt : adresse de l’entreprise
► #CatEnt : catégorie de l’entreprise, clé étrangère
Du MCD au MLD : changement de terminologie

► tables
► clé primaire, clé étrangère
► champs
► enregistrements
Du MCD au MLD : terminologie

Entreprise (NumEnt, NomEnt, AdrEnt, #CatEnt)

Table Entreprise, avec les champs :


► NumEnt : numéro de l’entreprise dans la BD, clé primaire
► NomEnt : nom de l’entreprise
► AdrEnt : adresse de l’entreprise
► #CatEnt : catégorie de l’entreprise, clé étrangère

Enregistrement :
11234, Amabone, 13 rue de l’arnaque F764354 Baris, 35
Règles de passage du MCD au MLD
Règle 1 : chaque entité devient une table

Entité :

Client
Table :

Id_Client
Client (ID_Client, Nom, Prénom,
Nom
Prénom Adresse, Num_Tel)
Adresse
Num_Tel

identifiant → clé primaire


Exercice : passer du MCD au MLD

Chambre

Id_Chambre
Nb_Places
Tarif
Exercice : passer du MCD au MLD

Chambre

Id_Chambre
Nb_Places
Tarif


Chambre (ID_Chambre, Nb_Places, Tarif)
Règle 2 : associations de cardinalités 1, n ou 0, n
associations multiples
Chaque association de cetype devient une table dont la clé
primaire regroupe les identifiants des entités impliquées :

Coureur

NuméroCoureur
NomCoureur

1,n

Participer
Participer
TempsRéalisé →
(NuméroCoureurNuméroEtape,
TempsRéalisé)
1,n

Etape

NuméroEtape
Date
VilleDépart
VilleArrivée
NbKm
Règle 2 : associations de cardinalités 1, n ou 0, n
associations multiples

Chaque association de cetype devient une table dont la clé


primaire regroupe les identifiants des entités impliquées :

EtreMariéA
0,n
Personne
EtreMariéA
Date
Lieu
Id_Pers
Nom → (ID_PersID_Pers, Date,
Prénom
0,n
Lieu)

27 / 41
Exercice : passer du MCD au MLD

Client Produit
0,n Commande 0,n
Id_Client Id_Produit
Date_Commande Nom
Nom
Exercice : passer du MCD au MLD

Client Produit
0,n Commande 0,n

Id_Client Id_Produit
Date_Commande Nom
Nom


Client (ID_Client, Nom)
Produit (ID_Produit, Nom)
Commande (ID_ClientID_Produit, Date_Commande)
Règle 3 : autres associations

Les associations dont les cardinalités sont du type :


► 1, n - 1, 1
► 0, n - 1, 1
► 1, n - 0, 1
► 0, n - 0, 1

→ donnent une clé étrangère dans la table correspondant à


l’entité concernée par les cardinalités 1, 1 ou 0, 1.
→ cette clé étrangère prend sesvaleurs dans celles de la clé
primaire de l’entité concernée par les cardinalités 1, n ou 0, n
→ quand il existe des propriétés dans l’association, elles basculent
dans la table forte
Règle 3 : autres associations
→ donnent une clé étrangère dans la table correspondant à
l’entité concernée par les cardinalités 1, 1 ou 0, 1.
→ cette clé étrangère prend sesvaleurs dans celles de la clé
primaire de l’entité concernée par les cardinalités 1, n ou 0, n
→ quand il existe des propriétés dans l’association, elles basculent
dans la table forte

Livre Genre
1,1 Relève_De 0,n
Id_Catalogue Id_Genre
Titre Intitulé


Livre (ID_Catalogue, Titre, #ID_Genre)
Genre (ID_Genre, Intitulé)
Exercice : passer du MCD au MLD
Coureur

NuméroCoureur
NomCoureur

1,1

Appartenir

1,n

Equipe

CodeEquipe
NomEquipe
DirecteurSportif
Exercice : passer du MCD au MLD

Coureur

NuméroCoureur
NomCoureur

1,1

Appartenir

1,n

Equipe

CodeEquipe
NomEquipe
DirecteurSportif


Coureur (NuméroCoureur, NomCoureur, #CodeEquipe)
Equipe (CodeEquipe, NomEquipe, DirecteurSportif)
Exercice 1 : passer du MCD au MLD
Coureur Pays
1,1 Provenir 0,n
NuméroCoureur CodePays
NomCoureur NomPays

1,n 1,1

Participer
Appartenir
TempsRéalisé

1,n 1,n
Etape Equipe

NuméroEtape CodeEquipe
Date NomEquipe
VilleDépart DirecteurSportif
VilleArrivée
NbKm
Exercice 2 : passer du MCD au MLD

Facture Client
1,1 Payer 1,n
NumFacture NumClient
DateFacture NomClient
AdresseClient

1,n

Produit

Concerne 1,n RefProd


LibProd
Qté PUHTProd

Vous aimerez peut-être aussi