Base de données 2
Analyse relationnelle
Plan
- Système de gestion d'une base de données
- Conception d'une base de données relationnelle
- Introduction à MySQL Workbench
Système de gestion d'une base de données
Le Système de Gestion d'une Base de Données est un logiciel qui intégre un langage permettant de :
- DDL
Définir la structure des données(tables, vues) et le format des enregistrements(colonnes, index)
- Assure l'intégrité des données(attributs, contraintes, relations, déclencheurs, transactions)
- DML
Manipuler les données(select, insert, update, delete)
- DCL
Contrôler les accès via un mécanisme d'usagers et permissions
NoSQL?
Engin de stockage non-relationnel, qui s'éloigne plus ou moins de la structure ligne/colonne.
- On peut voir SQL comme du stockage généraliste et les différents mécanismes NoSQL pour des applications spécifiques
- Flexibilité au niveau de la structure des données
- Performance
- Architecture distribuée
ℹ️ Microsoft - Non-relational data and NoSQL
Conception d'une base de données relationnelle
À partir d'une description du domaine: analyser et concevoir une base de données
- Schéma
- Règles d'intégrités
🤔 Intégrité structurelle vs logicielle?
Schéma
- Tables
- Colonnes
- Type de données, Nullable
- Auto-incrément, Valeur par défaut
- Générée
- Index, Unique, Fulltext Search
- Validations
- Relations, multiplicités
- Déclencheurs
- Vues
Normalisation
Organisation minutieuse de la structure et des relations d'une base de données pour favoriser l'intégrité et réduire la répétition.
ℹ️ Normalisation
🤔 Dénormalisation?
- Favorise l'accès en lecture au détriment de l'écriture et du stockage
- Ex: Nombres d'items
Règles d'intégrité
S'assurer que l'information stockée dans la base de données représente un état valide et cohérent.
- Type de données
- AI, Nullable, DEFAULT, GENERATED
- PK
- FK, Action référentielle
- Unique
- CHECK
- Déclencheurs
- Transactions