Télécharger la présentation
Publié parThibaut Delorme Modifié depuis plus de 9 années
1
INTRODUCTION AUX BASES DE DONNEES Base et métabase
COURS 4 Université Panthéon-Assas Paris 2 L2 Economie-Gestion
2
Distinction entre base et métabase
Une base de données comporte des relations, dont les descriptions sont elles-mêmes mémorisées dans une base de données appelée métabase. Si on crée une nouvelle relation, on agit sur la métabase ; si on crée une occurrence d’une relation, on agit sur la base. Des mots différents sont employés par SQL pour différencier la base destinataire : ainsi, CREATE crée une relation et agit donc sur la métabase, tandis qu’INSERT crée une occurrence et agit sur la base.
3
Gestion de la métabase : création de relations
La plupart des SGBD permettent de créer les relations de manière interactive à l’aide de fenêtres de dialogue et d’assistants (Query, Access). La création d’une relation est cependant prévue en SQL via l’instruction CREATE TABLE.
4
Expression des contraintes d’intégrité
Une contrainte d’intégrité est une clause permettant de contraindre la modification de tables par des utilisateurs, afin que les données saisies dans la base soient conformes aux données attendues. En SQL, ces contraintes s’expriment dès la création de la table grâce à des mots-clés tels : DEFAULT, NOT NULL, UNIQUE, CHECK
5
La clause DEFAULT Permet de définir une valeur par défaut lorsqu’un champ de la base n’est pas renseigné Doit être suivie de la valeur à affecter
6
La clause NOT NULL Permet de spécifier qu’un champ doit être saisi
Le SGBD refusera d’insérer une occurrence dont un champ comportant la clause NOT NULL n’est pas renseigné.
7
La clause CHECK( ) Comporte une condition logique
Permet de faire un test sur un champ
8
La clause UNIQUE Permet de vérifier que la valeur saisie pour un champ n’existe pas déjà dans la table Cela garantit que toutes les valeurs d’un attribut dans une table seront différentes.
9
Exemple de création de table avec contrainte
CREATE TABLE clients( Nom char(30) NOT NULL, Prenom char(30) NOT NULL, Age integer, CHECK(age < 100), char(50) NOT NULL, CHECK( LIKE )
10
Gestion des clés Lors de la création d’une relation, de nombreux SGBD imposent de préciser le (les) attribut(s) clé. Clé candidate : ensemble d’attributs pouvant désigner sans ambiguïté une occurrence dans l’ensemble. Il peut y en avoir plusieurs.
11
Gestion des clés Clé minimale : clé candidate ayant le moins d’attributs (parmi toutes les clés candidates) Il peut y en avoir plusieurs. Il faut en choisir une : la clé principale (ou primaire). La clé principale assure qu’il est impossible de donner la même clé à deux occurrences différentes de la même relation. Clé secondaire : attribut qu’on désigne comme un moyen alternatif d’accéder (rapidement) aux données.
12
Gestion des clés Si la déclaration de la relation est faite directement en SQL, la clé principale est signalée par PRIMARY KEY : CREATE TABLE Etudiant( num_etudiant NUMBER(6) NOT NULL, PRIMARY KEY, nom CHAR(20), adresse CHAR(30), date_naissance DATE, code_diplôme NUMBER(3), num_ss NUMBER(13) UNIQUE )
13
Gestion des clés Les clés primaires nécessitent parfois plusieurs attributs pour satisfaire au principe d’unicité. Si dans un système de facturation les numéros de facture recommencent à en début d’année, une identification unique de la facture devra comprendre l’année et le numéro de la facture !
14
Gestion des clés Si l’on souhaite que la clé principale soit composée de plusieurs attributs, elle doit être définie à la fin de l’instruction : CREATE TABLE Personne( nom CHAR(20) NOT NULL, prenom CHAR(20) NOT NULL, adresse CHAR(30), date_naissance DATE NOT NULL, telephone NUMBER(10), PRIMARY KEY(nom, prenom, date_naissance) )
15
Gestion des clés Clé étrangère : il s’agit dans une donnée d’une référence à la clé primaire d’une autre donnée. Cette référence n’est pas nécessairement unique.
16
Gestion des clés : exemple de clé primaire/étrangère
Membres Nom Prénom Num_membre Date_naissance Livres Titre Auteur ISBN Annee_parution ISBN_Volume_suivant Emprunts Num_membre ISBN Date_emprunt Échéance No_emprunt Clé primaire Clé étrangère
17
Gestion de la métabase : intégrité référentielle
Lorsque les relations sont créées, les jointures naturelles entre ces relations doivent être déclarées. L’intégrité référentielle est respectée si les clés étrangères sont déjà définies dans les tables où elles sont clés primaires. Exemple : puisqu’une occurrence de la relation VOL comporte les attributs numav et numpil, cette occurrence ne peut être créée que si les occurrences de PILOTE et AVION auxquelles elle fait référence existent déjà.
18
Gestion de la métabase : intégrité référentielle
Il faut donc (par exemple) que l’occurrence de PILOTE et que l’occurrence de AVION existent avant que l’on puisse créer l’occurrence de VOL.
19
Gestion de la métabase : modification de relations
On peut généralement modifier une relation par des fenêtres de dialogue. Mais SQL permet de modifier une relation par l’instruction ALTER, suivie d’une spécification de l’opération à effectuer. L’ajout d’un attribut est déclaré par le mot-clé ADD, la modification d’un attribut par MODIFY, la suppression d’un attribut par DROP : ALTER TABLE Etudiant ADD (moyenne NUMBER(2)); ALTER TABLE Etudiant MODIFY adresse CHAR(100); ALTER TABLE Etudiant DROP adresse; La suppression d’une relation se fait par DROP TABLE Exemple : DROP TABLE Etudiant.
20
Gestion de la base Insertion, suppression et modification d’occurrences L’insertion d’une occurrence par SQL se fait grâce à INSERT : INSERT INTO Etudiant VALUES (.., …,…,…) La suppression d’une occurrence se fait par DELETE : DELETE FROM Etudiant WHERE num_etudiant = … La modification d’une occurrence se fait par UPDATE : UPDATE Etudiant SET adresse = … WHERE num_etudiant = …
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.