Cours SQL: Base de données et langage SQL

Sommaire: Base de données et langage SQL

1 Introduction aux bases de données {S1}
1.1 Qu’est-ce qu’une base de données ?
1.1.1 Notion de base de données
1.1.2 Modèle de base de données
1.2 Système de gestion de base de données (SGBD)
1.2.1 Principes de fonctionnement
1.2.2 Objectifs
1.2.3 Niveaux de description des données ANSI/SPARC
1.2.4 Quelques SGBD connus et utilisés
1.3 Travaux Dirigés – Sensibilisation à la problématique des bases de données {S1}
1.3.1 Introduction
1.3.2 Approche naïve
1.3.3 Affinement de la solution
1.3.4 Que retenir de ce TD?
2 Conception des bases de données (modèle E-A) {S2-3}
2.1 Introduction
2.1.1 Pourquoi une modélisation préalable ?
2.1.2 Merise
2.2 Éléments constitutifs du modèle entités-associations
2.2.1 Entité
2.2.2 Attribut ou propriété, valeur
2.2.3 Identifiant ou clé
2.2.4 Association ou relation
2.2.5 Cardinalité
2.3 Compléments sur les associations
2.3.1 Associations plurielles
2.3.2 Association réflexive
2.3.3 Association n-aire (n > 2)
2.4 Travaux Dirigés – Modèle entités-associations {S2}
2.4.1 Attention aux attributs multiples
2.4.2 Étudiants, cours, enseignants, salles,
2.4.3 Deux associations ne peuvent lier un même ensemble d’entités
2.4.4 Comprenez-vous les type-associations n-aire ?
2.4.5 Cas d’une bibliothèque (1repartie)
2.5 Règles de bonne formation d’un modèle entités-associations
2.5.1 Règles portant sur les noms
2.5.2 Règles de normalisation des attributs
2.5.3 Règles de fusion/suppression d’entités/associations
2.5.4 Normalisation des type-entités et type-associations
2.6 Élaboration d’un modèle entités-associations
2.6.1 Étapes de conceptions d’un modèle entités-associations
2.6.2 Conseils divers
2.7 Travaux Dirigés – Modèle entités-associations {S3}
2.7.1 Mais qui a fait cette modélisation ?
2.7.2 Cas d’une bibliothèque (2e partie)
2.7.3 Cas d’une entreprise de dépannage
3 Bases de données relationnelles {S4-5}
3.1 Introduction au modèle relationnel
3.1.1 Présentation
3.1.2 Éléments du modèle relationnel
3.1.3 Passage du modèle entités-associations au modèle relationnel
3.2 Normalisation
3.2.1 Introduction
3.2.2 Dépendance fonctionnelle (DF)
3.2.3 Première et deuxième forme normale
3.2.4 Troisième forme normale
3.2.5 Forme normale de BOYCE-CODD
3.2.6 Quatrième et cinquième forme normale
3.2.7 Remarques au sujet de la normalisation
3.3 Travaux Dirigés – Modèle relationnel {S4}
3.3.1 Passage du modèle entités-associations au modèle relationnel
3.3.2 Normalisation
3.4 Algèbre relationnelle
3.4.1 Introduction .
3.4.2 Sélection
3.4.3 Projection
3.4.4 Union
3.4.5 Intersection
3.4.6 Différence
3.4.7 Produit cartésien
3.4.8 Jointure, theta-jointure, equi-jointure, jointure naturelle
3.4.9 Division
3.5 Travaux Dirigés – Algèbre relationnelle {S5}
3.5.1 Exercices de compréhension de requêtes
3.5.2 Trouver la bonne requête
4 Langage SQL
4.1 Introduction {S6}
4.1.1 Présentation générale
4.1.2 Catégories d’instructions
4.1.3 PostgreSQL
4.2 Définir une base – Langage de définition de données (LDD)
4.2.1 Introduction aux contraintes d’intégrité
4.2.2 Créer une table : CREATE TABLE
4.2.3 Contraintes d’intégrité
4.2.4 Supprimer une table : DROP TABLE
4.2.5 Modifier une table : ALTER TABLE
4.3 Modifier une base – Langage de manipulation de données (LMD)
4.3.1 Insertion de n-uplets : INSERT INTO
4.3.2 Modification de n-uplets : UPDATE
4.3.3 Suppression de n-uplets : DELETE
4.4 Travaux Pratiques – SQL : Première base de données {S6}
4.4.1 Informations pratiques concernant PostgreSQL
4.4.2 Première base de données
4.5 Interroger une base – Langage de manipulation de données : SELECT (1re partie) {S7}
4.5.1 Introduction à la commande SELECT
4.5.2 Traduction des opérateurs de l’algèbre relationnelle (1repartie)
4.5.3 Syntaxe générale de la commande SELECT
4.5.4 La clause SELECT
4.5.5 La clause FROM (1repartie)
4.5.6 La clause ORDER BY
4.5.7 La clause WHERE
4.5.8 Les expressions régulières
4.6 Travaux Pratiques – SQL : Premières requêtes {S7}
4.6.1 Premières requêtes
4.6.2 Requêtes déjà résolues en utilisant l’algèbre relationnelle
4.6.3 Utilisation des expressions régulières
4.7 Interroger une base – Langage de manipulation de données : SELECT (2epartie) {S8}
4.7.1 La clause FROM (2e partie) : les jointures
4.7.2 Les clauses GROUP BY et HAVING et les fonctions d’agrégation
4.7.3 Opérateurs ensemblistes : UNION, INTERSECT et EXCEPT
4.7.4 Traduction des opérateurs de l’algèbre relationnelle (2epartie)
4.8 Travaux Pratiques – SQL : Requêtes avancées {S8}
4.8.1 Prix de GROUP
4.8.2 Requêtes déjà résolues en utilisant l’algèbre relationnelle
4.8.3 GROUP toujours !
4.9 Nouveaux objets – Langage de définition de données (LDD) {S9}
4.9.1 Séquences (CREATE SEQUENCE) et type SERIAL
4.9.2 Règles (CREATE RULE)
4.9.3 Vues (CREATE VIEW)
4.9.4 Schémas (CREATE SCHEMA)
4.10 Travaux Pratiques – SQL : Nouveaux objets {S9}
4.10.1 Séquences
4.10.2 Schéma et vues
4.10.3 Règles
4.10.4 Toujours des requêtes
4.11 SQL intégré {S10}
4.11.1 Introduction
4.11.2 Connexion au serveur de bases de données
4.11.3 Exécuter des commandes SQL
4.11.4 Les variables hôtes
4.11.5 Variables indicateur
4.11.6 Gestion des erreurs
4.11.7 Curseurs pour résultats à lignes multiples
4.11.8 Précompilation et compilation
4.11.9 Exemple complet
5 Corrections
Bibliographie

Extrait du cours

Chapitre 1: Introduction aux bases de données

1.1 Qu’est-ce qu’une base de données ?
1.1.1 Notion de base de données
Description générale
Il est difficile de donner une définition exacte de la notion de base de données. Une définition très générale pourrait être :

Définition 1.1

-Base de données- Un ensemble organisé d’informations avec un objectif commun.
Peu importe le support utilisé pour rassembler et stocker les données (papier, fichiers, etc.), dès lors que des données sont rassemblées et stockées d’une manière organisée dans un but spécifique, on parle de base de données.
Plus précisément, on appelle base de données un ensemble structuré et organisé permettant le stockage de grandes quantités d’informations afin d’en faciliter l’exploitation (ajout, mise à jour, recherche de données). Bien entendu, dans le cadre de ce cours, nous nous intéressons aux bases de données informatisées.

Base de données informatisée

Définition 1.2 -Base de données informatisée- Une base de données informatisée est un ensemble structuré de données enregistrées sur des supports accessibles par l’ordinateur, représentant des informations du monde réel et pouvant être interrogées et mises à jour par une communauté d’utilisateurs.
Le résultat de la conception d’une base de données informatisée est une description des données.
Par description on entend définir les propriétés d’ensembles d’objets modélisés dans la base de données et non pas d’objets particuliers. Les objets particuliers sont créés par des programmes d’applications ou des langages de manipulation lors des insertions et des mises à jour des données.
Cette description des données est réalisée en utilisant un modèle de données.
Ce dernier est un outil formel utilisé pour comprendre l’organisation logique des données.
La gestion et l’accès à une base de données sont assurés par un ensemble de programmes qui constituent le Système de gestion de base de données (SGBD). Nous y reviendrons dans la section 1.2. Un SGBD est caractérisé par le modèle de description des données qu’il supporte (hiérarchique, réseau, relationnel, objet : cf. section 1.1.2). Les données sont décrites sous la forme de ce modèle, grâce à un Langage de Description des Données (LDD). Cette description est appelée schéma.
Une fois la base de données spécifiée, on peut y insérer des données, les récupérer, les modifier et les détruire. C’est ce qu’on appelle manipuler les données. Les données peuvent être manipulées non seulement par un Langage spécifique de Manipulation des Données (LMD) mais aussi par des langages de programmation classiques.

cf. section 1.1.2 pour une présentation générale de plusieurs modèles de données. Le modèle entités-associations est présenté dans la section 2 et le modèle relationnel dans la section 3.1

[/tab][tab name=’Télécharger le cours complet’]

……..

Cours pdf

Télécharger aussi :

Laisser un commentaire

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

Comments (1)