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
C’est merveilleux
C’est cool
Vous êtes bon et vous nous aidez bcq
Mercie bcq et n’oubliez pas d’ajouter les cours restants