Logo ÉTS
Session
Cours
Responsable(s) David Marche

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement





Cours

Séance 

Description

1

Introduction aux systèmes de gestion de bases de données

2

Modèle conceptuel

3

Modèle relationnel

4

Langage SQL : LDD (1/2)

5

Langage SQL : LDD (2/2)

Note : si nécessaire, peut être interverti avec une séance de LMD

6

Langage SQL : LMD (1/2)

7

Langage SQL : LMD (2/2)

8

Interface entre SQL et un programme : PL/SQL (1/2)

9

Interface entre SQL et un programme : PL/SQL (2/2)

10

Interface entre SQL et un programme : ODBC/JDBC/SQLJ

11

Théorie de la normalisation

12

Langage SQL :  LCD

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Contenu détaillé :

Introduction aux systèmes de gestion de bases de données

  • Notion de bases de données
  • Modèles de bases de données
  • Système de gestion de bases de données (SGBD)
  • Système d’information
  • Progiciel de gestion intégré (ERP)

 

Modèle conceptuel

  • Notion de règles d’affaire
  • Formalisation des données
  • Entités, attributs, relations, cardinalités, identifiants
  • Associations unaire, binaire, ternaire, n-aire
  • Diagramme entité-association

 

Modèle relationnel

  • Origine
  • Concept de relation, n-uplet, table, domaine
  • Contraintes d’identité et référentielles
  • Clés primaires et étrangères
  • Algèbre relationnelle (sélection, projection, jointure, etc.)

 

Langage SQL : LDD

  • Types SQL
  • Définition de tables : CREATE/DROP/UDPDATE TABLE
  • Clés : PRIMARY KEY, FOREIGN KEY
  • Contraintes : CHECK, NOT NULL, DOMAIN, DEFAULT, etc.

 

Langage SQL : LMD

  • Opérations de base : SELECT, FROM, WHERE, ORDER BY, etc.
  • SELECT imbriqués
  • Opérations sur les dates
  • Opérations sur les chaînes de caractères et expressions régulières
  • Opérations de groupe : SUM, COUNT, GROUP BY, HAVING, etc.
  • Opérations de modification : INSERT, UPDATE, DELETE

 

Langage SQL : LMD + LDD

  • Tables virtuelles : CREATE VIEW, avantages, limites, etc.
  • Transactions : COMMIT, ROLLBACK
  • Méta-données : CURRENT_USER, USER_TABLES, CURRENT DATE, etc.

Interface entre SQL et un programme (application) : PL/SQL

  • Définition de blocs : DECLARE, BEGIN, END, etc.
  • Déclaration et affectation de variables : TYPE, SELECT INTO, ‘:=’.
  • Conditions : IF, ELSE, END IF
  • Boucles : LOOP, FOR, WHILE
  • Curseurs : CURSOR, OPEN, LOOP, FOR
  • Traitement d’exceptions : RAISE, WHEN, etc.
  • Procédures et fonctions : CREATE PROCEDURE, CREATE FUNCTION, RETURN, privilèges d’exécution
  • Procédures déclenchées : CREATE TRIGGER, BEFORE/AFTER/INSTEAD, FOR EACH ROW, REFERENCING

Interface entre SQL et un programme (application) : ODBC/JDBC/SQLJ

  • Différentes interfaces : ODBC, JDBC, SQLJ, etc.
  • Connexion : Chargement de pilote JDBC, getConnection, close, etc.
  • Création et exécution d’énoncés : createStatement, executeUpdate, executeQuery, etc.
  • Traitement des résultats : ResultSet, next, getXYZ
  • Énoncés compilés et exécution en lot : prepareStatement, addBatch, executeBatch, setXYZ
  • Appel de fonctions et procédures : prepareCall, registerParameter, execute

Théorie de la normalisation

  • Motivations
  • Concepts de bases : décomposition sans perte, dépendances fonctionnelles, etc.
  • Formes normales : FNBC, 3FN, 4FN, 5FN

Langage SQL :  LCD

  • Concepts d’utilisateurs, rôles, privilèges, confidentialités, responsabilités
  • Privilèges : GRANT, REVOKE
  • Politique de sécurité des données

 

 

 

 

 

 

Laboratoires et travaux pratiques

Laboratoires :

Labo #1 (durée 5 semaines) : Conception et implémentation d’une base de données

Labo #2 (durée 2 semaines) : Formulation de requêtes SQL

Labo #3 (durée 3 semaines) : Integration  du language PL/SQL

Labo #4 (durée 2 semaines) : Implantetion de la politique de sécurtié  des données comme une interface entre une application et la base de données.

 


Utilisation d'outils d'ingénierie

Les laboratoires sont développés avec le langage SQL dans un environnement UNIX/Windows.