Intégration web & Base de données 1 Intégration Web & Base de DonnéesMariem Farhat Intérêt des bases de données pour le Web Cours préparé par : Mariem.

Slides:



Advertisements
Présentations similaires
Introduction.
Advertisements

Les vues Une vue: c’est une relation virtuelle. Définie par:
Structured Query Language 1/34. SQL Types de données Langage de Définition de Données (LDD) Langage de Manipulation de Données (LDM) Langage de Contrôle.
Les bases de données Séance 8 Jointures.
Séance /10/2004 SGBD - Approches & Principes.
Modélisation et utilisation Aurélien Marion1 Aurélien Marion
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Toulibre : présentation de... par Rémy Sanchez +.
RAPPEL SUR LES BASES DE DONNÉES, LE SQL 1 er trimestre V1.0 06/01/2015.
1- Régles de normalisation 2ème partie : normalisation Modèle Conceptuel des Données 2- Les Formes Normales 3- Dépendances Fonctionnelles 4- Recap - Méthodologie.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
SQL partie 5 1 LMD create – update – primary key secondary key.
1- Introduction Sommaire Modèle Logique des Données 2- Structure 3- Traduction du MCD en MLD 4- Recap - Méthodologie.
SQL : 4 fonctions d'exploitation de SGBD SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage informatique ayant pour.
SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement.
Introduction Bases de Données NoSQL Principe de base Avantages/Inconvénients L’évolution du Web 2.0 et actuellement Web 3.0, a montrée l’insuffisance des.
Les Bases de données Définition Architecture d’un SGBD
L2A Semestre 4 Mehdi Benzine
Systèmes d’Information
Environnement du développement de BD ORACLE REPORTS 10g
Introduction aux Systèmes de Gestion de Bases de données
ملخص Initiation à la sgbdr
Structured Query Language SQL DDL
Intégration du P7 dans l’épreuve E41
Initiation aux bases de données et à la programmation événementielle
Université Stendhal - Grenoble
LE LANGAGE DE REQUETES SQL
Langage de manipulation de données (LMD)
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Structured Query Language
Généralité sur les bases de données
Les bases de données et le modèle relationnel
DARCY Lionel BTS SIO Option SLAM
Langage de Manipulation des Données LMD
Introduction Bases de données Accès Internet (Web)
Langage d’interrogation des Données LID
SQL LID – INTERROGATIN DES DONNEES
Maria Berger - Maîtrise d'AES Algèbre relationnelle.
Introduction BD TABLES ET DONNÉES champs OU données, types de données
SQL LMD FICHE 4.6.
Manipulation D’Une Base De Données
Structure D’une Base De Données Relationnelle
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Langage d’interrogation des Données LID
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
4 Copyright © 2004, Oracle. Tous droits réservés. Afficher des données agrégées à l'aide des fonctions de groupe.
5 Copyright © 2004, Oracle. Tous droits réservés. Afficher des données de plusieurs tables.
6 Copyright © 2004, Oracle. Tous droits réservés. Utiliser des sous-interrogations pour résoudre des interrogations.
7 Copyright © 2004, Oracle. Tous droits réservés. Utiliser les opérateurs ensemblistes.
10 Copyright © 2004, Oracle. Tous droits réservés. Créer d'autres objets de schéma.
Préface Introduction Objectifs du chapitre I-2 Objectifs du cours I-3 Oracle10g I-4 Oracle Database 10g I-6 Oracle Application Server 10g I-7 Oracle Enterprise.
Remarque : Un nombre ou une lettre en gras fait référence à un chapitre entier ou à une annexe entière. A Affichage des dates par défaut 02-06, Ajouter.
Chapitre2: SGBD et Datawarehouse. On pourrait se demander pourquoi ne pas utiliser un SGBD pour réaliser cette structure d'informatique décisionnelle.
© Robert Godin. Tous droits réservés.
1. LE LANGAGE SQL DDL Version 2 - Janvier Le langage SQL-DDL
Info Bases de données avancées
PRESENTATION ACCESS Editeur : Microsoft Environnement Windows (SE)
TP1 - DBMAIN BFSH Lausanne - Switzerland - Tel Université de Lausanne.
Principes de programmation (suite)
© Robert Godin. Tous droits réservés.
SQL Structured Query Language
Langage SQL ENCG-Tanger Le Langage SQL (1) INTRODUCTION
© Robert Godin. Tous droits réservés.
1. LE LANGAGE SQL DDL Version 1 - Mai 2009 corrigé le 11/2/2011
Systèmes d’Information et Application
Qu’est ce qu’une page web? Comment fonctionne un site web?
Transcription de la présentation:

Intégration web & Base de données 1 Intégration Web & Base de DonnéesMariem Farhat Intérêt des bases de données pour le Web Cours préparé par : Mariem Farhat Classe : LFSIM2 2016/2017 Institut Supérieur de l’Informatique et Multimédia

Chronologie et dépendance Développement web 1: HTML- CSS Base de données: SQL Développement Web 2: PHP Intégration web et BD: PHP-SQL 2 Intégration Web & Base de DonnéesMariem Farhat LFSIM 1 LFSIM 2

Chronologie et dépendance: Développement web 1 3 Intégration Web & Base de DonnéesMariem Farhat De beaux Sites web Mais statique

Principe de fonctionnement des sites web statiques 4 Intégration Web & Base de DonnéesMariem Farhat Les clients : ce sont les ordinateurs des internautes comme vous. Votre ordinateur fait donc partie de la catégorie des clients. Chaque client représente un visiteur d'un site web. Les serveurs : ce sont des ordinateurs puissants qui stockent et délivrent des sites web aux internautes, c'est-à-dire aux clients.

Principe de fonctionnement des sites web statiques 5 Intégration Web & Base de DonnéesMariem Farhat navigateur Serveur web 1. Donnes moi la page web XXX.html 2. Lecture du disque 3. Retourne XXX.html 4. Affiche XXX.html

Exemple de site web statique 6 Intégration Web & Base de DonnéesMariem Farhat Site personnelSite d’une association ou d’un club

Limites des pages statiques 7 Intégration Web & Base de DonnéesMariem Farhat Invariables et préparées à l’avance. Le serveur renvoie ces pages à l’utilisateur mais n’effectue aucune action particulière. Le code source de la page affichée par le navigateur sur le poste client est identique au code source de la page web installée sur le serveur.

Limite des pages statiques 8 Intégration Web & Base de DonnéesMariem Farhat 1.il est difficile de faire évoluer les pages –Ajout de nouveaux voyages. –Suppression d’une promotion. 2.manque d’interactivité –Les informations sont les même à chaque consultation pour tous les internautes. 3.les contenus ne sont pas personnalisés à la demande du client –L’internaute ne peut pas chercher un voyage vers une destination particulière pour une date donnée.

Chronologie et dépendance Développement web 1: HTML- CSS Base de données: SQL Développement Web 2: PHP Intégration web et BD: PHP-SQL 9 Intégration Web & Base de DonnéesMariem Farhat LFSIM 1 LFSIM 2

Principe de fonctionnement des sites web dynamiques 10 Intégration Web & Base de DonnéesMariem Farhat La page web est générée à chaque fois qu'un client la réclame. C'est précisément ce qui rend les sites dynamiques vivants : le contenu d'une même page peut changer d'un instant à l'autre.

Principe de fonctionnement des sites web dynamiques 11 Intégration Web & Base de DonnéesMariem Farhat navigateur Serveur web 1. Donnes moi la page web XXX.html 2. Appel à un programme4. Retourne XXX.html 5. Affiche XXX.html Page sur le serveurPage générée par le programme 3. Fabrication de la page HTML

Exemple de site web dynamique 12 Intégration Web & Base de DonnéesMariem Farhat

Les données du web 13 Intégration Web & Base de DonnéesMariem Farhat 1.Données hétérogènes –Exp. Données concernant les voyages, les hôtels, les vols … 2.Données fortement corrélées –Exp. Données des voyages qui sont en relation avec les vols 3.Données évolutives –Exp. Ajout/Modification/Suppression de voyages 4.Un volume important de données  Problème de Gestion des données  Gestion de l’indépendance Physique/Logique  Performance (index?) Besoin des fonctionnalités d’un SGBD

Chronologie et dépendance Développement web 1: HTML- CSS Base de données: SQL Développement Web 2: PHP Intégration web et BD: PHP-SQL 14 Intégration Web & Base de DonnéesMariem Farhat LFSIM 1 LFSIM 2

Apports des SGBD 15 Intégration Web & Base de DonnéesMariem Farhat Gestion de gros volumes d’information Bonnes performances d’accès : index, stockage, gestion du disque Fiabilité des données : cohérence, sûreté de fonctionnement, sûreté d’accès Partage et accès concurrents : transactions Productivité : indépendance physique-logique, réutilisation, outils Evolutivité : évolution du schéma Langage de requêtes et optimisation

Chronologie et dépendance Développement web 1: HTML- CSS Base de données: SQL Développement Web 2: PHP Intégration web et BD: PHP-SQL 16 Intégration Web & Base de DonnéesMariem Farhat LFSIM 1 LFSIM 2 Nous sommes ici!

Principe de fonctionnement des sites web dynamiques avec base de données 17 Intégration Web & Base de DonnéesMariem Farhat navigateur Serveur web 1. Donnes moi la page web XXX.html 2. Appel à un programme6. Retourne XXX.html 7. Affiche XXX.html Page sur le serveur Page générée par le programme 5. Fabrication de la page HTML Serveur base de données 3. Interrogation de la base de données 4. Renvoie de la réponse au serveur web

Couplage BD et WWW 18 Intégration Web & Base de DonnéesMariem Farhat Deux domaines qui se sont développés indépendamment –WWW: page statique  page dynamique –SGBD: bd hiérarchique  bd réseau  bd relationnelle Nombreux points communs : –Grands volumes de données Modélisation Stockage Indexation interrogation Multi-utilisateurs Performances Fiabilité

Répondre au défis: Couplage BD et WWW 19 Intégration Web & Base de DonnéesMariem Farhat Il existe deux mondes : celui des bases de données, où vous parlez SQL, et celui du Web, où vous parlez HTML, PHP. Pour rendre une base de données accessible sur le Web, vous devez établir un pont entre ces deux langages.

Objectifs du cours 20 Intégration Web & Base de DonnéesMariem Farhat Apprendre à intérroger une base de données à partir d’une page PHP via deux bibliothèques: –Mysqli –PDO Apprendre à presenter le résultat d’une requête dans une page HTML

Intégration web & Base de données 21 Intégration Web & Base de DonnéesMariem Farhat Rappel SQL Cours préparé par : Mariem Farhat Classe : LFSIM2 2014/2015 Institut Supérieur de l’Informatique et Multimédia

LES BASES DE DONNEES RELATIONNELLES 22 Intégration Web & Base de DonnéesMariem Farhat Une base de données relationnelles est composée de relations qui peuvent se présenter sous forme de tables. Une relation est composée d’un ensemble d’attributs qui représentent les colonnes de la table. Les lignes de la tables sont des instances de la relation où chaque attribut peut prendre une valeur.

LES BASES DE DONNEES RELATIONNELLES 23 Intégration Web & Base de DonnéesMariem Farhat Exemple: base de données des étudiants –Etudiant(idE, nomE, AgeE, idC) –Classe(idC, NomC, nbE) –Enseignant(NumEns, NomEns, Specialite) –Classe_Enseignant(NumEns, NumC) Représentation de la table Etudiant idEnomEAgeEidC 1Imen Ahmed192 2Ilyes Aloui204 3Dorra Adouni191 Attribut = colonne Ligne = instance

LES BASES DE DONNEES RELATIONNELLES 24 Intégration Web & Base de DonnéesMariem Farhat Les contraintes: Clé primaire: –Afin de pouvoir différentier les lignes d’une table, on définit une clé primaire qui permet de désigner une et une seule instance de la relation. –La clé primaire peut être simple (i.e. un seul attribute; exp. idE) ou composée (plusieurs attributs; exp. Nom+Prénom) –Les valeurs de la clé primaire doivent être distinctes (différentes les unes des autres; unique) et toujours non nul (autrement dit, elle doit toujours avoir une valeur). –Une clé primaire est toujours soulignée dans le schéma de la relation (c’est une convention). –Une table ne peut avoir qu’une seule clé primaire (simple ou composée), Exp. Etudiant(idE, nomE, AgeE, NumC)

LES BASES DE DONNEES RELATIONNELLES 25 Intégration Web & Base de DonnéesMariem Farhat Les contraintes: Clé étrangère: –Afin de relier les tables, on définit une clé étrangère. –Une clé étrangère est un attribut (un seul) dans une table B qui fait référence à une clé primaire (nécessairement) dans une autre table A. –Autrement dit, chaque valeur de la clé étrangère dans la table B faire référence à une et une seule ligne dans la table A. –Une clé étrangère est précédée par # dans le schéma de la relation. Exemple. Etudiant(idE, nomE, AgeE, #idC) –Une table peut ne pas avoir une clé étrangère.

LES BASES DE DONNEES RELATIONNELLES 26 Intégration Web & Base de DonnéesMariem Farhat –Etudiant(idE, nomE, AgeE, #idC) –Classe(idC, NomC, nbE) idEnomEAgeEidC 1Imen Ahmed 192 2Ilyes Aloui 204 3Dorra Adouni 191 idCnomCNbE 1LFSIM1A60 2LFSIM1B50 3LFSIM2A50 4LFSIM2B55 5LFSIM3A45

LES BASES DE DONNEES RELATIONNELLES 27 Intégration Web & Base de DonnéesMariem Farhat Les contraintes: –Unicité: Afin de forcer l’unicité d’un attribut, on peut définir la contrainte unique. Exp. L’attribut age dans la relation Etudiant doit être unique. –Domaine de valeur: Afin de limiter les valeurs d’un attribut à un domaine bien précis, on peut définir la contrainte check, Exp. L’attribut nbE dans la relation Classe doit être toujours compris entre 30 et 70.

SQL 28 Intégration Web & Base de DonnéesMariem Farhat SQL. signifie Structured Query Language: En français langage de requête structuré (e) Le langage SQL est utilisé par les principaux SGBDR : Oracle, MySQL, SQLServer, … SQL est à la fois: –Un langage d’interrogation des données (LID) – SELECT –Un langage de définition de données (LDD) - CREATE, ALTER, DROP –Un langage de manipulation de données (LMD) - UPDATE, INSERT, DELETE –Un langage de contrôle des accès aux données(LCD) - GRANT, REVOKE

Interrogation des données 29 Intégration Web & Base de DonnéesMariem Farhat Dans le cadre de ce rappel, nous nous limitons aux requêtes SQL qui permettent l’interrogation de la base de données. Nous supposons ainsi que les tables sont crées et remplies. SELECT [ { DISTINCT | DISTINCTROW } | ALL ] listeColonnes FROM nomTable1 [,nomTable2]... [ WHERE condition ] [ clauseRegroupement ] [ HAVING condition ] [ clauseOrdonnancement ] [ LIMIT [rangDépart,] nbLignes ] ;

Interrogation des données 30 Intégration Web & Base de DonnéesMariem Farhat Extraction de toutes les colonnes Extraction de certaines colonnes

Interrogation des données 31 Intégration Web & Base de DonnéesMariem Farhat Il est possible d’évaluer et d’afficher simultanément des expressions dans la clause SELECT (types numériques, DATE et DATETIME). Les opérateurs arithmétiques sont évalués par ordre de priorité (*, /, + et -).

Interrogation des données Ordonnancement 32 Intégration Web & Base de DonnéesMariem Farhat Pour trier le résultat d’une requête, il faut spécifier la clause d’ordonnancement par ORDER BY de la manière suivante : expression : nom de colonne, fonction SQL, constante, calcul. position : entier qui désigne l’expression (au lieu de la nommer) dans son ordre d’apparition dans la clause SELECT. ASC ou DESC : tri ascendant ou descendant (par défaut ASC). ORDER BY { expression1 | position1 | alias1 } [ASC | DESC] [,{expr2 | position2 | alias2} [ASC | DESC]

Interrogation des données Ordonnancement 33 Intégration Web & Base de DonnéesMariem Farhat

Interrogation des données Restriction (WHERE) 34 Intégration Web & Base de DonnéesMariem Farhat Les éléments de la clause WHERE d’une requête permettent de programmer l’opérateur de restriction. condition composée de colonnes, d’expressions, de constantes liées deux à deux entre des opérateurs : – de comparaison (>, =, =, ) ; – logiques (NOT, AND ou OR) ; – intégrés (BETWEEN, IN, LIKE, IS NULL). SELECT [ { DISTINCT | DISTINCTROW } | ALL ] listeColonnes FROM nomTable [aliasTable] ;

Interrogation des données Ordonnancement 35 Intégration Web & Base de DonnéesMariem Farhat Exemples: – Avec opérateurs logiques o L’ordre de priorité des opérateurs logiques est NOT, AND et OR. o Les opérateurs de comparaison (>, =, =, ) sont prioritaires par rapport à NOT. o Les parenthèses permettent de modifier ces règles de priorité.