Aucun titre de diapositive - Gestion Editoriale et Communication

publicité
Séance 2 – Communication des
organisations – Octobre 2006
SGBD - Approches & Principes
Les limites du HTML
• Contenu et contenant sont mêlés
– fond et forme sur le même document
• Peu d’interactivité native
– besoin de javascript, CSS, DHTML,…
• Pages HTML statiques
– mises à jour fastidieuses qui nécessitent de réécrire le code
– client FTP
• Nécessite un navigateur Internet sur un ordinateur
– quid de la mobilité : PDA, GSM, palm...
1ère solution : JAVASCRIPT
• A ne pas confondre avec JAVA
• Netscape et SUN (1995)
• Intégration du code Javascript dans le code HTML
• Le Javascript est exécuté par le navigateur :
– langage interprété (<> compilé)
• Plusieurs versions (1.0 à 1.3)
• Illustration…intégration d’un code dans du HTML (plus tard)
2ème solution : les sites dynamiques ou interactifs
Architecture 3 Tiers : Client - Serveur WEB - Serveur d’Application - SGBD
Strate client
Strate application
BD
Utilisateur

CLIENT
Strate données
INTERNET
Serveur
WEB
Serveur / service
d’application
SGBD
Principes des sites dynamiques
• Le serveur WEB (http) envoie les pages générées au format
HTML et réceptionne les requêtes du client
• Le serveur d’application est un logiciel qui traite les pages qui
contiennent des scripts ou des balises coté serveur et assure la
relation avec la SGBD.
• Les données sont stockées dans une BD
Avantages des sites dynamiques
• Interactivité accrue avec l’internaute
• Partage de l’information et traitement de l’information
• Personnalisation de l’interface selon le profil de l’internaute
• Fond et forme séparés
• Mises à jour plus aisées
Les technologies « serveur »
• Les langages de scripts : PHP, ASP, JSP, Coldfusion (CFM), PERL
(Scripts CGI),...
• Les frameworks applicatifs : J2EE (Java), .NET
• Serveurs WEB (HTTP)
–
–
–
–
APACHE
IIS (Internet Information Serveur) de Microsoft
Domino (Lotus IBM),
OS X, Sun, etc.
Les technologies « serveur »
• Scripts CGI (Common Gateway Interface) en Perl ou C
• ASP/IIS et .NET : Microsoft
• Le monde JAVA / SUN (dérivé du C++)
–
–
–
–
–
serveur d’application
Machine Virtuelle Java sur le poste client
Framework J2EE : Sun, Tomcat, Jboss, IBM Websphere, BEA,...
Applets Java (côté client)
Servlets (coté serveur)
• ColdFusion .CFM (Allaire racheté par Macromedia)
Les technologies « serveur » : PHP
•
•
•
•
•
•
•
Pesonnal Home Page - Hypertexte Preprocessor
1994 par Rasmus Lerdorf
Issu du monde Libre et Open Source
Moteur ZEND Engine 2.0 (applicatif)
PHP 5 depuis août 2004
Une véritable alternative professionnelle
On y reviendra...
LAMP : puissance & simplicité adaptées pour le web
• LAMP : Open Source leader sur le WEB
–
–
–
–
Linux
APACHE (Serveur HTTP) => près de 70 % des serveurs WEB (2004)
MySQL (SGBD)
PHP
• PHP (01 Informatique Novembre 2003) :
– près de 40 % des sites web dynamique en France
– 55 % des grandes entreprises FR
– 78 % des entreprises FR du CAC 40 utilisent cette technologie
Rappel sur le Système d’information :
SGBD :
–
–
–
–
–
centralisation et fiabilisation des données
partage de l’information
simplification de la gestion de l’information
sauvegarde
intégration du et au Système d’Information
SGBD ? Définition...
• Système de Gestion de Bases de Données
• Logiciel ou application pour créer et manipuler les Bases
de Données
• A ne pas confondre SGBD avec « Bases de Données »
Les éditeurs de SGBD
• Oracle - 10i (à partir de 125 € par users)
• IBM - DB2
• Microsoft - SQL Serveur 2000 / Yukon SQL Serveur 2005
(De 1 560 € à 21 000 € selon version)
• Sybase - Adaptative Serveur Entreprise
• Informix (éditeur racheté par IBM en 2001)
• MySQL (Open Source)
• PostgreSQL (Open Source)
• Les autres (locales) : MS Access, Filemaker Pro, etc.
Les principes des Bases de données
• Base de donnés (BD) = base de stockage sous forme de tables
• TABLE = ensemble des données ayant un lien logique entre
elles
– exemple DB « gestion du personnel » avec les tables salariés, type
contrat de travail et congés
• Chaque table est définie par des CHAMPS ou ATTRIBUTS
• Chaque attribut a un TYPE (chaîne, entier, booléen, date,…)
• ENREGISTREMENT = ligne dans une table = TUPLE
Les principes des Bases de données (suite)
• Requête = interrogation de la BD (requête SQL)
• Jeu d’enregistrement = sous ensemble de données
extraites d’une ou plusieurs tables d’une BD
• Clé primaire = champ qui identifie de manière unique
chaque enregistrement
– exemple : le champ ID
• Clé étrangère = clé primaire d’une autre table
SGBDR, R pour relationnelles
• Théorisées début des années 70 par Edgar. F. CODD
(E.-U.)… chez IBM
• IBM « System R » en 1974 (1er prototype)
• Elles dominent actuellement le marché et se sont
imposées face aux SGBDO
Principe des SGBDR
• Base de données relationnelle : BD contenant plusieurs
tables qui partagent des données. Les tables sont liées
entre elles.
• Maintenir la cohérence des données (éviter doublon, etc.)
• Souplesse dans la structure des données
• Meilleure disponibilité des données
Un langage pour manipuler les données : SQL
• Structured Query Language (SQL)
• Mis au point début des années 70
• Normalisé au niveau international (ISO 92,…)
• Un langage d’interrogation des BD « proche du langage humain » ???
• Ce langage permet
– d’écrire les données
– de manipuler et trier des données
– d’effectuer des requêtes
– ...
SQL dans la pratique
• Création / suppression de bases
– CREATE DATABASE nomdelabase
– DROP DATABASE nomdelabase
• Création / suppression de tables
– CREATE TABLE nomdelatable (attribut 1 type 1, …, attribut N type N);
• exemple : CREATE TABLE etudiant (nom varchar(20), adresse
varchar(30), numero_carte int(11),);
– DROP TABLE nomdelatable
• Manipulation des données : interrogation et extraction
– SELECT attribut 1, …, attribut N FROM table 1, …, table N WHERE prédicat;
– SELECT * FROM etudiant WHERE nom=‘ toto ’;
SQL dans la pratique (suite)
• Le prédicat reprend
– Des attributs indiqués dans la clauses SELECT
– Des opérateurs de comparaison (>, <, >=, =, <>)
– Des opérateurs booléens (AND, OR, NOT)
• Insertion de données
– INSERT INTO nomdelatable VALUES (val1, …, val N);
– Ex : INSER INTO employes VALUES (‘toto’, 15000, ‘Bron’);
• UPDATE / DELETE
• Tri des résultats…
SGBDR Open Source : MySQL
• Lancer EasyPHP puis PHPMYADMIN
• Création de la table master_2007
• Création de la table etudiants avec les attributs
–
–
–
–
id INT NOT NULL AUTO_INCREMENT,
nom varchar(50),
prenom VARCHAR(50),
email VARCHAR(75),
• Saisir des données (onglet insérer)
• Utilisation de SQL
Exercice pratique
• Création d’une BD : gestion_doc
• Tables :
–
–
–
–
document ( id_titre , nom_doc, date_pub, commentaire, )
type_doc (id_type, nom_type)
Auteur (id_auteur, nom_auteur, prenom_auteur, email,)
Rubrique (id_rub, nom_rub,)
• Rajouter dans la table document les attributs pour lier le
document à un auteur, un type de document et une
rubriqe)
• Insérer des données
Formaliser et concevoir une base de données
• Modéliser la complexité
• Modèle entités - association (depuis années 1970)
• Merise (Projet Français - 1978)
– Modèle entité-association évolué
– MERISE = Méthode d’Etude et de Réalisation Informatique de
Système d’Entreprise)
– Concevoir un système d’information et BD de façon standardisée
et méthodique
– Méthode très répandue en France
Les principes du modèle entité-association
• Partir d’une situation réelle
• Repérer un nombre fini de données pertinentes (entités)
• Établir leur « type »
• Chercher les relations entre ces données
Quelques définitions « entité – association »
• Entité = représentation simplifiée d’un objet ou d’un
concept
• Entité = une population d’individus ou d’objets ayant des
caractéristiques communes
– Exemple d’entités : clients / articles / fournisseurs
– Auteurs / articles / rubriques …
• Une association = un lien entre plusieurs entités
• Type d’entités = décrit les entités d’une même famille
• Attribut = propriété d’une entité ou d’une association
Merise = Méthode d’Étude et de Réalisation
Informatique de Systèmes d’Entreprise
• Analyser la situation existante
• Création d’une série de modèles qui permettent de
représenter tous les aspects importants
– MCD : Modèle conceptuel des données
– MLD : Modèle logique des données
– MPD : Modèle physique de données
• Implémenter la Base de données
Schéma entité association (basique)
Fournisseur
Clients
Articles
Acheter
Livrer
Schéma entité association : Etape MCD
Clients
N° client
Nom client
Prénom
Adresse
…
1,n
0,n
1,n
Articles
Acheter
Quantité C
Date C
1,1
N° article
Nom article
Caractéristiques
…
Livrer
Quantité L
Date L
Fournisseur
N° fournisseur
Nom
fournisseur
Téléphone
…
En pratique... Etape MCD
•
•
•
•
•
•
•
•
Identifier les entités
Lister les attributs des entités
Ajouter les identifiants
Établir les relations (et leurs attributs)
Éliminer les synonymes
Normer les relations
Représenter graphiquement des associations
Remarque : on ne tient pas compte de la forme
informatique et des tables à ce stade
En pratique…Etape MLD
• Organisation en TABLES (unicité des tables)
• Les 5 règles de conception
• Clé primaire à choisir
- Exemple : clients (N° client, nom client, adresse,#…)
• Établir les relations entre les tables
• Utilisation du MLD pour créer des tables dans un SGBD
• Le MLD peut être généré par des outils
En pratique…Etape MPD
• Le modèle physique de données est l’implémentation
particulière du MLD dans un environnement, un matériel ou un
logiciel donné
• Et concrètement : c’est la saisie dans une SGBD avec ses
particularités…
• C’est aussi une représentation graphique complète et juste des
tables et de leur relation
Des logiciels pour représenter les tables
• Power AMC
• DB Designer (Gratuit)
• …
Exemple (DB Designer)
Téléchargement