You are on page 1of 12

Bases de donnes cours 1

Introduction

Catalin Dima

Objectifs du cours

Modle relationnel et logique des bases de donnes. Langage SQL. Conception de bases de donnes. SQL et PHP.

Cours essentiel pour votre stage !

Ressources et valuation

H. Garcia-Molina, J. D. Ullman & J. Widom, Database system, the complete book. Chris J. Date, Introduction aux bases de donnes (7e dition). Page web : http://lacl.univ-paris12.fr/dima/BD 6 sances C.D., 6 sances A.S. 8 TDs1h30 (au lieu de 12) et 4 TPs3h (au lieu de 2). Evaluation en contrle continu :

2 contrles en TD.

Fonctionnalits dune BD

Stockage persistent de donnes.

Similaire aux systmes de chiers, mais oriente structuration des donnes. Donne = information stocke. Sparation donne (valeur) / information (signication). Base de done = collection des donnes persistantes. Flexibilit et complexit de manipulation de donnes. Accs concurrent aux donnes : utilisateurs. Atomicit des transactions. Durabilit.

Interface de programmation.

Gestion des transactions.


Exemples de systmes de BD

Systmes de rservation de billets. Systmes bancaires. Serveurs web et CMS. Systmes de BD distribus.

Survol dun systme de gestion de bases de donnes (SGBD)

Modicateurs de donnes : utilisateurs conventionnels. programmes applicatifs.

Langage de manipulation de donnes (LMD) : dnition de requtes. Requtes processes par un compilateur fournissant des plans doprations une machine dexcution des requtes. Langage de dnition de donnes (LDD) : structuration de la BD. Outils daide la dnition de la structure dune BD.

Administrateurs : responsables de la structure de la BD.


Transaction : suite doprations sur la base de donnes. Gestionnaire de transactions :


Gestion de la concurrence : contrle de latomicit et de lisolation. Gestion de la durabilit : journalisation et recouvrement.

Une architecture trois niveaux

Niveau interne : mmoire physique.


Types denregistrements internes. Reprsentation des champs mmoire. Squencement physique. Combinaison de LMD et de LDD. SQL est un exemple. Utilisation interactive : requtes saisies par utilisateur. Utilisation intgres : requtes intgres dans un programme dun autre langage (Javascript, PHP, Java). Dnition de types denregistrements et des relations entre eux. Indpendant des reprsentations physiques des informations.

Niveau externe : logique utilisateur.


Niveau (schma) conceptuel : vue commune entre utilisateurs.


Architecture client-serveur

Sparation entre dveloppeur doutils BD et dveloppeur de BD. Serveur du SGBD :

Responsable de la scurit et lintgrit des BD cres par les utilisateurs. Responsable de la gestion de la concurrence entre les requtes des diffrents utilisateurs. Intgre tout le niveau interne, plus la dnition des LDD et LMD. Intgre aussi le compilateur de requtes. Fonctionnalits offertes par les concepteurs des SGBD orientes client-serveur. Applications/outils dvelopps laide de ces fonctionnalits.

Client SGBD :

Exemples : Oracle, MySQL server.

Les SGBD relationnels

Modle de BD bas sur la manipulation des tables (tableaux), vus comme des relations. Un table a un nom et contient des attributs (colonnes), des tuples (lignes). Aspects essentiels :

Toute relation est reprsente par un tables. Un ensemble rduit doprateurs est sufsant pour manipuler les tables et dnir des nouveaux tables. Certaines contraintes dintgrit doivent tre satisfaites par les tables, pour rentre leur utilisation plus cohrente. Dautres ensembles doprateurs peuvent constituer une base du calcul des relations.

Oprateurs de base : projection, restriction et jointure.

Exemple de BD relationnelle
PC : Produit : fabricant A A A A A A B B B B B B C C C C C C D D D D E E E E E F F F F F modle 1003 1002 1010 2004 2005 2009 1001 1003 3001 3002 3004 1009 1001 2001 1010 2001 2009 3001 1002 1010 2002 2005 2001 2009 3001 1002 1004 2002 3005 3006 3009 2009 type pc pc pc portable portable portable pc pc imprimante imprimante imprimante pc pc portable pc portable portable imprimante pc pc portable portable portable portable imprimante pc pc portable imprimante imprimante imprimante portable modle 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 processeur i3 i3 i5 i5 i7 i7 a4 a4 a6 a8 RAM 2 4 4 8 8 16 4 8 8 16 DD 400 450 500 400 600 800 500 800 600 800 DVD/Blu-ray 8xDVD 16xDVD 8xBR 16xDVD 6xBR 8xDVD 16xDVD 6xBR 7xBR 12xBR prix 400 500 450 600 650 700 350 450 500 700

Portables : modle 2001 2002 2003 2004 2005 2006 2007 2008 2009 processeur a4 a6 a6 a8 a8 i3 i3 i5 i5 RAM 4 4 6 4 6 16 4 8 8 Imprimantes : modle 3001 3002 3003 3004 3005 3006 3007 3008 type laser jet dencre laser laser multifonction jet dencre laser multifonction couleur oui oui non non non oui oui oui prix 250 150 100 90 350 120 230 450 DD 200 250 300 200 300 200 300 200 400 cran 14 13 14 15 14 11 13 15 13 prix 600 700 750 700 650 700 650 850 800

Relations, relvars, catalogue

Chaque BD est identie avec une relation sur un ensemble dattributs. Une variable relationnelle (relvar) est une variable qui prend comme valeur des relations. Le catalogue (dictionnaire) dun SGBD est lensemble des objets prsents dans le systme de BD :

Relations/tables, colonnes/attributs, indices. Utilisateurs. Contraintes dintgrit et de scurit. Toute autre description du systme, ncessaire au fonctionnement de celui-ci. Une relvar TABLE ayant comme colonnes NOMTAB, COMPTCOL, COMPTLIGNE, etc. Une relvar COLONNE ayant comme colonnes NOMTAB, NOMCOL, etc. On verra plus tard leur nom (et dautres exemples) en SQL.

Le catalogue est constitu de relvars :

Transactions
Units logiques de travail : Font intervenir plusieurs oprations de base dans la BD. Utilises e.g. lorsquune mise jour dune table dans la BD implique plusieurs actions sensibles qui, lorsquelles sont entrelacs avec dautres actions, peuvent entraner des incohrences dans la BD.

Atomicit : aucun entrelacement possible avec dautres oprations ne faisant pas partie de la transaction. Durabilit : lorsquune transaction se termine avec succs, les mises jour ont bien t effectues sur la BD.

Mais aussi si une transaction se termine par un chec, le systme revient son tat avant la transaction !

Isolation : les mises jour effectues en cours dexcution dune transaction ne sont visibles (pour dautres transactions ou utilisateurs) qu la n de celle-ci (si succs).

You might also like