Page 1 sur 5
Question – Réponse : Base de données
[Link] 01-01-1430
Q : Qu’est ce qu’une base de données ?
R : Une base de données est un ensemble cohérent, partagé, intégré de données qui modélise un sujet ou un
domaine précis en décrivant sa réalité. Aussi, elle est gérée par un SGBD et elle a comme objectif le partage des
informations et l’organisation des données indépendamment des programmes.
Q : C’est quoi une base de données relationnelle ?
R : La base de données relationnelle est une collection de relations respectant les contraintes d’intégrités. Tel
que chaque relation possède un nombre fini d’attributs et un nombre quelconque de tuples.
Q : Quels sont les différentes types d’associations des entités ?
R : Les associations sont présentées en n-aires tel que n représente le nombre d’entité participante à
l’association. Les types d’associations sont :
1- Association avec attributs : qui lie les entités en se basant sur une ou plusieurs attributs.
2- Association réflexive : qui lie une entité à elle-même.
Les associations sont aussi présentées par un numéro qui décrit le nombre d’occurrences d’une entité
participante à l’association. Ex : 0. .1, 1. .N, N. .N
Q : Quelle sont les deux types de contraintes ?
R : Les types de contraintes sont :
1- Contraintes structurelles qui sont liées au modèle de la base de données
2- Contraintes applicatives qui sont attachées au domaine d’étude.
Q : Citer et expliquer les contraintes structurelles.
R : Les contraintes structurelles sont :
1- Contrainte de domaine : Les valeurs des attributs appartient à leurs domaines.
2- Contrainte de relation : Une relation doit avoir une et une seule clé primaire, mais il est permis
d’avoir plusieurs clés étrangères ou candidates.
3- Contrainte de référence : Toutes valeurs de la clé étrangère doivent être présente dans la clé
primaire ou bien elles sont à Null ;
Q : Définir SQL, LDD, LMD, LCD.
R:
MediUbuntu | 01-01-1430
Page 2 sur 5
SQL (Structured Query Language) est langage qui implémente le modèle relationnel, il est composé de
trois sous langages:
1- LDD (Langage de Définition des Données) qui s’intéresse à la création et la modification (structure) des
objets des bases de données et les contraintes associées (Create, Alter, Drop).
2- LMD (Langage de Manipulation des Données) qui s’occupe de l’interrogation et la maintenance
(insertion suppression et modification) des bases de données (Select, Insert, Delete, Update)
3- LCD (Langage de Contrôle de données) qui traite la sécurité des bases de données (contrôle des accès:
Grant, Revoke).
Q : Quels sont les rôles de commandes Grant et Revoke ?
R:
Grant est une commande LCD utilisée pour affecter des privilèges ou des rôles aux utilisateurs de la base
de données ou bien à d’autres rôles.
Revoke est une commande LCD utilisée pour retirer un droit à un utilisateur de la base de données, ou à
un rôle.
Q : Quel mot utilise-t-on pour affecter un privilège à tous les utilisateurs de BD ?
R : le mot utilisé c’est ‘public’. Ex : Grant Create table to public ;
Q : Quelle différence y a-t-il entre un privilège objet et un privilège système ?
R:
- Un privilège objet est un droit d’accès aux objets de la base de données.
- Un privilège système n’est pas attaché aux objets seulement, mais il concerne la base de données
entière.
Q : Citer les avantages et les inconvénients des index.
R : Un index est un objet qui permet d’accélérer la recherche dans la base de données à qui il appartient. Son
inconvénient est le besoin d’un espace mémoire supplémentaire où il peut stocker les valeurs de la colonne
indexée et les adresses des lignes associées, ce qui ralenti la maintenance et l’interrogation des bases de
données.
Syntaxe pour créer un index :
Create [unique] index nom_index on nom_table (ch1 [ASC/DESC], ch2 [ASC/DESC]…);
Create index index_emp on emp (nom ASC);
Q : Quel est le rôle de Check ? Donner un exemple.
R : Si on applique le Check (Condition) sur un champ, alors les valeurs de ce champ doivent vérifier la condition
signalée, sinon le SGBD refusera la valeur entrée.
MediUbuntu | 01-01-1430
Page 3 sur 5
Ex : Célibataire Char Check (Genre in (‘o’,’O’,’n’,’N’))
Q : A quoi sert la commande lpad ? Donner un exemple.
R : Lpad sert à bien présenter les données pendant l’affichage, elle ajout des chaines de caractères (par défaut
des blancs) à gauche de l’information. Syntaxe : Lpad (Chaine, Longueur [, Chaine à ajouter])
Q : Quelle est la différence entre une clé primaire, une clé étrangère, une clé candidate et une superclé.
R:
- La clé primaire est un attribut (groupe d’attributs) qui identifie chaque tuple de la relation. Elle est
soulignée dans un schéma de relation.
- La clé étrangère est un attribut normal (pas clé primaire) qui est une clé primaire dans une autre
table, ce qui permet d’avoir des liens entre les tables. Elle est identifié par un * dans un schéma de
relation.
- La clé candidate est un attribut qu’on peut mettre à la place de la clé primaire.
- La superclé est un groupe d’attributs contenant une clé primaire (ex : (num_serv, nom_serv,
libellée))
Q : Quelle sont les types de contrainte colonne ?
R: Les types de contrainte colonne sont:
Primary Key, Unique, [not] Null, References nom_table [on delete (cascade / set Null)]
Q : Expliquer la contrainte d’intégrité.
R : La contrainte d’intégrité est une condition qui doit être respectée par les données de BD, elle comporte trois
options :
Intégrité de domaine
Intégrité de relation
Intégrité de référence
Q : Quelles sont les fonctions d’un DBA ?
R : Les fonctions d’un Administrateur de base de données sont :
- Maintenir la sécurité de la base
- Réaliser des sauvegardes et des restaurations de la base,
- Contrôler les performances de la BD
- Recouvrement ou reprise après panne
Q : C’est quoi le principe de fonctionnement d’un SGBD ?
Q : Citer les modèles logiques utilisés en BD.
MediUbuntu | 01-01-1430
Page 4 sur 5
Modèle relationnel : Ce modèle est fondé sur la théorie mathématique des relations, telle que chaque
relation est exprimée par une table.
Modèle hiérarchique : un graphe arborescent avec des pointeurs d’un unique sens entre les différents
nœuds. (Navigationnel)
Modèle objet : est un modèle basé sur le principe de la programmation orientée objets. Chaque
membre de la base est un objet.
Modèle réseau : un graphe arborescent avec des pointeurs dans tous les sens entre les différents
nœuds. (Navigationnel)
Q : Quel est l’intérêt de with check option dans la définition d’une vue ?
R : Pour garantir que les insert et les update sur la vue ne produiront que des lignes qui peuvent être
sélectionnées par la vue.
Q : Expliquer les concepts de la redondance et de l’intégrité des données.
R:
Notion de la redondance : L’enregistrement de la même information dans deux endroits différents
engendre une redondance des données, ce qui pose des problèmes de maintenance tel que la mise à jour. Ce
qui est pratique c’est d’éviter ce genre de situation en respectant la non-redondance des données.
Notion d’intégrité : Les données enregistrées dans la base de données doivent être correctes est
cohérentes avec le sujet ou le domaine décrit.
Q : Qu’est-ce qu’une jointure? Comparez-la à un produit cartésien.
R : La jointure est un produit cartésien qui s’effectue sur deux tables qui ont au moins un attribut commun, on
dit que la jointure se fait sur ces attributs. Les tuples du résultat sont ceux pour lesquels les attributs de jointure
sont égaux.
Base de données, Table, Index, Vues, Rôles, Schéma, Utilisateurs, Dictionnaire
Le dictionnaire ou Meta Base contient toutes les informations sur la BD, à savoir les informations liées à la
sécurité, les utilisateurs, les entités,… et les privilèges
Types d’accès : aléatoire, séquentiel
Qualités de la BD : - l’intégration des données.
- la non-redondance.
- la cohérence.
- l’indépendance physique des données.
- l’indépendance données et programmes.
- partage des données.
- sécurité des données.
- Extension logique et physique de la BD.
MediUbuntu | 01-01-1430
Page 5 sur 5
Opérateurs ensemblistes : Union, Intersection, Différence
Create User identified by MDP ; grant all privileges to user ;
Alter table Nom_table
Rename to New Name
Rename column Champ to New Name
Add Champ type [default valeur] [constraint colonne];
Add Foreign Key (Nom_champ) references Nom_table (Nom_champ);
Add primary Key (Ch1, Ch2 …);
Drop column Champ [cascade];
Drop constraint Nom_Constraint [cascade];
Drop primary key [cascade];
Drop unique (Ch1, Ch2…) [cascade];
Modify Champ [type] [default valeur] [contraint colonne]
Age (traitement des dates)
Extract (year from sysdate)-extract (year from date naissance)
to_char (sysdate, ‘yyyy’) – to_char (date naissance, ‘yyyy’)
Rpad ((sysdate – date naissance)/365, 2)
to_char (date naissance, 'Day' / ‘Montht’ / ‘Year’)
Une vue permet d’avoir accès à toutes les modifications intervenues dans la base après sa définition. Elle est
dynamique.
SQL = Structured Query Language : langage d’interrogation de bases de données relationnelles
SQL a remplacé SEQUEL=Structured English as Query Language=premier langage relationnel utilisé par le SGBD
System-R de IBM
select case Nom_champ
when ‘exprenssion1’
then valeur1
….
….
else ‘valeurElse’
end
from Nom Table ;
-La dépendance fonctionnelle doit être vérifiée si on veut ajouter une colonne à une relation.
-L’order by influence juste sur l’affichage des informations, il est appliqué juste dans la RAM et non pas dans le
disque dure, mais l’index ordonne les informations sur le disque dure c.-à-d. dans la table.
MediUbuntu | 01-01-1430