Télécharger la présentation
Publié parMarguerite Desroches Modifié depuis plus de 9 années
1
Analyse, élaboration et exploitation d’une Base de Données
CONCEPTS BD Analyse, élaboration et exploitation d’une Base de Données
2
Programme prévu
3
PLAN / INTRO 4 séances 3,5h en commun (matin) :
1ère séance : Introduction BD, vocabulaire / concepts, SGBD courants, TP analyse + schéma 2ème séance : TP analyse + schéma Le langage SQL + requêtes 1/2 3ème séance : TP analyse + schéma (modification) Le langage SQL + requêtes 2/2 4ème séance : Contrôle 4 séances 3,5h de manipulations / TP (am)
4
Qu’est-ce qu’une BD ? DEFINITION : = ensemble structuré d'informations une BD a pour but de stocker des données Ces informations, ou données, sont organisées dans des tables reliées entre elles et stockées dans un dispositif informatique.
5
Principes essentiels d’une BD
Cohérence des données Eviter la redondance d’informations Sans doublons Exhaustivité des données Légèreté Exemple : BD qui gère les salariés. Si pas exhaustive : certains ne seront pas payés, si doublons : certains seront payés en double
6
Les SGBD les plus connus
= système de gestion de bases de données Un SGBD est un logiciel qui permet la gestion et l'accès à des BD Un SGBD héberge généralement plusieurs BD, destinées à des logiciels ou thématiques différentes. DBMS en anglais SGBD libres : SQLite MySQL (GPL) Maria DB PostGreSQL INGRES BASE (Open Office) … SGBD propriétaires : ORACLE Database IBM DB2 Microsoft SQL Server SYBASE HYPERFILE (Pc SOFT) ACCESS 80 % MySQL AB a été acheté le 16 janvier 2008 par Sun Microsystems pour un milliard de dollars américains2. En 2009, Sun Microsystems a été acquis par Oracle Corporation, mettant entre les mains d'une même société les deux produits concurrents que sont Oracle Database et MySQL. Depuis mai 2009, son créateur Michael Widenius a créé MariaDB pour continuer son développement en tant que projet Open Source. MYSQL est un logiciel libre5, open source6, développé sous double licence selon qu'il est distribué avec un produit libre ou avec un produit propriétaire. Dans ce dernier cas, la licence est payante, sinon c'est la licence publique générale GNU (GPL) qui s'applique. Un logiciel qui intègre du code MySQL ou intègre MySQL lors de son installation devra donc être libre ou acquérir une licence payante. Cependant, si la base de données est séparée du logiciel propriétaire qui ne fait qu'utiliser des API tierces (par exemple en C# ou php), alors il n'y a pas besoin d'acquérir une licence payante MySQL.
7
Héberge 1 ou +sieurs SGBD ex: SQL Server / MySQL
CONTEXTE Héberge 1 ou +sieurs SGBD ex: SQL Server / MySQL Client / serveur SERVEUR WINDOWS ou LINUX SGBD 1 ou plusieurs instances Bases de données NB Utilisateurs variable Sur un même serveur Windows, il est possible d’installer plusieurs instances du moteur SQL Server. Le nombre d'utilisateurs utilisant une base de données est également extrêmement variable. Une BDD peut servir à une seule personne, laquelle l'utilise sur son poste de travail, ou être à la disposition de dizaines de milliers d'agents Chaque instance est entièrement indépendante et possède ses propres bases de données système et utilisateurs. Pour la communication entre le serveur et les clients SQL Server utilise des bibliothèques réseau (sorte de DLL). Elles doivent être les mêmes sur le serveur et les postes clients. Il faut encore configurer un protocole réseau : port statique ou dynamique (si aucun firewall) MONTRER Les répertoires dans C/ProgramFiles + détailler Les services (pas forcément tous, en fonction du type d’installation): MSSQLSERVER : moteur de la BD (accès aux données, exécution requêtes…) SQL Server Analysis Services (SSAS) : outils pour créer et gérer des BD OLAP SQL Server Reporting Services (SSRS) : outils pour créer et gérer des rapports (états) SQL Server Notification Services (SSNS) : développement d’applications pour envoyer des infos aux abonnés (mises à jour de données) SQL Server Integration Services (SSIS) : outils pour faciliter la migration ou transformation de données allant ou venant de sources hétérogènes OLTP (OnLine Transaction Processing) Type le + utilisé : permet les transactions multi-utilisateurs + volume important de données OLAP (OnLine Analytical Processing) Stockage d’informations pour prise de décisions (décisionnel) SNAPSHOT Réplications + ou – complètes d’une base d’origine (sites éloignés)
8
Types de BD Les BD relationnelles Les BD non relationnelles
L’ensemble des données est réparti dans différentes tables. Les données peuvent être reliées de manière directe ou indirecte. Ensemble de fichiers « plats » BD géantes / forte volumétrie Stockage des données dans des tableaux associatifs
9
Terminologie / vocabulaire - 1/4
Une base de données RELATIONNELLE comporte plusieurs tables reliées (ou non) entre elles.
10
Terminologie / vocabulaire - 2/4
Une table stocke des données similaires Une table est structurée de plusieurs champs/colonnes Chaque champ possède un type de données et parfois des propriétés (définis à la conception de la BD)
11
Terminologie / vocabulaire - 3/4
Une table contient des enregistrements 1 enregistrement = 1 ligne Un ensemble d'enregistrements relatif à un sujet forme une relation et est stocké dans une table
12
Terminologie / vocabulaire - 4/4
Les relations : Directes : = à l’intérieur d’une même table Indirectes : = réparties entre différentes tables Les requêtes : elles permettent d’extraire des informations de la BD. Elles utilisent le langage SQL. Les états / vues : sont le résultat d’une requête
13
Les clés primaires 1 ou plusieurs champs qui identifie(nt) de manière unique un enregistrement Clé primaire simple Auto-incrémentée Créée manuellement (programmation) Clé primaire composée Assemble au moins 2 champs d’une même table pour identifier un enregistrement Clé étrangère clé reportée dans autre table
14
Les relations et l’intégrité référentielle
Les relations entre tables doivent être mises en place dès le début Pour assurer la cohérence des données dans les différentes tables on utilise des contraintes de suppression et de mise à jour = intégrité référentielle
15
Processus de conception
Analyse Inventaire des données utiles au projet Données à créer ou existantes ? Organisation des données par table Dictionnaire des données Type des données Taille Propriété de chaque champ Déterminer les objectifs/scénarios d’utilisation de la BD, et préparer les requêtes associées
16
UNE BASE DE DONNEES TP IMPLEMENTATION / DEVELOPPEMENT ADMINISTRATION
Analyse (schéma logique, intégrité, relations, attributs) Intégration des données + gestion des données en respectant les contraintes de l’analyse Programmation tâches récurrentes ADMINISTRATION Gestion de l’espace de stockage Configuration de la base de données Gestion des objets de la base de données Gestion de la sécurité d’accès Sauvegardes TP
17
NoSQL / BD non relationnelles
Les faits : Twitter délaisse MySQL au profit de Cassandra, une BD non relationnelle. L'analyse : Si la plupart des grands systèmes d'information sont aujourd'hui architecturés autour de bases de données relationnelles, il est peut-être temps de changer. Car celles-ci ont leurs limites, en particulier lorsqu'il s'agit de gérer une forte volumétrie. Sans parler des problèmes de relation et de jointure entre les tables, que les administrateurs connaissent bien. Certaines entreprises ont franchi le pas. Par exemple Twitter, le site très “ hype ” aux 75 millions d'utilisateurs, a abandonné MySQL au profit de Cassandra, une jeune base de données non relationnelle, poussée par la fondation Apache. Celle-ci fait partie d'un écosystème naissant : le monde NoSQL (Not Only SQL). On y distingue plusieurs familles, dont la plus importante englobe les bases fonctionnant sur un système clé-valeur, telle Cassandra. Dans le cas de Twitter, une clé correspond à un identifiant, une valeur à un message. Adaptées aux banques : Dans le modèle noSQL, la base est distribuée et les relations entre les tables éliminées. Dans le secteur de la finance, les grilles de calcul et de données ont des paradigmes similaires. On réalise par exemple les calculs grâce à Mapreduce – le modèle de programmation pour effectuer des calculs parallèles – tandis que les données sont réparties sur des systèmes hautement distribués. Un modèle non SQL pourrait donc venir concurrencer les systèmes actuels dans ce domaine. Ne manque qu'un écosystème de consultants qui gravite autour. Une situation comparable à celle du serveur d'applications Tomcat il y a cinq ans, et qui est aujourd'hui largement utilisé, notamment dans la finance. nosql-mongodb-1046.html
18
Liens vers sites utiles pour cours
donnees/sommaire.htm 3%A9es_relationnelle mrs.fr/~campioni/documents/BD/BD- relationnelles.pdf
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.