Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
BASES DE DONNEES RELATIONNELLES et Interfaces Web
GB5 – Master BIM 2013-2014
Anne-Marie Hugues
[email protected]://www.essi.fr/~hugues/BDR
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 2BD Relationnelles
Objectifs Connaissances:
Comprendre la nécessité de gérer la persistance des données.
Juger de l'adéquation d'un outil de modélisation.
Evaluer la pertinence de la localisation
des traitements des données sur architectures réparties (client/serveur et multi tier ).
Savoir faire: Concevoir des bases de données
relationnelles efficaces (normalisées).
Utiliser ORM et UML. Un outil de modélisationUn environnement de
programmationProgrammer Php mysql
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 3BD Relationnelles
Modalités Sera complété par le Cours de Génie Logiciel de Jean
Paul Rigault
Evaluation du cours BD: TD 1 sur l'algèbre relationnelle et le calcul relationnel
(binome) TD 2 sur php Projet commun au cours GL Quizz individuel
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 4BD Relationnelles
Agenda
Cours/TD 24/9 : introduction,
– modèle relationnel, td noté
– rappels de sql – td noté
10/10 : Conception BD - ORM22/10: php-mysql • Début du projet -rédaction cahier des
charges – uses case5/11 : remise de l'interface du projet (maquette) 19/11:Analyse, modèle logique de
données, mise en oeuvre de la bd - 17/12 : démo du prototype
14/1 soutenance et remise du rapport final
Évaluation du projet côté BD Maquette Prototype Modèle logique de données
(ORM) Réalisation (technique
fonctionnalité)
Introduction “Davantage d’informations ont été produites ces 30 dernières années que durant les 5000 précédentes !”
Systèmes d ’information
Introduction aux bases de données
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 6BD Relationnelles
informations
EnvironnementEntreprise
SIDonnées métiers
Informations véhiculées par
messagespermettant la
prise de décision
Pertinence; Efficacité; Robustesse; Evolutivité; Automatisme
Systèmes d’information définition et critères de qualité
Programmeset
Bases de donnéesDonnées de l’Application
Données de l’environnement
Acteur envoyant des événements
acteur
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 7BD Relationnelles
Les composants du SI
O r g a n i s a t i o n e t a d m i n i s t r a t i o n
T e c h n o l o g i eI n d i v i d u s
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 8BD Relationnelles
Systèmes d'information technologie - outils
Données persistantes papier/crayon ordinateurs, réseaux
Système de fichiers (non corrélés) Limites : exemple gérer les étudiants de
Polytech Un étudiant par fichier ?
• Comment retrouver l’étudiant Dupont ? • Comment définir un groupe d’étudiant ? • Quel est l’impact d’un abandon ? …
Un fichier pour tous les étudiants ?• Comment travailler de manière
collaborative ? • Comment définir un groupe d’étudiants ? • Comment structurer le fichier des étudiants
? ...
Systèmes de Gestion de bases de données Fichiers corrélés Modèle logique Langage
d'interrogation Transparence de
l'implantation physique (1975 abstraction des données)
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 9BD Relationnelles
Systèmes d'informationFonctions?? exemples
Fournir l’information pertinente de manière transparente
mémoriser; retrouver ; déduire
mettre à jour ; gérer protéger l'intégrité
Refléter l’organisation (droit d’accès, . . . )
Supporter l’évolution du système (extensibilité)
Système de paye, reporting de stock, . . .=Systèmes de gestion
Applications bancaire, centrale d’achat, billetterie, . . .= Systèmes transactionnels
Bibliothèque, partage de code source, . . .= Système de documentation
Pages jaunes, Pages blanches, entreprise= Système d’annuaire
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 10BD Relationnelles
Systèmes d'information une petite histoire
SI Gestion : Depuis années 60-70 Années 80: modèle relationnel, répartition des données Début 90s: rationalisation de la gestion, mode client serveur : ERP Depuis 95: vers le e-business, interopérabilité Groupware (lotus notes); Gestion Electronique de Documents Supply chain (logistique) ; Gestion du workflow Gestion de la relation client (CRM)
SI Décision Depuis 95: tirer profit des données accumulées Analyser de grandes masses de données, agréger
• Datawarehouse, datamining : BD + analyse de données (stats)• Web sémantique – Big Data
Domotique , immotique : SI Temps réel Knowledge management : Bases de données +Intelligence Artificielle
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 11BD Relationnelles
Systèmes d'information une histoire de tiers
Modèle 1–Tiers (Mainframe) Approche centralisée Manipulation physique des systèmes
Modèle 2–Tiers (Client / Serveur) Le serveur gère la BD Le client doit traiter l’information cf.TP1
Modèle 3 ou n–Tiers (Serveur d’application) Un serveur gère la BD Un (autre ?) serveur gère le traitement Le client s’occupe de l’interaction cf.TP2
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 12BD Relationnelles
Architecture client serveur,
Serveur de données, Linux
Application Client , windows
Ethernet, wifi
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 13BD Relationnelles
Architecture à étages (tier)3 tier, multi tier,
Serveur de
données
Serveur d ’applications
Client windows
TCP/IP
V 1.0 -- 27/09/2011 © BD Relationnelles
Systèmes d'informationCloud computing
Les SI perçus comme un service les utilisateurs n'ont plus
besoin de savoir comment ça marche
Agilité, fiabilité, Performance garantie APIs Indépendant de la
localisation (web) Coûts en baisse, partage Scalabilité Maintenance facilitée
Bases de données
Introduction aux SGBD
Introduction au modèle relationnel
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 16BD Relationnelles
Vue externe
Modèle logique
Implantation
physique
Abstraction des données ANSI- SPARC 75
Totalement déclaratif (spécification abstraite )
Aussi "riche" que possible
Indépendant d'un langage de programmation de l ’architecture
Facilitant la conception des applications l'expression de contraintes la gestion de l'intégrité de la
base
Vue externeVue externe
Base de données = Structure +données
Système de Gestion de Bases de Données :Logiciel permettant la mise en œuvre des BDs : Stocke les données de manière efficace
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 17BD Relationnelles
Fonctionnalités et architecture d ’un SGBD
Niveau externe : langages interfaces d ’accès
Niveau logique : traduction compilation des requêtes optimisation : facteur temps
Niveau physique : interaction avec le système gestion
• des index, • des fichiers , • de la sécurité• de la concurrence
1 Permettre la description des données -
2 Fournir des mécanismes d’interrogation
3 Assurer un accès fiable -
4 Maintenir la cohérence du système
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 18BD Relationnelles
Retour sur le modèle logique
Description des données : Objectifs : Modéliser les concepts manipulés par l’application Langage de description des données (DDL)
Exemple : Conceptualisation des transports urbainsUn bus est affecté à une ligne et suit un itinéraire entre différents arrêts. Les arrêts ont un nom et peuvent servir à différentes lignes. Chaque ligne respecte un ensemble d’horaires de passage. Les chauffeurs sont tenus de conduire leur bus conformément à l’horaire qui leur est affecté”
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 19BD Relationnelles
Retour sur la vue externe
Interroger les données
Modéliser l’accès aux données stockées dans les bases
Langage d’interrogation des données
Quelques exemples de requêtesQuels sont les bus passant à l’arrêt “Templiers” ? A quelle heure est le prochain départ de la ligne 100 ? Quel chauffeur conduira le prochain bus de la 100 ? Combien de passagers sont montés aux “Templiers” ? Combien de billets demi–tarifs ont été vendus en 2004 ? Quelle est la durée d’un trajet Gare SNCF → Templiers ?
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 20BD Relationnelles
Fiabilité et cohérence
Fiabilité des bases de données . . . Minimiser l’impact d’une défaillance matérielle
Défaillance du système de climatisation, . . .
Gérer la concurrence d’accès aux données Modification du planning chauffeur durant l’extraction
Cohérence dans les bases de données . . . Vérification de contraintes sur les données
• Affection de 2 chauffeurs à une même rotation
Langage d’expressions de contraintes de cohérence Unicité des données, .
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 21BD Relationnelles
PROGRAMMEen Langage Évolué: code source.
COMPILATEUR
INTERPRETEUR
PROGRAMME En Langage Machine
code objet
ELECTRONIQUE DE L'ORDINATEUR
(a) (b)
Les modes d'exécution des langages de programmation
mode compilé optimisation langages
complexes
mode interprété mise au point
(diagnostics)
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 22BD Relationnelles
BD : Complexité du problème
Plusieurs modèles logiques modèle hiérarchique (IMS, DL1) modèles en réseaux
(DBTG, IDS II) modèle relationnel modèle orienté objet modèle relationnel étendu
( déductif dérivé de Prolog)
Plusieurs implantations physiques séquentiel indexé (ISAM) accès directs (hash tables) listes et pointeurs
• arbres (B-tree...)
Plusieurs types d’utilisateurs utilisateurs non spécialistes programmeurs d ’applications gestionnaires de la base de données
Plusieurs localisations : BD réparties ; SI multi-sites; BD accessibles via Internet Problèmes
de répartition des données de performance de gestion de l'intégrité
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 23BD Relationnelles
Accès aux fonctions clientes d’interrogation et/ou de modification des données du serveur
à travers un interprète situé sur le poste client disposant de la couche réseau propriétaire nécessaire
(sqlplus et SQLNet pour Oracle, ….)
à travers un ensemble d' APIs accessibles
• depuis un langage standard (C, C++, Java, …) • ou même un outil bureautique (Excel, Word, …).
Ces APIs peuvent être • propriétaires, • standardisées à travers une passerelle (ODBC pour Windows, JDBC pour
Java, …. ). • Bien entendu pour attaquer une base de données X il faut disposer alors du pilote ODBC-X
correspondant.
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 24BD Relationnelles
Procédures et Fonctions du serveur de données : caractéristiques
interprétées dans un langage procédural :
• normalisé (procédures SQL ANSI2)…..très pauvre• propriétaire (ex : PL/SQL de Oracle.)...un peu mieux.
Téléchargeables compilées une fois pour toutes
(C, C++, ….) • procédures non modifiables simplement, ni téléchargeables
en Java (dans Oracle V8)• procédures non modifiables ni téléchargeables
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 25BD Relationnelles
Le Modèle relationnel : grandes lignes
schémas relationnels ; tables (titres des colonnes) instances de relations; ensembles de tuples (lignes ) schéma de base de données
liens sémantiques implicites entre tuples dépendances fonctionnelles
langages : contraintes sur les tuples déclaratifs , algèbre relationnelle , calcul sur les tuples SQL Structured Query Language
le modèle relationnel est statique (inerte) concurrence (multi -utilisateurs) et sécurité
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 26BD Relationnelles
Éléments principaux de SQL Langage de commandes non procédural; normalisé
Langage d'interrogation de données et de définition de vues (Queries)• select colonnes from table where condition ;
Langage de définition de données (DDL)• créer/détruire les objets (tables, vues, procédures, démons, ...) create table tableau drop table; alter table...
• définir des contraintes sur les tables : clés, index ,typage, etc... create index...
Langage de modification de données (DML)• insert ligne into table ; • delete ... ; update ...
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 27BD Relationnelles
Eléments principaux de SQL Gestion de la concurrence et de la sécurité
Primitives pour la gestion des transactions (accès simultanés à la base de données)
• verrouillages, • validation • retour en arrière,
Primitives pour gestion de la sécurité• droits d'accès, privilèges, rôles• gestion des comptes
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 28BD Relationnelles
Eléments principaux de SQL Algorithmique , dynamique
Le modèle relationnel est statique nombreux modèles dynamiques au stade de la recherche
• flux de données, réseaux de Petri …, peu de modèles vraiment déclaratifs
• programmation procédurale, événementielle Expression des Procédures et Fonctions
langage procédural ; fonctions centralisées• langage propriétaire (ex : PL/SQL de Oracle) source+code
stockés sur le serveur de données• langage de script
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 29BD Relationnelles
Eléments principaux de SQL Gestion de l'intégrité ; Efficacité
Gestion de l'intégrité : Déclencheurs (triggers)• code exprimé dans le même langage procédural que pour les
procédures (SQL2, PL/SQL, ...)
source+code stockés sur le serveur déclenchements opérés lors de modifications de la base
Efficacité : Relations calculées (views)• sources stockées sur le serveur • permettent de nommer et mémoriser sur le serveur des requêtes
prédéfinies
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 30BD Relationnelles
Résumé du chapitre
les SI et les BD dans l ’entreprise mémoire avenir (datawarehouse, data mining)
SGBD stocker et gérer les données efficacité; sécurité, transactions
le modèle relationnel tables : lignes (tuples) et colonnes (attributs) langages bases théoriques
Construction d'un système d'information
Importance du génie logiciel
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 32BD Relationnelles
De l'importance de l'analyse des besoins
Et de l'intérêt des modèles
V 1.0 -- 27/09/2011 Anne-Marie Hugues © -- 33BD Relationnelles
Construction du SILes phases du cycle de vie
Conception
Production CodageChoix des supports physiques, algorithmes d'indexation (SGBD)Définition des droits d'accèsValidationAlimentation du SI
description conceptuelleModèle de données(UML , ORM , entités relations)Architecture logiciellePersistance?Interfaces
Construction itérativeConception réfléchie;
viser la qualité
ExploitationQualificationDéploiement, diffusionGestion réseauxSupport, évolutions
DéfinitionRecueil des besoins : Extrait les concepts à représenter dans la base(cahier des charges,Use Cases, scénarios)