Vous êtes sur la page 1sur 6

Résumé Base de données

Chapitre1 : (Notion de base de données)


• Données : est une description élémentaire d’une information
• La persistance = mémorisation + disponibilité
• Une base de données : est une collection de données structurées relatives à un ou
plusieurs domaines du monde réel.
Avantages d'une BD
• Centralisation : Les données peuvent être utilisées par plusieurs programmes et plusieurs
utilisateurs
• Indépendance entre données et programmes : les données sont décrites
indépendamment des programmes
• Intégration des liaisons entre les données : Pas besoin d'un programme pour retrouver
les liens entre les données.
• Intégrité des données
• Concurrence d'accès : Plusieurs utilisateurs peuvent Accéder simultanément à la BD
Les modèles des bases de données
• Le modèle hiérarchique
• Le modèle réseau
• Le modèle relationnel

Chapitre2: (Notion de Système de Gestion de Bases de données)


Définition d’un SGBD
• Un système de gestion de base de données (SGBD) est un logiciel qui permet de décrire,
modifier, interroger et administrer les données d'une base de données.
Les fonctions d'un SGBD
• La définition des données : Le SGBD permet de créer et de décrire les objets de la base
de données (tables, liens,utilisateurs,…), grâce au Langage de Description des Données
(LDD).
• La manipulation des données : Le SGBD permet de faire la recherche, l’ajout, la
modification et la suppression de données grâce au Langage de Manipulation des
Données (LMD).
• L'intégrité des données : assurer la cohérence des données
• La gestion des accès concurrents : Le SGBD gère l'accès simultané des utilisateurs à la
base de données.

Website : www.TakiAcademy.com 1
Résumé Base de données
• La confidentialité : Tous les utilisateurs d'une base de données ne sont pas supposés
pouvoir consulter toutes les informations
• La sécurité du fonctionnement

Chapitre3: (Structure d'une base de données relationnelle)


• Une table est un ensemble de données relatives à une même entité
• Une colonne (champ) représente une propriété élémentaire de l'entité décrite par cette table.
• Une ligne (enregistrement) représente une occurrence du sujet représenté par la table
• La clé primaire : est un champ ou un ensemble de champs permettant d'identifier de
manière unique chaque enregistrement de la table
• La clé étrangère représente un champ (ou des champs) qui pointe vers la clé primaire
d’une autre table.

Liens entre les tables


• Liens de type 1, n : Un lien entre deux tables A et B (A est associée à une ou plusieurs
occurrence de B et B est associée à une et une seule occurrence de A)
• Liens de type n, n : Ce type de lien entraine la création d’une troisième table dite
intermédiaire.
• On obtient ainsi deux liens de type 1,n

Notion de contrainte d'intégrité


• Une contrainte d'intégrité est une règle appliquée à un champ ou à une table et qui doit
être toujours vérifiée

Types de contraintes :
• Les contraintes d'intégrité de domaines : valeur autorisées pour une colonne (valide si)
• Les contraintes d'intégrité de table: clé primaire
• Les contraintes d'intégrité référentielle : Champ clé étrangère ne peut contenir qu'une
valeur déjà existante dans le champ clé primaire correspondant

Chapitre 4: (Démarche de détermination de la structure d'une base de données)


Déterminer les colonnes (champs)

Nom Description Type de Taille Obligatoire Valeur Valeurs sujet


colonne données par autorisées
défaut
… … ... … … … … …

Website : www.TakiAcademy.com 2
Résumé Base de données

Déterminer la liste de tables


Nom de la table Description Sujet
… … …

Déterminer la liste de liens entre les tables


Table mère Table fille Clé primaire Clé étrangère

• Déterminer la représentation textuelle


• Déterminer la représentation graphique

Chapitre 5: (Création et modification de la structure d'une base de données)


Langage de définition des données (LDD) : Permet de modifier la structure de la base de
données

Création d’une table :


CREATE TABLE nom_table (définition_ colonne | définition_ contrainte, ... )

Exemple :
Create table produit
( code int(3) PRIMARY KEY,
libelle varchar(30) not null,
prix_unit decimale(8,3) check(pu>0));

Modification de la structure d'une BD


ALTER TABLE nom_table
[ADD COLUMN définition_colonne]
[ADD CONSTRAINT définition_contrainte]
[MODIFY définition_colonne]
[DROP COLUMN nom_colonne ]

[DROP CONSTRAINT nom_contrainte]


[ENABLE | DISABLE nom_contrainte]

• ADD COLUMN : Ajouter une nouvelle colonne


Exemple: Alter table produit ADD COLUMN (Qte_stock int(3) default 0) ;

Website : www.TakiAcademy.com 3
Résumé Base de données
• ADD CONSTRAINT: Ajouter une nouvelle contrainte
Exemple: Alter table produit ADD CONSTRAINT check(Qte_stock>=0);
• MODIFY COLUMN : modifier la structure d’une colonne
Exemple: Alter table produit MODIFY COLUMN (libelle varchar(50)) ;
• DROP COLUMN : Supprimer une colonne
Exemple: Alter table produit DROP COLUMN (Qte_stock) ;
• DROP CONSTRAINT: Supprimer une contrainte
Exemple: Alter table produit DROP CONSTRAINT check(Qte_stock>=0);
• DISABLE CONSTRAINT: Désactiver une contrainte
Exemple: Alter table produit DISABLE CONSTRAINT PRIMARY KEY;
• ENABLE CONSTRAINT: Activer une contrainte
Exemple: Alter table produit ENABLE CONSTRAINT PRIMARY KEY;
Suppression d'une table
DROP TABLE nom_table
EXEMPLE :
DROP table produit ;
Chapitre 6 : (Manipulation d'une base de données)
Langage de manipulation des données ( LMD) : Permet de consulter / modifier le contenu
de la base de données
Mise à jour des données
• Insertion de ligne :
Syntaxe : insert into nom_table (colonne1, colonne2,…) values (valeur1, valeur2,…) ;
Exemple : insert into client(code,nom,adresse) values (12,"Ali", "Nabeul") ;
Ou bien, on peut écrire aussi :
insert into client values (12,"Ali", "Nabeul") ;
• La modification d'une ligne
Syntaxe : update nom_table set champ1 = expression1, champ2=expression2,… [where
condition] ;
Exemple : update produit set prix_unit=prix_unit + (prix_unit*0.2) where code=12

• Suppression d'une ligne


Syntaxe : Delete from nom_table [where condition];
Exemple : Delete from client where code_cli=23;
Recherche de données
La recherche peut concerner :
• Une projection (sans la clause where) : Afficher certaines colonnes d'une table.
Syntaxe : select colonne1, colonne2,… from nom_table
Exemple : Afficher les noms et les adresse de tous les clients

Website : www.TakiAcademy.com 4
Résumé Base de données
select nom, adresse from client ;
Ou bien afficher toutes les informations de tous les clients :
Select * from client ;
• Une sélection (avec la clause where) : Afficher certaines lignes d'une table
Syntaxe : select colonne1, colonne2,… from nom_table where condition ;
Exemple : Afficher les noms et les adresse de tous les clients de Tunis :
select nom, adresse from client where Adresse="Tunis" ;
Ou bien afficher dans l’ordre alphabétiques, toutes les informations de tous les clients de
Tunis : Select * from client where Adresse="Tunis" order by nom;

Les conditions : Se sont des expressions logiques utilisant les opérateurs suivants :
1) =, <, >, !=, <=, >=
2) BETWEEN
3) IN
4) IS NULL, IS NOT NULL
5) LIKE
6) AND, OR, NOT
La clause order by sert à trier la table résultat dans un ordre croissant ou décroissant
(asc,desc)
• Une jointure (recherche à partir de plusieurs tables)
Exemple :
Soit la base de données BD_location suivante :
Client(code,Nom, ville)
Voiture(matricule,Marque,couleur, prix_jour)
Location(Code,matricule,date_loc,nb_jours_loc)
Req1 : Afficher la liste de clients qui ont loués des voitures après entre le 12/02/2011 et le
19/05/2011
Select C.code, C.Nom
From Client C, Location L
Where (C.code = L.code) and (date_loc between 12/02/2011 and 19/05/2011)
NB. Dans la requête ci-dessus, on a une seule jointure
Req2 : Afficher les marques de voitures qui ont étés loués par des clients de Tunis et de
couleur rouge.
Select marque
From Client C, Location L, Voiture V
Where (C.code = L.code) and (V.matricule = L.matricule) and (ville="Tunis") and
(couleur="rouge")
NB. Dans la requête ci-dessus, on a deux jointures

Website : www.TakiAcademy.com 5
Résumé Base de données
Les fonctions agrégats
• COUNT Exemple : Calculer le nombre de clients total : Select COUNT(*) from
client ;
• SUM Exemple : Afficher pour chaque client son nom et son nb_jour_loc total.
Select nom, SUM(nb_jour_loc) from client C, location L Where (C.code=L.code) group
by nom
• MAX Exemple : Afficher le prix_jour maximal : select MAX (prix_jour) from voiture
• MIN Exemple : Afficher le prix_jour minimal : select MIN (prix_jour) from
voiture
• AVG Exemple : Afficher la moyenne de nb_jour_loc : select AVG (nb_jour_loc)
from location
Les requêtes de calcul:
Exemple : Calculer le montant total à payer pour le client num 125
Select prix_jour * nb_jour_loc "Montant total"
From voiture V, location L
Where (V.matricule = L.matricule) and (code=125);

Chapitre 7 : (Sécurisation d'une base de données)


Langage de contrôle des données (LCD) : Permet de gérer la sécurité de la BD et la cohérence
des données
Créer un nouvel utilisateur:
Syntaxe: Create user nom_utilisateur identify by mot_passe
Exemple : Create user Ali identified by xds
Accorder des droits systemes: Accorder des droits objets:
GRANT droits GRANT droits
TO utilisateurs On Objets
[With Admin option] TO utilisateurs
Exemple : [With grant option]
GRANT ALL Exemple :
TO user10 ; GRANT select, update, delete
On client
TO user10 ;
Retirer les droits: Revoke droits
On objet
From utilisateur
Exemle: Revoke all
on client
from user10;

Website : www.TakiAcademy.com 6

Vous aimerez peut-être aussi