Introduction aux bases de données. Généralités sur les bases de données. Fonctions d'un SGBD. Définitions. Indépendance par rapport aux traitements

Dimension: px
Commencer à balayer dès la page:

Download "Introduction aux bases de données. Généralités sur les bases de données. Fonctions d'un SGBD. Définitions. Indépendance par rapport aux traitements"

Transcription

1 Introduction aux bases de données Université de Nice Sophia-Antipolis Version 2.1-5/12/2000 Richard Grin Généralités sur les bases de données R. Grin SGBD 2 Définitions Une base de données est un ensemble structuré de données enregistrées dans un ordinateur et accessibles de façon sélective par plusieurs utilisateurs. Un logiciel qui permet d'interagir avec une base de données s'appelle un système de gestion de base de données (SGBD) R. Grin SGBD 3 Fonctions d'un SGBD Décrire les données qui seront stockées Manipuler ces données (ajouter, modifier, supprimer des informations) Consulter les données et traiter les informations obtenues (sélectionner, trier, calculer, agréger,...) Définir des contraintes d'intégrité sur les données (contraintes de domaines, d'existence,... ) R. Grin SGBD 4 Fonctions d'un SGBD (2) Définir des protections d'accès (mots de passe, autorisations,...) Résoudre les problèmes d'accès multiples aux données (blocages, interblocages) Prévoir des procédures de reprise en cas d'incident (sauvegardes, journaux,...) Indépendance par rapport aux traitements Pour faciliter la maintenance, un SGBD doit favoriser l'indépendance des traitements par rapport à l'implantation physique des données (codage, support d'enregistrement, ordre dans lequel les données sont enregistrées, ) et même, si possible, par rapport à l'implantation logique des données (existence d'index, décomposition en "fichiers logiques", ) R. Grin SGBD 5 R. Grin SGBD 6 1

2 Fichiers Sans base de données Applications Base de données Avec base de données Filtre (vues) Applications BP 2536 Facturation BP 2536 Facturation BP 2536 Commercial Commercial BP 2536 Délais de mise à jour Données contradictoires R. Grin SGBD 8 Prospects Prospects R. Grin SGBD 7 Avec base de données Une information n'est stockée qu'une seule fois Une seule base pour toutes les applications mais chaque application ne voit que ce qu'elle doit voir (contrôle par les filtres ou vues) Avantages de l'utilisation des SGBD Centralisation des données intégrité des données Contrôle centralisé de l'accès aux données sécurité accrue Instructions de traitement très puissantes grande rapidité de développement Indépendance vis-à-vis de la structure physique et logique des données maintenance facilitée R. Grin SGBD 9 R. Grin SGBD 10 Avantages de l'utilisation des SGBD Pour les SGBD relationnels : langage non proc édural simple interrogation directe possible par les utilisateurs et réponses rapides à des questions non prévues par l'application Niveau de description d une base Externe : modélisation des différentes visions de la base par les utilisateurs Conceptuel : structure globale des données de la base qui intègre les différentes visions externes, sans se soucier des contraintes (de performance ou autres) liées à l implantation Interne : manière dont la base est implantée sur les ordinateurs R. Grin SGBD 11 R. Grin SGBD 12 2

3 Avantages de la séparation des 3 niveaux On peut limiter les modifications liées aux changements de matériel, de système d exploitation ou des logiciels utilisés La vision de chaque utilisateur est indépendante des visions des autres utilisateurs et n est pas modifiée par les modifications du schéma conceptuel qui ne le concernent pas Types d'utilisateurs L'administrateur de la base est chargé du contrôle de la base de données, en particulier, permettre l'accès aux données aux applications ou individus qui y ont droit de conserver de bonnes performances d'accès à ces données des sauvegardes et des procédures de reprise après les pannes R. Grin SGBD 13 R. Grin SGBD 14 Types d'utilisateurs (2) Le programmeur écrit des applications qui utilisent la base de données il crée les tables et les structures associées (vues, index,...) utilisées par ses applications L'utilisateur final n'a accès qu'aux données qui lui sont utiles par l'intermédiaire d'applications en interrogeant directement les tables ou vues sur lesquelles l'administrateur lui a accordé des droits R. Grin SGBD 15 Types de SGBD SGBD hiérarchique : les données sont représentées dans la base sous la forme d'un arbre la structure d'arbre utilise des pointeurs et détermine le chemin d'accès aux données SGBD réseau : les données sont représentées dans la base sous la forme d'un graphe quelconque la structure de graphe utilise des pointeurs et détermine le chemin d'accès aux données R. Grin SGBD 16 Types de SGBD (2) Pour les SGBD hiérarchiques et réseaux, les programmes ne sont pas indépendants de la structure logique de la base doivent indiquer le chemin d'accès aux données utilisent un langage complexe pour travailler avec les données R. Grin SGBD 17 SGBD relationnel La théorie des SGBDR est fondée sur la théorie mathématique des relations Représentation très simple des données sous forme de tables constituées de lignes et de colonnes Plus de pointeurs qui figent la structure de la base Langage non procédural, puissant et simple d'emploi Langage SQL est un standard parmi ces langages Dominent le marché des SGBD R. Grin SGBD 18 3

4 SGBD objet Les SGBDOO enregistrent les données sous forme d'objets ; les données sont enregistrées avec les procédures et les fonctions qui permettent de les manipuler Ils supportent la notion d'héritage entre classes d'objets Très simple de rendre les objets persistants Meilleures performances pour la gestion d'objets complexes (les pointeurs remplacent les jointures pour les structures hiérarchiques) R. Grin SGBD 19 SGBD objet A priori, beaucoup d'avantages sur le relationnel Mais, manque de normalisation et de standard inertie de l'existant (presque toutes les bases actuelles sont de type relationnel) Vont détrôner les SGBD relationnels? Ceux-ci tentent de résister avec les SGBD relationnels-objet (introduction des types complexes et des pointeurs mais au détriment de la "pureté" relationnelle) R. Grin SGBD 20 Niveaux d'abstraction Modèles de données Il est nécessaire de décrire l'application selon différents niveaux d'abstraction pour faciliter le développement des applications (ne pas être noyé dans par les détails et contraintes techniques au début de son étude) l'adaptation de l'application aux futures modifications de l'environnement technique et logiciel Pour les données, on distingue généralement les 3 niveaux conceptuel, logique et physique R. Grin SGBD 21 R. Grin SGBD 22 Niveau conceptuel Il décrit les données sous une forme indépendante du matériel et du SGBD Dans ce cours d'introduction, nous décrirons ce niveau conceptuel par un diagramme de classes UML (simplification qui peut suffire pour les cas simples) Niveau logique Il adapte le niveau conceptuel au type de SGBD utilisé Pour les SGBD relationnels, il traduit le niveau conceptuel sous formes de relations Pour les SGBD objets, le modèle conceptuel est traduit sous forme de classes (direct depuis un schéma UML) R. Grin SGBD 23 R. Grin SGBD 24 4

5 Niveau logique pour les SGBD relationnels Les relations sont normalisées pour éviter les problèmes liés à une mauvaise répartition entre les relations Des besoins d'optimisation peuvent conduire à dénormaliser certaines relations Niveau physique Il décrit l'implantation du niveau logique à l'aide du matériel et du SGBD choisi On précise les emplacements des données sur les différents supports On peut optimiser les accès aux données en utilisant les possibilités particulières offertes par le SGBD (clusters par exemple avec Oracle) R. Grin SGBD 25 R. Grin SGBD 26 Une association hierarchie Rôle pour l association Commercial commission : double numéro : int nom : String lieu : String Département ajouteremployé(employe) : void +subordonné 0..* supérieur 1 0..* appartient Employe matricule : int nom : String poste : String dateembauche : date salaire : double getsuperieur () setsuperieur(employe) getmatricule() Directeur +contient Agrégation Administratif Participation fonctionp: String 0..* 0..* +participe Une classe Héritage Projet codep: String nomp : String Une classeassociation Multiplicité ajouteremploye(employe) setcommission (double) R. Grin SGBD 27 Modèle relationnel R. Grin SGBD 28 Relation La notion de relation traduit le fait que les éléments appartenant à des ensembles (distincts ou non) peuvent être en relation Robert Alain Bernard Julien Hommes Sous-ensemble de Homme Femme : { (Robert, Sylvie), (Alain, Nathalie), (Alain, Carole) } Sylvie Nathalie Carole R. Grin SGBD 29 Femmes Relation mathématique Une relation entre n ensembles D i est un sous-ensemble du produit cartésien des n ensembles D 1 D 2... D n C'est donc un ensemble de n-uplets (a 1, a 2,, a n ) où a i D i n est appelé le degré de la relation R. Grin SGBD 30 5

6 Relations de degré > 2 Si de nombreux ensembles sont en relation, il est plus difficile de dessiner la relation Mais la représentation sous forme mathématique ne pose pas de problème particulier Par exemple, une relation père-mère-enfants pourrait être décrite par un ensemble de 3-uples : { (Robert, Sylvie, Toto), (Alain, Nathalie, Bibi), (Alain, Nathalie, Titi) } R. Grin SGBD 31 Représentation des données Dans la théorie des bases de données relationnelles toutes les données sont représentées sous forme de relations Par exemple, le t-uple (125, Dupond, 15000, 10) indique que l'employé de matricule 125 s'appelle Dupond, gagne F par mois et travaille dans le département numéro 10 R. Grin SGBD 32 Domaines et attributs Les ensembles D i d'une relation sont appelés les domaines de la relation Certains de ces domaines peuvent être identiques mais, dans une relation, l'ordre est significatif et chaque domaine possède un nom d'attribut A i qui est lié à son rôle dans la relation La relation est alors notée R(A 1, A 2,, A n ), où R est le nom de la relation Par exemple, Employe(matricule, nom, salaire, numdept) R. Grin SGBD 33 Schéma relationnel Un schéma relationnel est un ensemble de définitions de relations liées à un même schéma conceptuel les contraintes d'intégrité associées à ces relations (clés, contraintes de domaine, d'existence ou de référence, ) R. Grin SGBD 34 Clés d'une relation Clé candidate : sous-ensemble minimal d'attributs qui permet d'identifier chacun des t-uples de la relation Clé primaire : une des clés candidates, choisie comme identifiant privilégié (par le concepteur de la base) R. Grin SGBD 35 Exemples de clés EMPLOYE(matricule, nom, salaire) a 1 clé candidate : matricule Si on est certain que 2 employés n'ont jamais le même nom, nom est une 2ème clé candidate EMPLOYES(matricule, nom, prénom, salaire) a 2 clés candidates : matricule (que l'on choisira certainement comme clé primaire) (nom, prénom) En supposant que 2 employés n'ont jamais les mêmes nom et prénom R. Grin SGBD 36 6

7 Table Dans les SGBD relationnels les relations sont représentées simplement sous forme de tables Les lignes correspondent aux t-uples et les colonnes aux attributs Matricule Nom Salaire NumDept 525 Dupond Durand Bernard Passage d'un diagramme de classes à un schéma relationnel R. Grin SGBD 37 R. Grin SGBD 38 Étapes du passage d un diagramme de classes à un schéma relationnel Traduction des classes en relations Traduction des associations en relations Traduction de l héritage R. Grin SGBD 39 Le problème de l identificateur Tout objet est identifiable. Cette identification est automatique dans les langages objet Dans les schémas relationnels ou dans SQL on peut être amené à ajouter un identificateur On peut ainsi ajouter en attribut un nombre sans signification particulière, incrémenté automatiquement à chaque création d objet Parfois un ou plusieurs attributs assurent cette identification (n SS, ISBN) R. Grin SGBD 40 Remarque sur les identificateurs Il est rarement bon d utiliser des identificateurs significatifs, par exemple, un nom En effet, ces identificateurs vont être utilisés dans d autres relations pour désigner les t-uples qu'ils identifient Un identificateur ne devrait donc jamais être modifié Une faute de frappe dans un identificateur significatif comme un nom peut engendrer des traitements lourds sur une base de données R. Grin SGBD 41 Traduction d une classe Une classe est traduite en une relation On peut être amené à ajouter un identificateur, clé primaire de la relation Exemple : la classe Département est traduite par la relation DÉPARTEMENT(numéro, nom, lieu) R. Grin SGBD 42 7

8 Exemple de traduction d une classe DÉPARTEMENT(numéro, nom, lieu) En SQL : create table departement ( numerosmallint primary key, nom varchar(15), lieu varchar(15)) Traduction d une association binaire Lorsque les nombres maximum des 2 multiplicités sont supérieurs à 1 (associations M:N), on doit créer une relation pour traduire l association La clé primaire de cette relation est formée des 2 clés des relations qui traduisent les classes qui interviennent dans l association R. Grin SGBD 43 R. Grin SGBD 44 Exemple de traduction d une association binaire M:N PARTICIPATION(matr, codep) En SQL : create table participation ( matr integer references emp, codep varchar(2) references projet, primary key(matr, dept)) Classes association Si l'association est représentée par une classe association (cf. classe Participation de l'association participe), on ajoute les attributs de classe dans la nouvelle relation R. Grin SGBD 45 R. Grin SGBD 46 Traduction d une association binaire M:N avec classe-association PARTICIPATION(matr, codep, fonctionp) En SQL : create table participation ( matr integer references emp, codep varchar(2) references projet, fonctionp varchar(15), primary key(matr, dept)) Interprétation des relations qui traduisent une association Pour savoir qui participe au projet "QUALITÉ" 1. on récupère le code de projet QUALITÉ dans la relation PROJET 2. on note tous les matricules qui sont associés à ce code dans la relation PARTICIPATION 3. on cherche les noms des employés qui ont ce matricule dans la relation EMPLOYÉ R. Grin SGBD 47 R. Grin SGBD 48 8

9 Traduction d une association binaire dont une multiplicité maximum est 1 (1:N ou 1:1) On peut traduire par une nouvelle relation comme pour une association M:N On peut aussi ajouter dans la relation qui traduit la classe placée du côté opposé à la multiplicité 1, la clé de l autre classe La 1ère solution est plus souple mais plus coûteuse (jointures) Exemple de traduction d une association binaire 1:N EMP(matr,, dept) En SQL : create table emp ( matr integer primary key, dept smallint references dept) R. Grin SGBD 49 R. Grin SGBD 50 Classes association Si l'association est représentée par une classe association, on peut ajouter les attributs de classe dans la relation qui reçoit la clé de l'autre classe, ou créer une nouvelle relation Mais si les attributs de la classe association sont nombreux, il est souvent préférable de traduire l'association par une relation à part Traduction d une association de degré > 2 On doit créer une relation pour traduire l association La clé de cette relation est formée d'un sous - ensemble des clés des relations qui traduisent les classes qui interviennent dans l association Le sous-ensemble peut être stricte si une dépendance fonctionnelle existe entre ces clés R. Grin SGBD 51 R. Grin SGBD 52 Exemple de traduction d une association de degré > 2 RESERVATION(nVol, nsiège, codepassager, ) En SQL : create table reservation( nvol varchar(10) references vol, nsiege integer, codepassager varchar(10) references passager, primary key(nvol, nsiege, codepassager), ) Traduction de l héritage La classe fille et sa classe mère sont traduites par 2 relations Un objet de la classe fille a ses attributs répartis dans les 2 relations son identité est préservée en donnant un même identifiant au t-uple qui correspond à l objet dans les 2 relations R. Grin SGBD 53 R. Grin SGBD 54 9

10 Exemple de traduction de l héritage COMMERCIAL(matr, commission) En SQL : create table emp ( matr integer primary key, nom VARCHAR(30),...) Héritage multiple Pour traduire l héritage multiple, on met comme identifiant dans la classe fille l ensemble des identifiants des classes mères create table commercial ( matr integer primary key references emp, commission numeric(8,2)) R. Grin SGBD 55 R. Grin SGBD 56 Variantes pour la traduction de l héritage Pour réduire le nombre de relations et améliorer les performances, on peut soit tout réunir dans la relation de la classe mère, en ajoutant un attribut pour le sous-type (si les attributs des classes filles sont peu nombreux) ; il y aura alors des attributs non renseignés soit copier les attributs de la classe mère dans chacune des relations qui traduisent les classes filles (si les attributs de la classe mère sont peu nombreux) Schéma relationnel utilisé pour ce cours Employé(matr, nome, poste, dateemb, sup, salaire, commission, dept) Dept(dept, nomd, lieu) Projet(codeP, nomp) Participation(matr, codep, fonctionp) Matricule du chef R. Grin SGBD 57 R. Grin SGBD 58 Langages d'interrogation relationnels R. Grin SGBD 59 Calcul des prédicats La logique du 1er ordre, ou calcul des prédicats, est la théorie mathématique qui étudie les formules logiques formelles (sans signification particulière) On se limite à des formules logiques construites avec un ensemble de prédicats, les opérateurs "et", "ou", "négation", " ", les opérateurs $ et " et des constantes et des variables Un prédicat a un nombre fixe d'arguments et peut être vrai ou faux R. Grin SGBD 60 10

11 Sémantique On peut appliquer le calcul des prédicat à un domaine de discours particulier en définissant des valeurs concrètes pour les constantes des prédicats A chaque formule logique correspond alors l'ensemble des données du domaine qui vérifient la formule (si on donne ces valeurs aux variables, la formule est vraie) Langages d'interrogation fondés sur le calcul des prédicats du 1er ordre Ces langages permettent de retrouver des informations enregistrées dans la base sous forme de relations Ils permettent d'exprimer des formules logiques associées à ces données Selon les domaines dans lesquels les constantes prennent leur valeur, on a plusieurs langages d'interrogation R. Grin SGBD 61 R. Grin SGBD 62 Calcul relationnel des t-uples Il est fondé sur le calcul des prédicats du 1er ordre, avec les variables qui prennent leur valeur dans l ensemble des t-uples Prédicat Exemple (noms des employés qui (P t-uple de PARTICIPATION) participent à un projet) : {E.nomE / $ P PARTICIPATION(P) (P.matr = E.matr) EMP(E)} (les variables sont E et P) R. Grin SGBD 63 Calcul relationnel des domaines Il est fondé sur le calcul des prédicats du 1er ordre, avec les variables qui prennent leur valeur dans l ensemble des domaines Exemple (noms des employés qui participent à un projet) : { y / $ x EMP(matr:x, nome:y) PARTICIPATION(matr:x) } (les variables sont x et y) Prédicat (valeurs de x dans domaine R. Grin SGBD de matr 64 Algèbre relationnelle Le principe est différent pour ce langage d'interrogation qui a inspiré le langage SQL On se donne des opérateurs que l'on applique aux relations de la base, pour obtenir les données que l'on cherche On a 2 types d'opérateurs : relationnels et ensemblistes Opérateurs relationnels Soit une relation R[A1,, An] Projection sur les attributs Aj,, Ak, notée R[Aj,, Ak] Sélection des t-uples qui vérifient une condition c, notée R / c Jointure (équi-jointure) de 2 relations R et S sur 2 attributs C et D, notée R J{C=D} S Division de 2 relations, notée R B S R. Grin SGBD 65 R. Grin SGBD 66 11

12 Opérateurs relationnels de base Exemple de projection : Employé[matricule, nom, salaire] Exemple de sélection : Employé / salaire > R. Grin SGBD 67 Equi-jointure C'est un opérateur fondamental de la théorie des bases de données relationnelles Il permet de créer une relation qui comprend des données venant de 2 relations Soient R[A, B] et S[C, D], avec C et D 2 ensembles d'attributs de types compatibles, la jointure R J{B=C} S est la relation dont les t- uples sont obtenus par concaténation des t-uples de R et de S qui ont la même valeur pour les attributs B et C R. Grin SGBD 68 Employé matricule nom Exemple d'équi-jointure dept 1050 Dupond Durand Duval 10 Employé J{dept=dept} Département matricul nom dept dept nom lieu e1050 Dupond Finances Paris 832 Durand Ventes Nice 900 Duval Finances Paris Département dept nom lieu 10 Finances Paris 20 Ventes Nice Notation simplifiée : Employé J{dept} Département quand le nom des 2 colonnes est le même R. Grin SGBD 69 Employé Exemple de jointure naturelle matricule nom dept 1050 Dupond Durand Duval 10 Employé J{dept=dept} Département matricul nom dept nom lieu e 1050 Dupond 10 Finances Paris 832 Durand 20 Ventes Nice 900 Duval 10 Finances Paris Département dept nom lieu 10 Finances Paris 20 Ventes Nice La colonne de jointure n'est pas répétée R. Grin SGBD 70 Jointure en général On peut remplacer = par un opérateur de comparaison >, <,,, La jointure est alors notée, par exemple, R J{C < D} S Exemple : Employé J{salaire < salaire} Employé R. Grin SGBD 71 R A B x 1 y 2 z 1 x 3 S C 1 3 Division R B S R B S = les A qui sont associés à tous les C = {a R[A] / c S, (a, c) R} = {a R[A] / / c S, (a, c) / R} "Division", car c'est le plus grand sous-ensemble D de R[A] tel que D S est inclus dans R R. Grin SGBD 72 A x 12

13 Quand utilise-t-on la division? La division fournit la réponse au type de question suivante : quels sont les "A" qui sont associés à tous les C? Exemple : quels sont les matricules des employés qui participent à tous les projets : R1 = Participation[matr, codep] matr Projet[matr] Opérateurs ensemblistes Pour 2 relations qui ont des attributs de types compatibles : Réunion : R1 R2 Intersection : R1 R2 Différence : R1 - R2 Pour 2 relations quelconques, produit cartésien : R1 R2 R. Grin SGBD 73 R. Grin SGBD 74 Equivalence des langages On peut démontrer que l'algèbre relationnelle, les calculs relationnels des t- uples et des domaines sont équivalents : ils permettent de définir les mêmes ensembles de données Normalisation d'un schéma relationnel R. Grin SGBD 75 R. Grin SGBD 76 But de la normalisation Une mauvaise répartition des données entre les relations peut occasionner de graves problèmes lors de l'évolution de la base La normalisation des relations permet d'éviter ces problèmes, essentiellement en évitant les redondances Les problèmes viennent en fait des dépendances fonctionnelles internes aux relations Dépendance fonctionnelle (DF) Soient X et Y, 2 attributs (ou groupe d'attributs) d'une même relation Il y a DF entre X et Y (on dit aussi que Y dépend de X) On note X Y, si la valeur de X détermine la valeur de Y R. Grin SGBD 77 R. Grin SGBD 78 13

14 Exemples de DF Il y a DF d'une clé candidate vers tous les autres attributs d'une relation Adresse(nom,ville, codepostal, département); on acodepostal ville (mais pas ville département) Etudiant(nom, prénom, moyenne, âge, enseignant) (nom, prénom) moyenne (nom, prénom) âge Propriétés des DF Réflexivité : Y X X Y Augmentation : X Y XZ YZ Transitivité : X Y et Y Z X Z Union : X Y et X Z X YZ Pseudo-transitivité : X Y et WY Z WX Z Décomposition : X Y et Z Y X Z R. Grin SGBD 79 R. Grin SGBD 80 Normaliser un schéma relationnel C'est remplacer un schéma relationnel par un autre schéma "équivalent" (représentant les mêmes données) dont toutes les relations sont dans une certaine forme normale Pratique de la normalisation En pratique, normaliser un schéma relationnel c'est remplacer chaque relation du schéma par des relations qui sont dans la forme normale voulue Le schéma est équivalent si la jointure naturelle sur les attributs communs des relations obtenues par éclatement redonne la relation de départ R. Grin SGBD 81 R. Grin SGBD 82 Pratique de la normalisation Normaliser une relation consiste à extraire les DF internes qui posent des problèmes, en les transférant dans de nouvelles relations R. Grin SGBD 83 Théorème important Cas simple pour lequel on peut éclater une relation en 2 relations, en étant certain de retrouver la relation de départ par jointure sur les attributs communs Théorème de décomposition sans perte de données : Soit une relation R(A, B, C) où A, B et C sont des ensembles d'attributs disjoints, avec B C, alors R(A, B, C) = R[A, B] J{B} R[B, C] (on peut dire que l'on a "extrait" la DF de R) R. Grin SGBD 84 14

15 Exemple d'éclatement sans perte de données Employé(matr, nome, dept, nomd) Peut s'éclater en : Employé(matr, nome, dept) Département(dept, nomd) La source de la DF reste dans la relation de départ en clé étrangère Degrés de normalisation Il existe plusieurs degrés de normalisation : de la 1ère forme normale à la 5ème Plus le degré est grand, moins on risquera de rencontrer des anomalies lors des mises à jour des données plus les conditions à remplir sont strictes R. Grin SGBD 85 R. Grin SGBD 86 1ère forme normale Toutes les relations sont en 1 FN : elles n'ont pas d'attributs multivalués multivalué La pseudo-relation Livre(codeISBN, titre, auteurs) peut être décomposée en 2 vraies relations : Livre(codeISBN, titre) Auteurs (codeisbn, auteur) 2ème forme normale Une relation est en 2 FN si elle est en 1 FN si chaque attribut qui ne fait partie d'aucune clé candidate ne dépend pas d'une partie stricte d'une clé candidate Employé(matr, codep, nome, fonctionp) n'est pas en 2 FN R. Grin SGBD 87 R. Grin SGBD 88 Problèmes de mise à jour d'une relation pas en 2ème forme normale Pour modifier le nom d'un employé, on doit le modifier dans toutes les lignes des projets auxquels participe l'employé On ne peut ajouter un employé qui ne participe à aucun projet On perd toute information sur un employé qui ne participe plus à aucun projet Normalisation en 2ème forme On "extrait" la DF (voir théorème de non perte de données) : Employé(matr, nome) Participation(matr, codep, fonctionp) R. Grin SGBD 89 R. Grin SGBD 90 15

16 3ème forme normale Une relation est en 3 FN si tout attribut qui ne fait pas partie d'une clé candidate ne peut dépendre que d'une clé candidate Employé(matr, nome, dept, nomd) n'est pas en 3 FN On obtient un schéma en 3 FN par extraction de la DF : Employé(matr, nome, dept) Département(dept, nomd) R. Grin SGBD 91 Forme normale de Boyce-Codd Une relation est en FNBC si les seules sources de DF sont les clés candidates Pourquoi? Une FNBC est toujours en 3 FN mais l'inverse n'est pas vrai car pour la 3FN on n'impose rien pour les DF dont le but est un attribut clé R. Grin SGBD 92 Exemple de relation pas en FNBC Introduisons une nouvelle règle de gestion : 2 personnes d'un même département ne peuvent participer à un même projet Cette règle induit la DF suivante : (dept, codep) matr Soit la relation Participation2(dept, codep, matr, fonctionp) Elle est en 3 FN mais pas en FNBC Normalisation en FNBC Si on extrait la DF, on obtient : Participation(matr, codep, fonctionp) Emp(matr, dept) On obtient bien un schéma en FNBC mais on perd la DF (dept, codep) matr Il faut choisir entre avoir un schéma en 3 FN, avec toutes les DF avoir un schéma en FNBC, avec perte de DF R. Grin SGBD 93 R. Grin SGBD 94 Théorème de décomposition en 3 FN On peut toujours normaliser en 3 FN, sans perte de données ni perte de dépendances On peut toujours normaliser en FNBC sans perte de données, mais on peut avoir des pertes de dépendances Projection des DF d'une relation Si R est décomposée en 2 relations R1 et R2, la projection de l'ensemble des DF de R sur R1 est l'ensemble des DF de R qui ont leurs attributs de départ et d'arrivée dans R1 On dit que la décomposition de R en R1 et R2 est sans perte de dépendance si on peut retrouver (par transitivité) toutes les DF de R à partir des projections sur R1 et R2 R. Grin SGBD 95 R. Grin SGBD 96 16

17 Conséquence d'une perte de dépendance On est obligé de faire des jointures pour vérifier les règles de gestion liées aux DF perdues Exemple : si on décompose Participation2 en Participation et Emp, à chaque nouvelle participation à un projet, il faut vérifier par programme qu'il n'y a pas déjà un employé du même département dans le projet (dans Participation2, la vérification est faite automatiquement par unicité de la clé primaire) R. Grin SGBD 97 Utilisation d'un SGBD relationnel R. Grin SGBD 98 Sécurité - Contrôle de l'accès à la base Le contrôle de l'accès à la base est effectué en associant à chaque utilisateur un nom de login un mot de passe Chaque utilisateur a des privilèges d'accès à la base : droit ou non de créer des tables ou des vues de lire ou de modifier des tables ou des vues R. Grin SGBD 99 Sécurité - Propriétaire des données Les données d'une table appartiennent à celui qui l'a créée Le propriétaire d'une table peut donner à d'autres le droit de travailler avec sa table Les vues permettent aussi de restreindre l'accès aux données R. Grin SGBD 100 Modules d'utilisation des SGBD Nombreux produits autour des SGBD : interface pour interrogation directe de la base générateur de formulaires pour la saisie et l'interrogation de la base générateur de menus et d'états imprimés générateur d'applications à partir d'études de conception langages dit de 4ème génération interfaces avec les langages de 3ème génération interfaces avec le Web et les logiciels de bureautique R. Grin SGBD 101 Implantation d'un SGBD relationnel R. Grin SGBD

18 Fichiers de la base Les données de la base sont enregistrées dans de très gros fichiers du système d'exploitation Le SGBD gère lui-même ses données ; il enregistre les tables, vues, index, dans ces gros fichiers Le SGBD peut même se passer complètement du système d'exploitation hôte pour l'enregistrement des données (fichiers "raw", hors système de fichiers) R. Grin SGBD 103 Images "avant" et "après" Images "avant" : fichiers système, ou emplacement spécial de la base, contenant les informations nécessaires pour remettre la base dans un état antérieur à une modification (chez Oracle, segments de rollback écrits dans la base) Images "après" : fichiers système contenant les informations nécessaires pour refaire une modification à partir d'un état antérieur de la base (fichiers "redo log" chez Oracle) R. Grin SGBD 104 Archivage des images "après" La place disque réservée aux images "avant" et "après" est limitée ; elle est recyclée pour enregistrer les dernières images Il peut être intéressant d'archiver sur des bandes magnétiques (ou autre) les images "après" pour les réutiliser en cas de panne On peut ainsi redérouler toutes les dernières actions effectuées par les utilisateurs depuis la dernière sauvegarde R. Grin SGBD 105 Les différents SGBD peuvent avoir des implantations très différentes sur certains points, en particulier sur la façon de traiter les accès concurrents C'est l'implantation d'oracle (versions 7 et 8i) qui est décrite ici R. Grin SGBD 106 Processus clients et serveurs Les SGBD s'appuient sur le mode clientserveur : les interfaces du SGBD avec l'utilisateur ou avec les applications sont clientes de la partie serveur du SGBD : elles lui envoient des requêtes et le serveur renvoie les données résultats les parties clientes et serveur du SGBD peuvent être sur des machines différentes ; elles utilisent un protocole réseau (le plus souvent propriétaire) pour communiquer Écriture dans la base En attendant leur écriture dans la base, les données restent dans les buffers en mémoire centrale Écriture asynchrone des données dans la base : pour des raisons de performances ; même un commit peut ne pas provoquer l'écriture dans la base si les buffers sont pleins, des données non validées peuvent être enregistrées dans la base R. Grin SGBD 107 R. Grin SGBD

19 Oracle versions 7 et 8 L'écriture est effectuée par un seul processus (en version monoprocesseur) Quand une modification est effectuée par une transaction, les données de la base sont modifiées tout de suite (dans les buffers ou les tables de la base), sans attendre un commit Segments de rollback Dans Oracle (versions 7 et 8), les images "avant" sont enregistrées dans la base dans des segments de rollback Ces segments sont utilisés pour annuler les transactions pour cacher aux autres transactions les données modifiées par les transactions non validées pour que les transactions "read only" ne voient pas les modifications effectuées par les autres transactions R. Grin SGBD 109 R. Grin SGBD 110 Oracle version 6 Avec Oracle version 6, les modifications effectuées par les utilisateurs n'étaient enregistrées dans les tables de la base qu'après un commit En attendant le commit, les modifications effectuées par un utilisateur étaient enregistrées à part dans la base Fichiers redo log Avec Oracle 7 et 8, les images "après" sont enregistrées dans des fichiers redo log, avant même que les données ne soient vraiment modifiées dans les tables de la base, et au moins à chaque validation de transaction (à partir des buffers redo log) ; c'est cet enregistrement dans les fichiers redo log qui "fait foi" pour savoir si une transaction a été validée L'écriture est séquentielle, donc rapide R. Grin SGBD 111 R. Grin SGBD 112 Archivage des fichiers redo log L'écriture dans les fichiers redo log est circulaire, en écrasant les premières données par les dernières quand les fichiers sont pleins On peut demander à Oracle d'archiver automatiquement les fichiers redo log avant qu'ils ne soient pleins (pour les utiliser en cas de panne) R. Grin SGBD 113 SGBD Buffer Redo Log LGWR Disque Fichiers Redo Log Client 1 Client 2 Client 3 Serveur 1 Serveur 2 Buffers de la base DBWR Fichiers de la base R. Grin SGBD

20 logicielles matérielles dues aux réseaux Types de pannes Les fichiers de la base peuvent avoir été endommagés ou pas Reprise après panne quand les fichiers sont corrects Automatiquement, quand il redémarre, le SGBD termine les transactions validées qui n'ont pu être enregistrées complètement dans la base annule les transactions qui n'ont pas été validées (rollback ou panne avant le commit) Pour cela, le SGBD utilise les images "après" et "avant" R. Grin SGBD 115 R. Grin SGBD 116 Reprise après panne quand les fichiers sont endommagés L'administrateur doit commencer par recharger la dernière sauvegarde complète de la base Ensuite 2 cas : si les images "après" de la base ont été archivées, on redéroule les actions des images "après" enregistrées depuis cette dernière sauvegarde sinon, il faut relancer à la main toutes les transactions perdues (si on peut!) Optimiseur de requêtes SQL est un langage non procédural : on ne décrit pas comment obtenir le résultat L'optimiseur du SGBD va concevoir un plan pour aller rechercher les données de la manière la plus efficace Il doit comparer tous les plans possibles, ou une partie des plans sélectionnée par heuristique R. Grin SGBD 117 R. Grin SGBD 118 Optimisation L'optimiseur prend en compte des considérations logiques comme de commencer par réduire la taille des tables (faire d'abord des sélections ou projections) avant de faire des jointures l'implantation physique des données comme l'existence des index (et des clusters) des statistiques sur les données contenues dans les tables (nombre de lignes, de valeurs différentes, etc.) Bases de données réparties R. Grin SGBD 119 R. Grin SGBD

Bases de Données. Plan

Bases de Données. Plan Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

DESS CCI Formation Continue. Février 2002. Université Louis-Pasteur de Strasbourg Département d'informatique

DESS CCI Formation Continue. Février 2002. Université Louis-Pasteur de Strasbourg Département d'informatique DESS CCI Formation Continue Février 2002 Université Louis-Pasteur de Strasbourg Département d'informatique %DVHVGH'RQQpHV 6\OYDLQ%5$1'(/ Pôle API, Boulevard Sébastien Brant 67 400 ILLKIRCH bureau C 126

Plus en détail

Le modèle de données relationnel

Le modèle de données relationnel Le modèle de données relationnel 1. Le modèle relationnel 1.1. Présentation Le modèle relationnel représente la base de données comme un ensemble de tables, sans préjuger de la façon dont les informations

Plus en détail

Les principaux domaines de l informatique

Les principaux domaines de l informatique Les principaux domaines de l informatique... abordés dans le cadre de ce cours: La Programmation Les Systèmes d Exploitation Les Systèmes d Information La Conception d Interfaces Le Calcul Scientifique

Plus en détail

Modèle relationnel Algèbre relationnelle

Modèle relationnel Algèbre relationnelle Modèle relationnel Algèbre relationnelle Modèle relationnel (Codd 1970) On considère D i où i = 1,2..n des ensembles, dits domaines Un domaine = ensemble de valeurs (ex. D1 : entiers sur 10 positions,

Plus en détail

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions Exemple accessible via une interface Web Une base de données consultable en ligne : Bases de données et systèmes de gestion de bases de données The Trans-atlantic slave trade database: http://www.slavevoyages.org/tast/index.faces

Plus en détail

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES? BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès

Plus en détail

1 Introduction et installation

1 Introduction et installation TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on

Plus en détail

Modélisation de bases de données : Le modèle relationnel

Modélisation de bases de données : Le modèle relationnel Modélisation de bases de données : Le modèle relationnel Rappel chapitre 1 C est quoi un modèle? Type de modèle : Modèle hiérarchique Modèle réseau Modèle objet Modèle relationnel Cours BD Dr REZEG K 1

Plus en détail

Bases de données réparties

Bases de données réparties Bases de données réparties J. Akoka - I. Wattiau 1 Contexte Technologique : des solutions de communication efficace entre les machines des SGBD assurent la transparence des données réparties standardisation

Plus en détail

11. MySQL. Cours Web. MySQL. 11. MySQL. 11. MySQL. Structured Query Language. Lionel Seinturier. Université Pierre & Marie Curie

11. MySQL. Cours Web. MySQL. 11. MySQL. 11. MySQL. Structured Query Language. Lionel Seinturier. Université Pierre & Marie Curie Cours Web Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr Structured Query Language Langage de manipulation des données stockées dans une base de données interrogation/insertion/modification/suppression

Plus en détail

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

CONCEPTION Support de cours n 3 DE BASES DE DONNEES CONCEPTION Support de cours n 3 DE BASES DE DONNEES Auteur: Raymonde RICHARD PRCE UBO PARTIE III. - LA DESCRIPTION LOGIQUE ET PHYSIQUE DES DONNEES... 2 A. Les concepts du modèle relationnel de données...

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

JDBC et objet-relationnel

JDBC et objet-relationnel Types de données de SQL3 JDBC et objet-relationnel Université de Nice - Sophia Antipolis Version 1.6.4 5/11/11 Richard Grin JDBC supporte les types suivants de SQL3 qui sont des ouvertures vers le relationnelobjet

Plus en détail

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

Plus en détail

Modèle e-a étendu: MCD (Modèle conceptuel des données) de Merise

Modèle e-a étendu: MCD (Modèle conceptuel des données) de Merise 58 Modèle e-a étendu: MCD (Modèle conceptuel des données) de Merise Héritage Contrainte d intégrité Fonctionnelle (CIF) 59 Héritage S impose dans 2 cas : Spécialisation : permet de modéliser dans l'ensemble

Plus en détail

Bases de données avancées Introduction

Bases de données avancées Introduction Bases de données avancées Introduction Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan Objectifs et contenu du cours Rappels BD relationnelles Bibliographie Cours BDA (UCP/M1)

Plus en détail

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Initiation aux bases de données (SGBD) Walter RUDAMETKIN Initiation aux bases de données (SGBD) Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr Moi Je suis étranger J'ai un accent Je me trompe beaucoup en français (et en info, et en math, et...)

Plus en détail

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

Plus en détail

Généralités sur les bases de données

Généralités sur les bases de données Généralités sur les bases de données Qu est-ce donc qu une base de données? Que peut-on attendre d un système de gestion de bases de données? Que peut-on faire avec une base de données? 1 Des données?

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

Introduction aux Bases de Données

Introduction aux Bases de Données Introduction aux Bases de Données I. Bases de données I. Bases de données Les besoins Qu est ce qu un SGBD, une BD Architecture d un SGBD Cycle de vie Plan du cours Exemples classiques d'applications BD

Plus en détail

Le Langage De Description De Données(LDD)

Le Langage De Description De Données(LDD) Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Les bases de données

Les bases de données Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive

Plus en détail

Algèbre relationnelle

Algèbre relationnelle Algèbre relationnelle Concepts Descriptifs : Bilan RELATION ou TABLE ATTRIBUT ou COLONNE DOMAINE ou TYPE CLE CLE ETRANGERE Langages de manipulation Langages formels : base théorique solide Langages utilisateurs

Plus en détail

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES BASES DE DONNÉES CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98 J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES III. LES SYSTÈMES RÉSEAU IV. LES SYSTÈMES RELATIONNELS V. LE LANGAGE

Plus en détail

Notation fonctionnelle : Union (R,S) ou OR (R, S) Chapitre 4 : Algèbre Relationnelle

Notation fonctionnelle : Union (R,S) ou OR (R, S) Chapitre 4 : Algèbre Relationnelle Chapitre 4 : IV. Qu est-ce que l algèbre relationnelle? Une collections d opérations, chacune agissant sur une ou deux relations et produisant une relation en résultat. Un langage pour combiner ces opérations.

Plus en détail

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

Compte-rendu de projet de Système de gestion de base de données

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

PRESENTATION. Document1 Serge GUERINET Page 1

PRESENTATION. Document1 Serge GUERINET Page 1 PRESENTATION Les domaines couverts par la série STG sont tous des pourvoyeurs ou exploitants des bases de données. Que l'on gère la relation aux clients, le suivi de l'activité financière, la comptabilité

Plus en détail

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques Plan de formation : Certification OCA Oracle 11g Description Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques industriels les plus avancés. Cette formation permettra

Plus en détail

Optimisations des SGBDR. Étude de cas : MySQL

Optimisations des SGBDR. Étude de cas : MySQL Optimisations des SGBDR Étude de cas : MySQL Introduction Pourquoi optimiser son application? Introduction Pourquoi optimiser son application? 1. Gestion de gros volumes de données 2. Application critique

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

Introduction aux Bases de Données

Introduction aux Bases de Données Licence 3 Géographie Aménagement NHUC5548 Introduction aux Bases de Données Le cas des BD relationnelles Concepts, méthodes et applications JP ANTONI / Y FLETY 1 Logistique et autres fonctionnements Cours

Plus en détail

Chapitre 10. Architectures des systèmes de gestion de bases de données

Chapitre 10. Architectures des systèmes de gestion de bases de données Chapitre 10 Architectures des systèmes de gestion de bases de données Introduction Les technologies des dernières années ont amené la notion d environnement distribué (dispersions des données). Pour reliér

Plus en détail

Introduction au Système de Gestion de Base de Données et aux Base de Données

Introduction au Système de Gestion de Base de Données et aux Base de Données Introduction au Système de Gestion de Base de Données et aux Base de Données Formation «Gestion des données scientifiques : stockage et consultation en utilisant des bases de données» 24 au 27 /06/08 Dernière

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

Plus en détail

INTRODUCTION : Données structurées et accès simplifié

INTRODUCTION : Données structurées et accès simplifié INTRODUCTION : Données structurées et accès simplifié À l'origine de l'informatique, le stockage d'information se faisait sur cartes perforées. Ces supports pauvres ne permettaient pas de définir la structuration

Plus en détail

Algèbre relationnelle

Algèbre relationnelle Algèbre relationnelle 1. Introduction L algèbre relationnelle est le support mathématique cohérent sur lequel repose le modèle relationnel. L algèbre relationnelle propose un ensemble d opérations élémentaires

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

Les bases de données Page 1 / 8

Les bases de données Page 1 / 8 Les bases de données Page 1 / 8 Sommaire 1 Définitions... 1 2 Historique... 2 2.1 L'organisation en fichier... 2 2.2 L'apparition des SGBD... 2 2.3 Les SGBD relationnels... 3 2.4 Les bases de données objet...

Plus en détail

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

IFT3030 Base de données. Chapitre 2 Architecture d une base de données IFT3030 Base de données Chapitre 2 Architecture d une base de données Plan du cours Introduction Architecture Modèles de données Modèle relationnel Algèbre relationnelle SQL Conception Fonctions avancées

Plus en détail

CHAPITRE 1 ARCHITECTURE

CHAPITRE 1 ARCHITECTURE 07/04/2014 Université des sciences et de la Technologie Houari Boumediene USTHB Alger Département d Informatique ADMINISTRATION ET TUNING DE BASES DE DONNÉES CHAPITRE 1 ARCHITECTURE RESPONSABLE DR K. BOUKHALFA

Plus en détail

Patrice BOURSIER. Professeur, Univ. de La Rochelle. patrice.boursier@univ-lr.fr. Bases de Données. Notes de cours

Patrice BOURSIER. Professeur, Univ. de La Rochelle. patrice.boursier@univ-lr.fr. Bases de Données. Notes de cours Patrice BOURSIER Professeur, Univ. de La Rochelle patrice.boursier@univ-lr.fr Bases de Données Notes de cours SOMMAIRE Chapitre 1 : Introduction Chapitre 2 : Modèle conceptuel Chapitre 3 : Modèle relationnel

Plus en détail

Bases de Données Avancées

Bases de Données Avancées 1/62 Bases de Données Avancées Introduction & Rappel Conception et Modélisation Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Gestion des transactions et accès concurrents dans les bases de données relationnelles

Gestion des transactions et accès concurrents dans les bases de données relationnelles Gestion des transactions et accès concurrents dans les bases de données relationnelles Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Fev.

Plus en détail

Le langage SQL Rappels

Le langage SQL Rappels Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,

Plus en détail

Chapitre 07 Le modèle relationnel des données

Chapitre 07 Le modèle relationnel des données Chapitre 07 Le modèle relationnel des données Introduction Ce chapitre est un prolongement de l'étude du modèle relationnel vu en classe de première. L'idée principale est de faire comprendre aux élèves

Plus en détail

10 Intégration de données sur le web

10 Intégration de données sur le web 10 Intégration de données sur le web 240 Requête utilisateur : Où est-ce que je peux voir les films qui ont participé au dernier Festival de Cannes? Je voudrais les résumés et critiques des films de Pedro

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

Systèmes d information et bases de données (niveau 1)

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

Du 10 Fév. au 14 Mars 2014

Du 10 Fév. au 14 Mars 2014 Interconnexion des Sites - Design et Implémentation des Réseaux informatiques - Sécurité et Audit des systèmes - IT CATALOGUE DE FORMATION SIS 2014 1 FORMATION ORACLE 10G 11G 10 FEV 2014 DOUALA CAMEROUN

Plus en détail

AGRÉGATION «ÉCONOMIE ET GESTION»

AGRÉGATION «ÉCONOMIE ET GESTION» AGRÉGATION «ÉCONOMIE ET GESTION» CONCOURS INTERNE SESSION 2002 ÉPREUVE SUR LES TECHNIQUES DE GESTION ET COMPORTANT DES ASPECTS PÉDAGOGIQUES DOMAINE : économie et gestion informatique Durée de préparation

Plus en détail

Dossier I Découverte de Base d Open Office

Dossier I Découverte de Base d Open Office ETUDE D UN SYSTEME DE GESTION DE BASE DE DONNEES RELATIONNELLES Définition : Un SGBD est un logiciel de gestion des données fournissant des méthodes d accès aux informations. Un SGBDR permet de décrire

Plus en détail

UML et les Bases de Données

UML et les Bases de Données CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..

Plus en détail

Introduction aux Systèmes de Gestion de Bases de Données Relationnelles. Olivier Losson

Introduction aux Systèmes de Gestion de Bases de Données Relationnelles. Olivier Losson Introduction aux Systèmes de Gestion de Olivier Losson L'objectif de ce cours est l'acquisition des connaissances fondamentales relatives aux systèmes de gestion de bases de données relationnelles (SGBDr),

Plus en détail

et les Systèmes Multidimensionnels

et les Systèmes Multidimensionnels Le Data Warehouse et les Systèmes Multidimensionnels 1 1. Définition d un Datawarehouse (DW) Le Datawarehouse est une collection de données orientées sujet, intégrées, non volatiles et historisées, organisées

Plus en détail

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation

Plus en détail

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL) Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL) Un modèle de données définit un mode de représentation de l information selon trois composantes : 1. Des structures de données. 2. Des contraintes qui permettent

Plus en détail

Introduction aux SGBDR

Introduction aux SGBDR 1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux

Plus en détail

Rappel sur les bases de données

Rappel sur les bases de données Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant

Plus en détail

Table des matières. Remerciements... Avant-propos... 1. Introduction... 7

Table des matières. Remerciements... Avant-propos... 1. Introduction... 7 Remerciements..................................................... VI Avant-propos...................................................... 1 À qui s adresse cet ouvrage?..........................................

Plus en détail

Bases de données. Chapitre 1. Introduction

Bases de données. Chapitre 1. Introduction Références : Bases de données Pierre Wolper Email : pw@montefiore.ulg.ac.be URL : http : //www.montefiore.ulg.ac.be/~pw/ http : //www.montefiore.ulg.ac.be/ ~pw/cours/bd.html Henry F. Korth, Abraham Silberschatz,

Plus en détail

Figure 1. Structure répartie

Figure 1. Structure répartie Chapitre I: Applications Réparties et Middleware 1. Définition d une application répartie Une application répartie est constituée d un ensemble de processus (d objets, d agents, d acteurs) s exécutant

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

Plus en détail

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers Programme détaillé Objectifs de la formation Les systèmes de gestion de bases de données prennent aujourd'hui une importance considérable au regard des données qu'ils hébergent. Véritable épine dorsale

Plus en détail

Bases de Données Avancées

Bases de Données Avancées /62 Bases de Données Avancées Introduction & Rappel Conception et Modélisation Thierry Hamon Bureau H202 Institut Galilée - Université Paris 13 & LIMSI-CNRS hamon@limsi.fr http://perso.limsi.fr/hamon/teaching/bda-20132014/

Plus en détail

TP1 Microsoft Access : base de donne es et tables V 1.2

TP1 Microsoft Access : base de donne es et tables V 1.2 TP1 Microsoft Access : base de donne es et tables V 1.2 Il est demandé de suivre pas à pas les indications de ce document. Les tâches bien spécifiques à réaliser sont écrites de cette manière : 1.x faire

Plus en détail

Présentation du module Base de données spatio-temporelles

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

Présentation du module. Base de données spatio-temporelles. Exemple. Introduction Exemple. Plan. Plan

Présentation du module. Base de données spatio-temporelles. Exemple. Introduction Exemple. Plan. Plan Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Partie 1 : Notion de bases de données (Conception

Plus en détail

Module BDR Master d Informatique (SAR)

Module BDR Master d Informatique (SAR) Module BDR Master d Informatique (SAR) Cours 6- Bases de données réparties Anne Doucet Anne.Doucet@lip6.fr 1 Bases de Données Réparties Définition Conception Décomposition Fragmentation horizontale et

Plus en détail

Modèle relationnel - 1

Modèle relationnel - 1 Langages de Définition de Données (LDD : Définition /mise à jour des schémas des relations Langages de manipulation de données (LMD : Interrogation : recherche de données Mises à jour : insertion, suppression,

Plus en détail

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1 1 COMPOSANTS DE L ARCHITECTURE D UN SGBD Chapitre 1 Généralité 2 Les composants principaux de l architecture d un SGBD Sont: Les processus Les structures mémoires Les fichiers P1 P2 Pn SGA Fichiers Oracle

Plus en détail

Bases de Données relationnelles et leurs systèmes de Gestion

Bases de Données relationnelles et leurs systèmes de Gestion III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation

Plus en détail

Introduction aux Systèmes Distribués. Introduction générale

Introduction aux Systèmes Distribués. Introduction générale Introduction aux Systèmes Distribués Licence Informatique 3 ème année Introduction générale Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan

Plus en détail

//////////////////////////////////////////////////////////////////// Administration bases de données

//////////////////////////////////////////////////////////////////// Administration bases de données ////////////////////// Administration bases de données / INTRODUCTION Système d informations Un système d'information (SI) est un ensemble organisé de ressources (matériels, logiciels, personnel, données

Plus en détail

Utiliser Access ou Excel pour gérer vos données

Utiliser Access ou Excel pour gérer vos données Page 1 of 5 Microsoft Office Access Utiliser Access ou Excel pour gérer vos données S'applique à : Microsoft Office Access 2007 Masquer tout Les programmes de feuilles de calcul automatisées, tels que

Plus en détail

Chapitre 1 Généralités sur les bases de données

Chapitre 1 Généralités sur les bases de données Chapitre 1 Généralités sur les bases de données I. Définition d un SGBD Une base de données, généralement appelée BD est un ensemble structuré et organisé permettant le stockage de grandes quantités d'informations

Plus en détail

BD Avancées TRAVAUX DIRIGÉS. UFR Sciences et Techniques. IUP Blois Master SIR 1 année

BD Avancées TRAVAUX DIRIGÉS. UFR Sciences et Techniques. IUP Blois Master SIR 1 année UFR Sciences et Techniques IUP Blois Master SIR 1 année BD Avancées TRAVAUX DIRIGÉS Enseignant Jean-Yves ANTOINE (Jean-Yves.Antoine AT univ-tours.fr) Sécurité des données CONTRÔLE DES ACCES CONCURRENTS

Plus en détail

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Livre blanc Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Présentation Ce document examine la prise en charge de la programmabilité sur l'infrastructure axée

Plus en détail

Bases de Données Relationnelles. L algèbre relationnelle

Bases de Données Relationnelles. L algèbre relationnelle Bases de Données Relationnelles L algèbre relationnelle Langages de manipulation Langages formels : base théorique solide Langages utilisateurs : version plus ergonomique Langages procéduraux : définissent

Plus en détail

dans laquelle des structures vont être créées pour une ou plusieurs applications.

dans laquelle des structures vont être créées pour une ou plusieurs applications. Création d'une nouvelle base de données A. Vue d'ensemble 1. Étapes de création d'une nouvelle base de données pour une application Le processus complet de création d'une nouvelle base de données pour

Plus en détail

Diagramme de classes

Diagramme de classes Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :

Plus en détail

Notion de base de données

Notion de base de données Notion de base de données Collection de données opérationnelles enregistrées sur un support adressable et utilisées par les systèmes et les applications Les données doivent être structurées indépendamment

Plus en détail

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C#

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# CHAPITRE 1 Introduction aux web services Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# NetBeans JavaScript Eclipse Objective C Xcode PHP HTML Objectifs du chapitre : Ce

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

MEGA Database Builder. Guide d utilisation

MEGA Database Builder. Guide d utilisation MEGA Database Builder Guide d utilisation MEGA 2009 SP4 1ère édition (juin 2010) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune

Plus en détail

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES? BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès

Plus en détail

Implémentation des SGBD

Implémentation des SGBD Implémentation des SGBD Structure générale des applications Application utilisateur accédant à des données d'une base Les programmes sous-jacents contiennent du code SQL Exécution : pendant l'exécution

Plus en détail

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre Bases de Données Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre Synthèse : conception de BD langage de modélisation famille de SGBD SGBD Analyse du

Plus en détail

TP Bases de données réparties

TP Bases de données réparties page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

Plus en détail