BD&W CM1 1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 43

1

Bases de données et Programmation Web

Amina Bouraoui

[email protected]
Institut Supérieur des Technologies
Médicales

GBM Licence 2e année -


2021/2022

BDW : BD & Prog. Web (AB) (C) 2021


2

BD&W ça parle de ...

 Données
 Comment gérer (stocker/interroger) des données?

 Web
 Comment développer des pages web, en particulier avec
des données qui évoluent/sont mises à jour ?

 et encore un peu de Réseau (vu dans une autre UE)


 Comment se gère la communication via un réseau ?

BDW : BD & Prog. Web (AB) (C) 2021


3

Enseignements de BD&W

[BD & Web] Introduction


Introduction et motivation
Le modèle relationnel
[BD]La syntaxe SQL
SQL : de la projection à la jointure SQL : sous-requêtes et
regroupements
Commandes SQL
[BD]Conception de base de données
Schéma Entité/ Association
Du modèle conceptuel au modèle relationnel
[Web] Programmation Web
Le langage HTML/CS S
Le langage P H P
Interrogation d’une BD via PHP
BDW : BD & Prog. Web (AB) (C) 2021
4

Partie 1 : Introduction &


motivations
1. A propos des données
De la donnée à la Base de Données
Système de Gestion de Bases de Données

2. A propos du Web
De la page Web statique à la page Web dynamique
Accès à un SGBD via une page Web dynamique

3. Conclusion

BDW : BD & Prog. Web (AB) (C) 2021


5
Qu’est-ce qu’une donnée ?

Une donnée est un élément du monde qui se distingue des autres.


Une donnée peut être :
Des objets ou des personnes avec potentiellement des
caractéristiques :
Un ’enseignant’ caractérisé par son prénom (Amina), sa taille
(1m66) ...
Un ’cours’ caractérisé par son intitulé (Base de Données et
Web), son coefficient (2)...
Une ’événement’ caractérisé par un libellé (Premier cours
magistral), une date (27/09/2021)...
Une ’voiture’, un ’compte bancaire’, une ’vente’ ...
Mais aussi les liens ou les relations entre ces objets :
L’enseignant ’Amina’ délivre le cours ’Base de données et Web’ à
partir de l’événement en date du ‘27/09/2021’
BDW : BD & Prog. Web (AB) (C) 2021
6

Exemples de collections de données

Une banque qui gère un ensemble de données sur ses clients,


sur ses comptes bancaires, sur ses employés...
Un concessionnaire qui gère un ensemble de données sur ses
clients, les voitures qu’il a en stock, les ventes effectuées...
Une université qui gère un ensemble de données sur ses
enseignants, ses chercheurs, son personnel administratif, ses
étudiants, ses formations...
Une bibliothèque qui gère un ensemble de données sur les
ouvrages dont elle dispose, les adhérents qu’elle compte et les
prêts effectués...

Comment gérer ces collections de données ?


BDW : BD & Prog. Web (AB) (C) 2021
7

Qu’est-ce que de la gestion de données ?

Organiser les données


Comment je m’organise pour gérer des livres, des emprunts et
des personnes ensemble ?
Exploiter les données
Comment répondre à la question : Quels livres ont été
empruntés par ' Foulene’ depuis le 1 janvier 2020?
Partager les données
Comment permettre aux différents personnels de la
bibliothèque d’accéder aux notices bibliographiques ou aux
emprunts ?

Organiser + Exploiter + Partager = Gérer


BDW : BD & Prog. Web (AB) (C) 2021
8

Évolution du stockage des données

BDW : BD & Prog. Web (AB) (C) 2021


9
Pourquoi ne pas se contenter de fichiers informatiques ?

Quand on utilise des fichiers pour gérer un ensemble de données :

Chaque application définit et gère ses fichiers

Un fichier est une suite d’enregistrements contenant des


données logiquement liées
bibliothèques dans les différents langages de programmation
pour simplifier la lecture et l’écriture dans ces fichiers

Nécessite une intégration étroite entre le programme et les


fichiers
la manipulation des fichiers est directement intégrée dans le
programme
BDW : BD & Prog. Web (AB) (C) 2021
10
Gestion de données par fichiers informatiques

Inconvénients/risques des fichiers informatiques :

Redondance (coût de stockage et d’accès)


les coordonnées d’un client seront stockées dans plusieurs
fichiers

Incohérence (souvent liée à la redondance)


lors d’un changement d’adresse d’un client, il faut vérifier que
cette adresse est mise à jour dans tous les fichiers où elle
apparaît (encore faut-il savoir où ?)

Difficulté d’accès (les utilisateurs ne peuvent pas faire des


requêtes non prévues dans les programmes)
BDW : BD & Prog. Web (AB) (C) 2021
11
Gestion de données par fichiers informatiques (2)

Inconvénients/risques des fichiers informatiques :

Anomalies dues à la concurrence


deux programmes lisent le même solde d’un compte et
ajoutent chacun une somme à ce compte, seul le dernier ajout
sera pris en compte

Manque de sécurité, tout le monde ne doit pas pouvoir voir


ou modifier les mêmes données
un employé ne peut voir que son salaire, pas celui des autres

Gestion de l’intégrité (les données obéissent à des


contraintes que chaque programme doit vérifier avant de
modifier)
un compte ne peut avoir un solde inférieur à −50 dt
BDW : BD & Prog. Web (AB) (C) 2021
12

Constat sur la gestion de données

Trop d’inconvénients/risques liés à la gestion de données par


fichiers informatiques

⇒ Approche par fichier inefficace !

BDW : BD & Prog. Web (AB) (C) 2021


13

Quel est le besoin ?

Disposer d’une collection de données, appelée Base de Données,


vérifiant les propriétés suivantes :
une donnée est enregistrée (sur un support adressable),
la structure d’une donnée ne dépend pas de l’application qui
l’interroge
la valeur d’une donnée est cohérente (pas de valeurs
différentes pour une même donnée selon l’enregistrement)
les données ont une redondance minimale (la multiplication
des enregistrements d’une donnée est limitée)
une donnée est accessible de manière concurrente par plusieurs
utilisateurs
BDW : BD & Prog. Web (AB) (C) 2021
14

Plan

1. A propos des données


De la donnée à la Base de Données
Système de Gestion de Bases de Données

2. A propos du Web
De la page Web statique à la page Web dynamique
Accès à un SGBD via une page Web dynamique

3. Conclusion

BDW : BD & Prog. Web (AB) (C) 2021


15

Comment gérer une Base de Données ?

En utilisant un Système de Gestion de Base de Données!

Un Système de Gestion de Bases de Données est une


application qui permet de définir et manipuler des bases de
données.

Acronyme :
SGBD
en anglais DBMS pour DataBase Management System

BDW : BD & Prog. Web (AB) (C) 2021


16

Quels sont les objectifs d’un SGBD ?

Un SGBD a pour objectif :


d’offrir différents niveaux d’abstraction
d’assurer l’indépendance physique des données
d’assurer l’indépendance logique des données
de contrôler la redondance des données
de permettre à tout type d’utilisateur de manipuler des
données
d’assurer l’intégrité des données
d’assurer le partage des données
d’assurer la sécurité des données
d’optimiser l’accès aux données
BDW : BD & Prog. Web (AB) (C) 2021
17

Dans un SGBD... quel niveau d’abstraction et pour qui ?

Structuration d’un SGBD en trois niveaux d’abstraction pour trois


profils d’utilisateur :
Niveau vue/externe → profil utilisateur
Permet la présentation partielle des données
Niveau multiple pour une B D selon les besoins des utilisateurs
Niveau conceptuel/logique → profil concepteur
Permet la description des données
Niveau unique pour une B D
Niveau physique/interne → profil administrateur
Permet de gérer le stockage et l’accès aux données
Niveau unique pour une B D

BDW : BD & Prog. Web (AB) (C) 2021


18
Dans un SGBD... quel niveau d’abstraction et pour qui ?

BDW : BD & Prog. Web (AB) (C) 2021


19

Quels sont les objectifs d’un SGBD ?

Un SGBD a pour objectif :


d’offrir différents niveaux d’abstraction
d’assurer l’indépendance physique des données
d’assurer l’indépendance logique des données
de contrôler la redondance des données
de permettre à tout type d’utilisateur de manipuler des
données
d’assurer l’intégrité des données
d’assurer le partage des données
d’assurer la sécurité des données
d’optimiser l’accès aux données
BDW : BD & Prog. Web (AB) (C) 2021
20

Dans un SGBD... quels indépendances ?

L’indépendance physique des données


Permet à l’utilisateur du niveau conceptuel d’ignorer la
structure du niveau physique.
Par exemple changer ou modifier une structure physique sans
mettre en cause les entités et associations définies au niveau
conceptuel.
L’indépendance logique des données
Permet à l’utilisateur du niveau vue d’ignorer la structure du niveau
conceptuel.
La possibilité de modifier un schéma externe sans modifier le schéma
conceptuel. Elle assure aussi l'indépendance entre les différents
utilisateurs, chacun percevant une partie de la base via son schéma
externe, selon un modèle particulier.

BDW : BD & Prog. Web (AB) (C) 2021


21

Quels sont les objectifs d’un SGBD ?

Un SGBD a pour objectif :


d’offrir différents niveaux d’abstraction
d’assurer l’indépendance physique des données
d’assurer l’indépendance logique des données
de contrôler la redondance des données
de permettre à tout type d’utilisateur de manipuler des données
d’assurer l’intégrité des données
d’assurer le partage des données
d’assurer la sécurité des données
d’optimiser l’accès aux données

BDW : BD & Prog. Web (AB) (C) 2021


22

Quelles fonctionnalités pour un SGBD ?


Un SGBD permet :
de définir la Base de Données
Objectif :
Construire le schéma de la base de données
Outil :
Langage de Description de Données (LDD)

Langage de Description de Données


Permet de spécifier :
l’organisation/la structuration des données
les types de données
les contraintes d’intégrité (cohérence) sur les données

BDW : BD & Prog. Web (AB) (C) 2021


23
Quelles fonctionnalités pour un SGBD ?

Un SGBD permet :
de manipuler les données dans la BD
Objectif :
Rechercher, créer, modifier et supprimer des données
Outil :
Langage de Manipulation de Données (LMD)

Langage de Manipulation des Données


Permet de spécifier :
ce que l’on veut faire ou obtenir plutôt que comment le faire
ou l’obtenir
Garantit l’indépendance entre les données et les applications

BDW : BD & Prog. Web (AB) (C) 2021


24
Quelles fonctionnalités pour un SGBD ?

Un SGBD permet :
de garantir l’intégrité des données
Définition de contraintes d’intégrité spécifiées dans le schéma
de la base
Possibilité de programmer des contraintes d’intégrités
complexes
de gérer les défaillances (panne)
Restauration de la B D dans un état cohérent et récent
de gérer la concurrence
Possibilité d’accès multiple tout en garantissant la cohérence
du résultat
de gérer un modèle transactionnel
Validation ou annulation d’une suite d’opérations liées
de gérer la sécurité et la confidentialité des données
BDW : BD & Prog. Web (AB) (C) 2021
25

Mais comment accède-t-on à un SGBD ?

Interactions avec le SGBD :


Interpréteur de commandes
Interface graphique
Dans un langage de programmation
C, C + + , Java, Python, P H P, ...
via des bibliothèques adéquates pour envoyer les requêtes vers
le SGBD.

BDW : BD & Prog. Web (AB) (C) 2021


26

Bilan

La gestion de Bases de données nécessite des outils permettant


de garantir certaines propriétés sur les données que l’on définit et
que l’on manipule.

Une approche par simple fichier informatique est insatisfaisant car


avec trop de limitations.

L’utilisation d’un SGBD a pour objectif de garantir ces propriétés


via ses différentes fonctionnalités

BDW : BD & Prog. Web (AB) (C) 2021


27

Premier objectif de BD&W

Initiation à la gestion des Bases de Données


Vous allez acquérir des compétences théoriques et pratiques pour :

• Concevoir une base de données (modélisation)

• Manipuler des données d’une base (langages SQL, AR)

• Comprendre ce qui se passe/ce qu’il est nécessaire de faire


quand on interroge une base de données (exécution de requête
et optimisation)
Concrètement, vous manipulerez une base de données pour définir
et manipuler des données.
Technologies utilisées :
BDW : BD & Prog. Web (AB) (C) 2021
28

Partie 1 : Introduction &


motivations
1. A propos des données
De la donnée à la Base de Données
Système de Gestion de Bases de Données

2. A propos du Web
De la page Web statique à la page Web dynamique
Accès à un SGBD via une page Web dynamique

3. Conclusion

BDW : BD & Prog. Web (AB) (C) 2021


29
Mais…

Pourquoi une UE où l’on mélange Bases de Données et WEB ?

Parce que sans réseau ni web, notre BD resterait "notre BD", ie


celle qui est sur notre ordinateur !

BDW : BD & Prog. Web (AB) (C) 2021


30

Mais…

Pourquoi une UE où l’on mélange Bases de Données et WEB ?

Parce que le besoin est de pouvoir accéder à des données distantes !

BDW : BD & Prog. Web (AB) (C) 2021


31

Mais…
Pourquoi une UE où l’on mélange Bases de Données et WEB ?

Parce que nous pouvons être ’plusieurs’ à vouloir accéder à des


données distantes !

BDW : BD & Prog. Web (AB) (C) 2021


32

Quand on parle de Web...

On parle :
d’accès à l’information
de navigation à travers des liens hypertextes

On s’intéresse à :
tout ce qui peut être traité dans un navigateur Web
tout ce qui peut être transféré par le protocole HTTP

L’information se présente sous forme de page avec un contenu !

BDW : BD & Prog. Web (AB) (C) 2021


33
Qu’est-ce qu’une page Web statique ?

C’est une page :


• publiée sur un serveur Web
• dont le contenu est
• structuré en fonction de balises HTML
• écrit dans un fichier .html (ou .xhtml)
• dont le format est défini selon des instructions CSS

Une page Web statique est... statique!


Quelque soit l’utilisateur qui accède à la page, ou l’heure à laquelle se fait l’accès,
c’est toujours le même contenu.

BDW : BD & Prog. Web (AB) (C) 2021


3
4

Exemple HTML

BDW : BD & Prog. Web (AB) (C) 2021


3
5

Exemple HTML (2)

BDW : BD & Prog. Web (AB) (C) 2021


36

Comment accéder à une page Web statique ?

BDW : BD & Prog. Web (AB) (C) 2021


37
Qu’est-ce qu’une page Web dynamique ?

C’est une page :


• publiée sur un serveur Web
• dont le contenu est
• structuré en fonction de balise HTML
• généré par un programme dans un fichier .php (ou .jsp...)
• dont le format est défini selon des instructions CSS

Une page Web dynamique adapte son contenu en fonction de


paramètres !

Toute modification de contenu est gérée dynamiquement par le


programme.
BDW : BD & Prog. Web (AB) (C) 2021
38

Comment accéder à une page Web dynamique ?

BDW : BD & Prog. Web (AB) (C) 2021


39

Constat sur la génération de pages Web dynamiques

Si le programme qui génère le contenu de la page Web peut se


connecter et interroger un SGBD
Alors il devient possible d’afficher/manipuler les données du SGBD
via une page Web dynamique.

BDW : BD & Prog. Web (AB) (C) 2021


40

Comment accéder à une base de données via le Web ?

BDW : BD & Prog. Web (AB) (C) 2021


41
Deuxième objectif de BD&W

Initiation à la programmation Web

Vous allez acquérir des compétences théoriques et pratiques pour


• Créer des pages statiques et surtout dynamiques accessibles
dans un navigateur Web
• Manipuler des données d’une base via des librairies
Concrètement, vous allez construire un contenu Web à partir de
données stockées dans un SGBD.
Technologies utilisées :

BDW : BD & Prog. Web (AB) (C) 2021


42

Partie 1 : Introduction &


motivations
1. A propos des données
De la donnée à la Base de Données
Système de Gestion de Bases de Données

2. A propos du Web
De la page Web statique à la page Web dynamique
Accès à un SGBD via une page Web dynamique

3. Conclusion

BDW : BD & Prog. Web (AB) (C) 2021


43

Finalement, BD&W ça parle de ...

Données et de Web
Comment concevoir une base de données dans un SGBD
Comment manipuler/interroger les données dans un SGBD
Comment publier les données d’un SGBD sur le Web

BDW : BD & Prog. Web (AB) (C) 2021

Vous aimerez peut-être aussi