Paris
7 - IUP Génie Mathématique et Informatique - 2ème année - 2003/2004
Bases de Données
L'équipe pédagogique
Eugène Asarin, mail : Professeur à l'Université Paris 7 à l'UFR d’Informatique,
Laboratoire LIAFA, Chargé de cours
et de TD
Duc-Minh Vu, mail : Chargé de TP
Pour
joindre toute l'équipe
Quelques documents électroniques et liens utiles
Sujet d’examen corrigé (version
beta)
Un grand cours de BD de
Philippe Rigaux
Un petit cours de BD
d’Irène Guessarian et quelques liens utiles
Merci de m’envoyer des liens.
Bibliographie commentée
- J. Ullman, J. Widom. A
First Course in Database Systems, 2nd edition, Prentice
Hall, 2002
Un ouvrage classique et complet. Les livres moins récents
de J.Ullman et ses co-auteurs sont encore plus classiques et plus
complets.
- P. Mathieu. Des bases
de données à l’Internet - Paris : Vuibert, 2000
Le manuel de base utilisé pour mes cours (et pour les TDs).
Indispensable pour vos révisions.
- A.Flory, F. Laforest, Des
bases de données Relationnelles, 2e édition, Paris :
Economica, 2002.
Un petit livre destinée aux non-informaticiens. Je vous propose de le
lire avant de commencer vos révisions pour avoir une idée générale. De
très bons exercices.
- G.Reese, JDBC et Java.
Guide du programmeur. 2e édition, Paris : O'Reilly, 2001.
Un bon ouvrage sur JDBC.
et tout le rayon « Bases de Données » de votre
bibliothèque préférée…
Quatre grands s
- Bases de données
relationnelles: aspects généraux. (voir [Mathieu] chapitres 1,7)
- Fondements mathématiques
des BD relationnelles. (voir [Mathieu] chapitres 3,8 et [Ullman] pour
plus de précisions sur les formes normales)
- SQL (voir [Mathieu],
chapitres 4,5)
- Programmes applicatifs et
BD (voir [Mathieu] chapitre10, et [Reese] chapitres 7,3,4).
L'ouvrage de [Ullman] couvre tous ces aspects; [Flory] parle de trois premiers,
tous les livres cités contiennent des bons exercices (nous avons utilisé en TDs
ceux de [Mathieu] et de [Flory]).
Connaissances acquises
- Bases de données
relationnelles: aspects généraux.
- Notions de base
- Notions de Système
d’Information, Base de Données (BD), Système de Gestion de Bases de
Données (SGBD)
- Fonctionnalités
et éléments d’un SGBD
- Historique et
typologie des SGBD
- Modèle relationnel
de données; BD relationnelles, leurs avantages et inconvénients
- Modèle conceptuel de
données (MCD). Diagramme entité-association. Rôle de MCD dans la
conception de schéma de BD.
- Aspects divers (voir
aussi partie III):
- Schéma de BD
et sa conception
- Contraintes
d’intégrité
- Vues et
indépendance logique
- Interrogation et
modification de la base
- Base et métabase
- Sécurité
- Aspects avancés:
- Stockage, accès,
index
- Transactions
- Accès concurrent
- Fondements mathématiques
des BD relationnelles.
- Algèbre relationnelle
- Relations en
mathématique et en BD
- Opérations sur les
relations (booléennes, projection, restriction, produit, jointures)
- Fonctions
statistiques et aggregation
- Optimisation de
requêtes
- Théorie de
normalisation (cliquez ici pour un petit document)
- Redondance et
anomalies
- Dépendances
fonctionnelles
- Décomposition de
relations
- Formes normales
- Algorithmes de
normalisation
- SQL
- Programmation
relationnelle vs autres paradigmes de programmation
- DDL - langage
de définition de données
- DML - langage de
manipulation de données
- DCL - langage de
contrôle de données
- Programmes applicatifs et
BD
- Architectures client
serveur et trois tiers
- Programmation en Java
avec JDBC
Compétences acquises
Il s'agit de compétences d'un utilisateur expérimenté des BD relationnelles
qui comprend bien le fonctionnement d'une SGBD relationnelle, et qui a des
notion de base sur la conception et l'administration d'une BD, aussi bien que
sur la programmation pour les BD en Java.
- Bases de données
relationnelles: aspects généraux.
- Concevoir un MCD pour
un système d'information décrit en termes usuels
- Transformer cet MCD
en schéma de BD
- Définir ce schéma en
SQL en assurant l'intégrité
- Analyser sur des
exemples concrets la problématique de transactions et tolérance aux
pannes
- Analyser sur des
exemples concrets la problématique de l'accès concurrent aux données
- Fondements mathématiques
des BD relationnelles.
- Faire les calculs à
la main dans l'algèbre relationnelle
- Exprimer des requêtes
en algèbre relationnelle
- Traduire de l'algèbre
relationnelle en SQL et vice versa
- Trouver les
dépendances fonctionnelles
- Déduire les
dépendances fonctionnelles, tester leur équivalence, trouver la
couverture irredondante etc
- Décomposer une
relation, analyser une décomposition
- Déterminer si une
relation est en forme normale
- Normaliser une
relation (un schéma de BD)
- SQL
- Définir le schéma de
BD en SQL en assurant l'intégrité
- Créer les vues et les
index
- Exprimer des requêtes
en SQL
- Mette à jour la BD
- Controller les droits
d'accès
- Programmes applicatifs et
BD
- Programmer en
Java/JDBC des programmes accédant aux BD
Feedback
N'hésitez pas de nous
envoyer vos commentaires, solutions des exercices, demandes d'information
sur le contenu de cours. On apprécierait beaucoup les notes de cours (en tex,
html ou même word).