La conception d'une base SQL Server
Concevoir une base de données SQL ServerComment 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 professionnelsLe modèle relationnelPourquoi 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 physiqueTraduire 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 baseInsérer des données dans les tables (insert)
L'intérêt des séquences
Attention aux violations de contraintesL'environnement de travail
Les produits SQL*ServerSQL*Server 2005, 2008, 2008R2,2012, Express Edition, ...
Comparaison avec d'autres SGBDR (Oracle, MySQL, Access, ...) Les différentes bases de donnéesSystème
UtilisateursCréation d'une base de donnéesAvec l'outil DBA Management Studio
Avec T-SQLLes applications utiliséesComment se connecter à une base SQL*Server (en local / à distance)
Construire des requêtes SQL depuis un navigateur Obtenir des informations sur la basePhilosophie du « rangement » des informations dans SQL*Server
Quelques questions classiques (clés, contraintes, schéma d'une table, ...)
Changer d'utilisateur ou de baseLe langage Transact SQL
Extraction simple des donnéesForme générale d'une requête (select ? from ? where)
Filtrage de base (where, like, between, ?) Mettre à jour les donnéesLes instructions insert, update, et delete
L'impact des contraintes d'intégrité (cascade)Les vuesPourquoi associer une requête SQL à une vue ?
Différences vue/table ?
Et les contraintes d'intégrité ?Requêtes plus complexesExtraire 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 multiplesLes transactions (sensibilisation)
PrincipesQu'est qu'une transaction ?
Comportement standard
Le rôle de l'utilisateur (commit, rollback)
La problématique des accès concurrentsVerrous et accès concurrentsExemples 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éesLes droits proposés sur les tables
Mise en oeuvre (grant, revoke)
L'utilisation des vues pour masquer certaines donnéesImport/Export de données
Les formats standardsQu'est-ce qu'un fichier au format CSV ?
L'intérêt du XML dans les échanges de donnéesImport/exportGé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)
L'offre Microsoft avec SSIS (intégration),Base de données en entreprise
Base de données et ApplicationsComment une application utilise une base de données ?
Exemple simple de programme (place du SQL)
Comment un progiciel (type SAP) utilise une base SQL Server?Base de données et sites WEBUn petit mot sur le HTML
Comment la page WEB s'affiche ?
Page WEB et base de donnéesLe décisionnelPlus value des outils décisionnels comme BO (Business Object)
L'offre Microsoft avec SSAS (analysis) et SSRS (reporting)
Exemples de rendus et d'utilisationLe métier de DBA (Database Administrator)Sa journée type (sauvegarde, surveillance, etc. )
Ce qu'il fait plus occasionnellement (installation, création de base, sécurité, etc. )
Pourquoi la base peut être « lente » ?