CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

22
Mickaël Martin-Nevot 25/01/2021 11:15 Cette œuvre de Mickaël Martin Nevot est mise à disposition selon les termes de la licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage à l'Identique 3.0 non transposé . Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage à l'Identique 3.0 non transposé . V1.1.0 CM1-1 : Base de données et SGBDR

Transcript of CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Page 1: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Mickaël Martin-Nevot

25/01/2021 11:15

Cette œuvre de Mickaël Martin Nevot est mise à disposition selon les termes de lalicence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage à l'Identique

3.0 non transposé.

Cette œuvre est mise à disposition selon les termes de lalicence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage à l'Identique

3.0 non transposé.

V1.1.0

CM1-1 : Base de données et SGBDR

Page 2: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

I. Prés.II. BD et SGBDIII. LDDIV. LMDV. LCTVI. DroitsVII. LDSPVIII.SQL avancé

SQL Mickaël Martin-Nevot - Laurent Carmigniac 1/21

Page 3: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Ensemble de données modélisant un univers (domaine) Outil de stockage structuré et de consultation correspondant Système de gestion de base de données (SGBD) :

Logiciel de manipulation et de stockage de BD Administrateur de BD : est responsable (en permanence) du

bon fonctionnement des serveurs de bases de données

Base de données (BD) ?

SQL Mickaël Martin-Nevot - Laurent Carmigniac

Banque de données : collection de bases de données

BdD, BDD : base de donnéesDB : databaseABD : administrateur de base de donnéesDBA : database administrator

SGBD : système de gestion de base de donnéesDBMS : database-management system

2/21

Page 4: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Utilisation de fichiers non informatisés

Tableur (Microsoft Excel)

Autres simples fichiers informatisés

Avant les bases de données

SQL Mickaël Martin-Nevot - Laurent Carmigniac 3/21

Page 5: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Limites des approches traditionnelles : Complexité (exponentielle) Redondance (duplication des données) Coûts importants de développement et de maintenance Manque de flexibilité Manque de sécurité

Concepts fondamentaux (partagés avec une BD) : Organisation des données

sur disque (ou autres stockages) Procédé de récupération des données

Avant les bases de données

SQL Mickaël Martin-Nevot - Laurent Carmigniac 4/21

Page 6: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Stocker de (très) gros volumes de données durablement Protéger les données (avaries, piratage) Simplifier l’accès aux données Diminuer (drastiquement) les temps de recherche Prise en compte de liens (dépendances) entre les données Plusieurs utilisateurs simultanés

Intérêts d’une BD ?

SQL Mickaël Martin-Nevot - Laurent Carmigniac 5/21

Page 7: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Modèles de données : 1960 : modèle hiérarchique 1970 : modèle en réseau 1980 : modèle relationnel

1995 : PostgreSQL 1990 : modèle objet

SQL (norme) : 1986 : SQL-86 1989 : SQL-1 1992 : SQL2 1999 : SQL3

Historique

SQL Mickaël Martin-Nevot - Laurent Carmigniac

CODASYL : organisme à l’origine des BD

SQL (structured query language) :langage de requête structurée, 1974

Inventé par E.F.CODD

6/21

Page 8: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Schéma externe (SE) : Comment l’utilisateur voit les données

Schéma conceptuel (SC) : Structure logique des données

Schéma interne (SI) : Structure physique de stockage des données

Architecture ANSI-SPARC

SQL Mickaël Martin-Nevot - Laurent Carmigniac

SE SE SE

SC

SI

7/21

Page 9: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Architecture d’un SGBD

SQL Mickaël Martin-Nevot - Laurent Carmigniac

Schémas physiques

Schéma conceptuelMonde

réelNiveau

conceptuel

Niveauphysique

Niveauexterne

Groupe utilisateurs 1 Groupe utilisateurs 2

Rendu A Rendu B

Modélisation

SGBD

Ingénieur logiciel SGBD

Administrateur de la BD

Ingénieur système

Voir architecture d’un SGBDR sur le site Web de l’enseignant

8/21

Page 10: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Description des données : redondance minimale Intégrité de la base : cohérence avec la réalité transcrite Indépendance des données : indépendance applicative Sécurité de fonctionnement : journalisation Administration et contrôle : privilèges, optimisation Partage des données : transactions (sérialisées) Souplesse d'accès aux données : langages déclaratifs

Fonctionnalités d’un SGBD

SQL Mickaël Martin-Nevot - Laurent Carmigniac

Un langage déclaratif suit un paradigme produisant des résultats contextuellement indépendants

9/21

Page 11: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Représentation de concepts sémantiquement liés entre eux : Exprimer un besoin Traduire le monde réel (modélisation)

Représentation « graphique » décrivant une base de données : Modèle hiérarchique :

Défauts : redondance, dissymétrie, parcours long Modèle réseaux sémantiques (ou de réseau) :

Défaut : trop faible indépendance des données Modèle objet :

Défaut : importante quantité de ressources nécessaire Modèle entité / association (relationnel)

Schéma conceptuel

SQL Mickaël Martin-Nevot - Laurent Carmigniac

Représentation abstraite d’un système qui facilite l’étude et la compréhension du système et permet de le simuler. Vue subjective, décomposée mais pertinente de la réalité. Représentation d’un système dans un autre monde que celui du système

10/21

Page 12: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Théorie mathématique : algèbre relationnelle (ensembliste) Tables (relations) avec colonnes (champs) et lignes (tuples)

Modèle relationnel

SQL Mickaël Martin-Nevot - Laurent Carmigniac

Intention : structure d’une base de données Extension : données d’une base de données

Attributs

R = ( A1 A2 … An ) Intention

}ExtensionN-uplet ou

tuple D1 D2 … Dn

Domaine (Di) → iR - Instance de R

Ou enregistrements, fichesOu attributs, rubriques

Domaine : ensemble nommé de valeurs non vide que peut prendre un attribut

11/21

Page 13: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Degré : nombre de champs d'une relation Cardinalité : nombre de tuples d'une relation Clef candidate (potentielle) : ensemble des données

permettant d'indexer chaque ligne de manière différenciée

Modèle relationnel

SQL Mickaël Martin-Nevot - Laurent Carmigniac 12/21

Page 14: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Navigation grâce à SQL Associé à la théorie de la normalisation SGBDR : SGBD relationnel

Modèle relationnel

SQL Mickaël Martin-Nevot - Laurent Carmigniac

Departement

numd nomd

1 ISMIN

2 ICM

Projet

nump nomp nume numd

1 Account management 1 1

Travail

nump nume Duree

1 1 3

1 2 3

Employe

nume nome date_nais numd

1 Dupond 1/12/80 1

2 Jacques 21/04/68 1

3 Martin 03/25/52 2

Voir les 12 règles de Codd sur le site Web de l’enseignant

13/21

Page 15: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Clef primaire : Une seule par relation (clef candidate retenue comme primaire) Simple (un seul champ) ou composée (plusieurs champs) Unique et non nulle

Clef étrangère : Clef primaire d’une autre relation de la BD

Clefs

SQL Mickaël Martin-Nevot - Laurent Carmigniac

Departement

numd nomd

1 ISMIN

2 ICM

Employe

nume nome daten numd

1 Dupond 1/12/80 1

2 Jacques 21/04/68 1

3 Martin 03/25/52 2

Obligatoire

14/21

Page 16: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Principaux SGBDR

SQL Mickaël Martin-Nevot - Laurent Carmigniac 15/21

Page 17: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Un SGBDR très utilisé Préinstallé/proposé par beaucoup d’offres d’hébergements Facilité de déploiement et de prise en main Libre et gratuit S’intègre très bien avec Linux, Apache HTTP Server, PHP…

Inconvénients de PostgreSQL : Ne respecte pas complètement la norme SQL Sauvegardes et réplications peu évoluées

Pourquoi PostgreSQL ?

SQL Mickaël Martin-Nevot - Laurent Carmigniac

Apache HTTP Server : Serveur HTTP libre et très répandu

16/21

Page 18: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

L3G (langage de troisième génération) : Procédural, séquentiel (C, Java, PHP) Inversion de commandes avec une API

L4G (Langage de quatrième génération) : SGBDR intégré (Microsoft Access) Générateur d’application

Utilisation d’un SGBDR

SQL Mickaël Martin-Nevot - Laurent Carmigniac

Préserve l’indépendance physique/logique

Rapide et simple d’utilisation pour de petites applications

Application BDAPI

17/21

Page 19: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Client-serveur, architecture 3-tier : Client Serveur d’application Serveur de données (BD)

Utilisation d’un SGBDR

SQL Mickaël Martin-Nevot - Laurent Carmigniac

InternetClient

ServeurRequête HTTP

Page HTML

1

5

Base de données

Échange de donnéesserveur / Base de données

Exécution PHP, Java, etc.

2

3

4

Interprétation HTML/CSS par le navigateur

6

18/21

Page 20: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Maintenance

Utilisation

Implantation

Conception Merise

Langage de définition de

données (LDD)

Langage de manipulation de données (LMD)

Corrective, adaptative, perfective

Cycle de vie d’une BD

SQL Mickaël Martin-Nevot - Laurent Carmigniac 19/21

Page 21: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Conception d’une BD

SQL Mickaël Martin-Nevot - Laurent Carmigniac 20/21

Page 22: CM1-1 : Base de données et SGBDR Mickaël Martin-Nevot

Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Auteur

Mickaël Martin [email protected]

Carte de visite électronique

Cours en ligne sur : www.mickael-martin-nevot.com

Mickaël [email protected]

Carte de visite électronique

Relecteurs

Laurent Carmignac

Crédits

SQL Mickaël Martin-Nevot - Laurent Carmigniac 21/21