Formation Initiation aux bases de données et au SQL pour les professionnels non informaticiens
4 JoursDescription de la formation initiation aux bases de données
Le nombre impressionnant de base de données utilisées par toute sorte d’applications et de sites WEB dans des domaines extrêmement variés entretient l’illusion que «toutes les données sont disponibles sur tout». Mais d’où viennent-elles à l’origine et comment les croisements d’information sont possibles pour pouvoir d’un simple clic afficher le prix d’un article ou encore les places libres pour un événement à telle date dans telle ville ? Les bases de données se conçoivent et se remplissent avec des limites posées par leurs concepteurs. Cette formation initiation aux bases de données va vous permettre de comprendre ce qu’est véritablement une base de données et en quoi elle se différencie d’un « simple fichier Excel amélioré ». De nombreux exemples pris dans les environnements d’entreprise (Oracle, SQL Server, MySQL, etc. ) vous permettront de faire le tour des concepts fondamentaux des bases de données. Vous comprendrez la place des SGBDR (système de gestion de bases de données) dans l’entreprise et deviendrez un interlocuteur généraliste capable de discuter avec tous les profils (MOA, MOE, développeurs, DBA, utilisateurs, …) tout en étant opérationnel sur l’incontournable langage SQL.
Objectifs
Objectifs pédagogiques :
- Concevoir une base de données (modèle relationnel, MCD)
- Créer une base (tables, contraintes d’intégrités)
- Remplir une base de données (chargement depuis un fichier texte ou ordres SQL)
- Écrire des requêtes SQL pour extraire les données de la base (select)
- Comprendre le concept de transaction et des verrous (accès concurrent)
- Comprendre comment les données sont sécurisées (droits)
- Comprendre les formats de données et leurs places dans l’import/export de données (CSV, XML, …) à la croisée des échanges entre les applications
- Comprendre la place de la base de données dans les architectures d’entreprise (site WEB, décisionnel, applications internes, etc. )
À qui s’adresse cette formation ?
Public :
Cette formation initiation aux bases de données s’adresse à toute personne participant à un projet autour d’une base de données (utilisateur, responsable informatique, concepteur, développeur, chef de projet, administrateur, etc.).
Prérequis :
Aucun
Contenu du cours initiation aux bases de données
La conception d’une base de données
Concevoir une base de données
Comment concevoir l’organisation des données ?
Besoin d’un formalisme pour les représenter (Modèle Conceptuel des Données)
Vocabulaire (entité, association, cardinalités)
L’impact des choix du concepteur
Exemples de modèles faux ou mal conçus
Exemples de modèles rencontrés dans des projets professionnels
Le modèle relationnel
Pourquoi parle-t-on de base de données « relationnelle » (dépendances) ?
Se rapprocher du schéma de la base (MLD : modèle logique des données)
Le modèle physique
Traduire un modèle logique en base (création de tables)
Qu’entend-on par contraintes d’intégrités (primary key, foreign key, not null,…)?
Pourquoi doit-on typer les données (integer, varchar, date, etc. ) ?
Remplir une base
Insérer des données dans les tables (insert)
L’intérêt des séquences
Attention aux violations de contraintes
L’environnement de travail
Différents produits selon les acteurs
Nécessité d’un environnement spécifique pour dialoguer avec la base
L’exemple de Oracle Developper
DBA
Management Studio pour SQL Server
PHPMyAdmin pour MySQL
Autres outils selon le SGBD
Le langage SQL
Extraction simple des données
Forme générale d’une requête (select ? from ? where)
Filtrage de base (where, like, between, ?)
Mettre à jour les données
Les instructions insert, update, et delete
L’impact des contraintes d’intégrité (cascade)
Les vues
Pourquoi associer une requête SQL à une vue ?
Différences vue/table ?
Et les contraintes d’intégrité ?
Requêtes plus complexes
Extraire les données de plusieurs tables (jointure)
Trier les résultats (order by)
Opérations ensemblistes (union, minus, intersect)
Regroupement des donnés (group by)
Les fonctions d’agrégats (somme, moyenne, etc. )
Jointures multiples
Les transactions (sensibilisation)
Principes
Qu’est qu’une transaction ?
Comportement standard
Le rôle de l’utilisateur (commit, rollback)
La problématique des accès concurrents
Verrous et accès concurrents
Exemples de blocages
Comment ne pas bloquer les autres (commit, type de transaction?) ?
La sécurité des données
Utilisateurs
Qu’est-ce qu’un compte utilisateur ?
Exemple de création de compte
Paramétrage de base d’un compte utilisateur (profil, droits)
Protéger les données
Les droits proposés sur les tables
Mise en oeuvre (grant, revoke)
L’utilisation des vues pour masquer certaines données
Import/Export de données
Les formats standards
Qu’est-ce qu’un fichier au format CSV ?
L’intérêt du XML dans les échanges de données
Import/export
Génération de fichiers CSV et XML
Importation de données depuis un fichier texte (CSV, XMl, …)
Retrouver ses données EXCEL dans la base (et vice versa)
Base de données en entreprise
Base de données et Applications
Comment une application utilise une base de données ?
Exemple simple de programme (place du SQL)
Comment un progiciel (type SAP) utilise une base ?
Base de données et sites WEB
Un petit mot sur le HTML
Comment la page WEB s’affiche ?
Page WEB et base de données
Le décisionnel
Plus value des outils décisionnels comme BO (Business Object)
Exemples de rendus et d’utilisation
Le métier de DBA (Database Administrator)
Sa journée type (sauvegarde, surveillance, etc. ), Les tâches complexes, les tâches simples
Ce qu’il fait plus occasionnellement (installation, création de base, sécurité, etc. )
Pourquoi la base peut être « lente » ?
Travaux Pratiques
Les TP sont réalisés dans l’environnement de votre choix (Oracle, SQL Server, MySQL, PostgreSQL, …). Chaque participant va construire de façon progressive son environnement en partant de zéro. A partir d’un modèle conceptuel de données réalisé en TP les participants prennent conscience de l’origine des données dans la base et des liens qui les unissent. Ensuite on passe à la création des tables qui seront utilisées tout au long du stage pour les manipulations SQL (extraction de données) ainsi que pour la sécurisation des données et les accès concurrents. Les données de la base sont exportées dans des formats facilement récupérables pour une « belle » présentation (Excel par exemple). Enfin on présente un mini site WEB qui va utiliser les données de notre base.