Base de données -Cours-Exercices-Travaux pratiques

Base de données -Cours-Exercices-Travaux pratiques

Base de données -Cours-Exercices-Travaux pratiques

Une Base de données est un gros ensemble d’informations structurées mémorisées sur un support permanent.

Un Système de Gestion de Bases de Données (SGBD) est un logiciel de haut niveau qui permet de manipuler les informations stockées dans une base de données. L’utilisation d’un SGBD suppose de comprendre les fonctionnalités suivantes :

1. Définition du schéma de données en utilisant les modèles de données du SGBD.

2. Opérations sur les données : recherche, mises-à-jour, etc.

3. Partager les données entre plusieurs utilisateurs. (Mécanisme de transaction).

4. Optimiser les performances, par le réglage de l’organisation physique des données.

Un schéma de données est simplement la description des données contenues dans la base. Cette description est conforme à un modèle de données qui propose des outils de description (structures, contraintes et opérations). En fait, dans un SGBD, il existe plusieurs modèles plus ou moins abstraits des mêmes objets,e.g. :
– Le modèle conceptuel : la description du système d’information
– Le modèle logique : interface avec le SGBD
– Le modèle physique : fichiers.

Plan du cours de Base de données
1 Introduction
2 Présentation générale

2.1 Données, Bases de données et SGBD

2.2 Que doit-on savoir pour utiliser un SGBD ?

2.2.1 Définition du schéma de données

2.2.2 Les opérations sur les données

2.2.3 Optimisation

2.2.4 Concurrence d’accès

2.3 Le plan du cours

I Modèles et langages

3 Le modèle Entité/Association

3.1 Principes généraux

3.1.1 Bons et mauvais schémas

3.1.2 La bonne méthode

3.2 Le modèle E/A : Présentation informelle

3.3 Le modèle

3.3.1 Entités, attributs et identifiants

3.3.2 Associations binaires

3.3.3 Entités faibles

3.3.4 Associations généralisées

3.4 Avantage et inconvénients du modèle E/A

3.5 Exercices

4 Le modèle relationnel

4.1 Définition d’un schéma relationnel

4.2 Passage d’un schéma E/A à un schéma relationnel

4.2.1 Règles générales

4.2.2 Retour sur le choix des identifiants

4.2.3 Dénormalisation du modèle logique

4.3 Le langage de définition de données SQL2

4.3.1 Types SQL

4.3.2 Création des tables

4.3.3 Contraintes

4.3.4 Modification du schéma

4.4 Exercices

5 L’algèbre relationnelle

5.1 Les opérateurs de l’algèbre relationnelle

5.1.1 La sélection

5.1.2 La projection. . .

5.1.3 Le produit cartésien

5.1.4 L’union,

5.1.5 La différence

5.1.6 Jointure,

5.2 Expression de requêtes avec l’algèbre

5.2.1 Sélection généralisée

5.2.2 Requêtes conjonctives

5.2.3 Requêtes avec U et –

5.3 Exercices

6 Le langage SQL

6.1 Requêtes simples SQL

6.1.1 Sélections simples

6.1.2 La clause WHERE

6.1.3 Valeurs nulles

6.2 Requêtes sur plusieurs tables

6.2.1 Jointures

6.2.2 Union, intersection et différence

6.3 Requêtes imbriquées

6.3.1 Conditions portant sur des relations

6.3.2 Sous-requêtes correllées

6.4 Agrégration

6.4.1 Fonctions d’agrégation

6.4.2 La clause GROUP BY

6.4.3 La clause HAVING

6.5 Mises-à-jour

6.5.1 Insertion

6.5.2 Destruction

6.5.3 Modification

6.6 Exercices

7 Schémas relationnels

7.1 Schémas

7.1.1 Définition d‘un schéma

7.1.2 Utilisateurs

7.2 Contraintes et assertions

7.3 Vues

7.3.1 Création et interrogation d’une vue

7.3.2 Mise à jour d’une vue

7.4 Triggers

7.4.1 Principes des triggers

7.4.2 Syntaxe

7.5 Exercices

8 Programmation avec SQL

8.1 Interfaçage avec le langage C

8.1.1 Un exemple complet

8.1.2 Développement en C/SQL

8.1.3 Autres commandes SQL

8.2 L’interface Java/JDBC

8.2.1 Principes de JDBC

8.2.2 Le plus simple des programmes JDBC

8.2.3 Exemple d’une applet avec JDBC

II Aspects systèmes

9 Techniques de stockage

9.1 Stockage de données

9.1.1 Supports

9.1.2 Fonctionnement d’un disque

9.1.3 Optimisations

9.1.4 Technologie RAID

9.2 Fichiers

9.2.1 Enregistrements

9.2.2 Blocs

9.2.3 Organisation d’un fichier

9.3 Oracle

9.3.1 Fichiers et blocs

9.3.2 Les tablespaces

9.3.3 Création des tables

10 Indexation

10.1 Indexation de fichiers

10.1.1 Index non-dense

10.1.2 Index dense

10.1.3 Index multi-niveaux

10.2 L’arbre-B

10.2.1 Présentation intuitive

10.2.2 Recherches avec un arbre-B+

10.3 Hachage

10.3.1 Principes de base

10.3.2 Hachage extensible

10.4 Les index bitmap

10.5 Indexation dans Oracle

10.5.1 Arbres B+

10.5.2 Arbres B

10.5.3 Indexation de documents

10.5.4 Tables de hachage

10.5.5 Index bitmap

11 Introduction à la concurrence d’accès

11.1 Préliminaires

11.1.1 Exécutions concurrentes : sérialisabilité

11.1.2 Transaction

11.1.3 Exécutions concurrentes : recouvrabilité  

11.2 Contrôle de concurrence

11.2.1 Verrouillage à deux phases

11.2.2 Contrôle par estampillage

11.3 Gestion des transactions en SQL

11.4 Exercices

12 Travaux pratiques

12.1 Environnement

12.1.1 Connexion au système

12.1.2 Les commandes utiles

12.1.3 Utilisation de SQLPLUS

12.2 Requêtes SQL

12.2.1 Sélections simples

12.2.2 Jointures

12.2.3 Négation

12.2.4 Fonctions de groupe

12.3 Concurrence d’accès

12.4 Normalisation d’un schéma relationnel

12.5 Optimisation

Base-de-données


Voir aussi :


Partagez au maximum pour que tout le monde puisse en profiter

Merci de partager cet article avec vos amis

6 commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *