INTRODUCTION AUX BASES DE DONNÉES



Documents pareils
Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Bases de Données. Plan

Les bases de données

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Chapitre 1 : Introduction aux bases de données

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

A QUOI SERVENT LES BASES DE DONNÉES?

Bases de données Cours 1 : Généralités sur les bases de données

Introduction aux Bases de Données

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Bases de données avancées Introduction

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

Les bases de données Page 1 / 8

SQL Historique

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Information utiles. webpage : Google+ : digiusto/

Cours Bases de données

Cours Base de données relationnelles. M. Boughanem, IUP STRI

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

CESI Bases de données

Mercredi 15 Janvier 2014

Le langage SQL Rappels

INTRODUCTION : Données structurées et accès simplifié

IFT3030 Base de données. Chapitre 1 Introduction

Bases de données cours 1

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

et les Systèmes Multidimensionnels

Bases de données relationnelles

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Chapitre 10. Architectures des systèmes de gestion de bases de données

Cours: Administration d'une Base de Données

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Dossier I Découverte de Base d Open Office

UE 8 Systèmes d information de gestion Le programme

Présentation du module Base de données spatio-temporelles

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

INTRODUCTION AUX BASES de DONNEES

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Cours Bases de données 2ème année IUT

CREATION WEB DYNAMIQUE

Utiliser Access ou Excel pour gérer vos données

Le Langage SQL version Oracle

Implémentation des SGBD

Introduction aux bases de données

Gestion des bases de données

PHP 4 PARTIE : BASE DE DONNEES

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

Bases de données - Modèle relationnel

Bases de données élémentaires Maude Manouvrier

CATALOGUE FORMATIONS DOMAINE Bases de données

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Thème : Gestion commerciale

Bases de Données relationnelles et leurs systèmes de Gestion

Les Entrepôts de Données

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

Bases de données relationnelles : Introduction

DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier?

Communiqué de Lancement

BTS/CGO P10 SYSTEME INFORMATION Année

Rappel sur les bases de données

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Introduction à JDBC. Accès aux bases de données en Java

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

KIELA CONSULTING. Microsoft Office Open Office Windows - Internet. Formation sur mesure

Mysql. Les requêtes préparées Prepared statements

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

SESSION 2014 ÉPREUVE À OPTION. (durée : 4 heures coefficient : 6 note éliminatoire 4 sur 20)

Gestion des transactions et accès concurrents dans les bases de données relationnelles

INDUSTRIALISATION ET RATIONALISATION

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

Une famille d'applications permettant à toute organisation d'optimiser le suivi et la gestion de ses ressources internes vous présente

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Le langage SQL (première partie) c Olivier Caron

Annuaires LDAP et méta-annuaires

Application web de gestion de comptes en banques

Bases de données Outils de gestion

Bases de données et sites WEB

Java DataBaseConnectivity

TP Bases de données réparties

Nouvelles Plateformes Technologiques

MODE OPERATOIRE OPENOFFICE BASE

Bases de Données Avancées

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

1 Introduction et installation

Transcription:

INTRODUCTION AUX BASES DE DONNÉES Najib TOUNSI Cours à l'usage des premières années informatique Najib TOUNSI - 1 -

SOMMAIRE Concepts de Bases Base de Données Système Gestion de Bases de Données Niveau Interne Organisations des Fichiers H-Code, B-arbre, ISAM, Fichiers Indexes Modèles Relationnel de données Structure de Données Opérateurs de Manipulation Contraintes Référentielles Najib TOUNSI 1

CONCEPTS DE BASE Ce qu'est une Base de Données Fig. 1 - Schéma de Principe d'une BD Najib TOUNSI 2

Ce qu'est une Base de Données (BD) Une base de données est une collection de données stockées dans des fichiers et accessibles à la demande pour plusieurs utilisateurs et des besoins divers. Ces données représentent des informations servant aux activités et au management d'une entreprise. L'utilisateur dispose de moyens très élaborés pour effectuer un large éventail d'opérations: - Créations de nouveaux fichiers, - Consultation, ajout, modification ou suppression de données, - Calculs et éditions de résultats. - etc Les langages et les outils logiciels pour effectuer ces opérations sont évolués et très pratiques Najib TOUNSI 3

Exemple: Soit le fichier concernant les employés d'une organisation EMPLOYES ------------------------------------------------------ NUM NOM PRENOM SALAIRE SERVICE ----------------------------------------------------- e01 benali ali 5500 personnel e04 benamine amine 6000 personnel e02 benhlima halima 5700 clients e10 bennani anis 7000 fournisseurs e23 benahmed ahmed 8500 clients e24 bensaid saida 6600 personnel e08 benazi aziz 7000 founisseurs e06 bendaoud daoud 7000 clients e20 bennouna anas 5400 clients e14 benkacem kacem 7800 direction Najib TOUNSI 4

Exemples d'interrogations: Quel(le)s sont les personnes du service «clients» SELECT * FROM EMPLOYES WHERE SERVICE = "clients" Résultat: --------------------------------------------------- NUM NOM PRENOM SALAIRE SERVICE --------------------------------------------------- e02 benamina amina 5700 clients e23 benahmed ahmed 8500 clients e06 bendaoud daoud 7000 clients e20 bennouna anas 5400 clients Najib TOUNSI 5

Afficher le nom de tous avec leur salaires Triés par salaire croissant SELECT NOM, SALAIRE FROM EMPLOYES SELECT NOM, SALAIRE FROM EMPLOYES ORDER BY SALAIRE -------------------- NOM SALAIRE -------------------- benali 5500 benamine 6000 benhlima 5700 bennani 7000 benahmed 8500 bensaid 6600 benazi 7000 bendaoud 7000 bennouna 5400 benkacem 7800 -------------------- NOM SALAIRE -------------------- bennouna 5400 benali 5500 benhlima 5700 benamine 6000 bensaid 6600 benazi 7000 bendaoud 7000 bennani 7000 benkacem 7800 benahmed 8500 Najib TOUNSI 6

Idem mais pour les personnes du service clients SELECT NOM, SALAIRE FROM EMPLOYES WHERE SERVICE = "clients" ORDER BY SALAIRE ----------------- NOM SALAIRE ----------------- bennouna 5400 benamina 5700 bendaoud 7000 benahmed 8500 Najib TOUNSI 7

Exemples d'interrogations avec calcul: Calculer le salaire moyen SELECT AVG (salaire) FROM EMPLOYES Calculer le nombre d'employés SELECT COUNT (*) FROM EMPLOYES ----- AVG ----- 7300 ----- COUNT ----- 10 Najib TOUNSI 8

Exemples de modifications: Remplacer le salaire de l'employé «e06» par 8000 UPDATE EMPLOYES SET SALAIRE = 8000 WHERE NUM = "e06" Ajouter un nouvel employé INSERT INTO EMPLOYES VALUES ("e09", "BenSalah", "Salah", 8500, "clients") Najib TOUNSI 9

Ce qu'est un Système de Gestion de Bases de Données (SGBD) Le SGBD, Système de Gestion de Bases de Données, est le logiciel intermédiaire entre l'utilisateur et la base et qui est chargé de réaliser toutes les opérations s'effectuant sur la BD. ß Niveau Logique ß Niveau Physique Fig. 2 -Un Système de Gestion de Bases de Données L'utilisateur a une vision logique des données, qui lui permet de les manipuler aisément (langages et interfaces de haut niveau) et de façon proche de ses besoins. C'est le SGBD qui se charge des considérations physiques liées au stockage des données sur disque et de la façon de les retrouver ou modifier. Le SGBD gère aussi les programmes que l'utilisateur développe et permet leurs exécutions à la demande. Najib TOUNSI 10

Rôle d'un SGBD: Un SGBD est en général, multi utilisateurs, multitâches. Il Permet l'accès à la base à plusieurs utilisateurs simultanément Traite en les optimisant les requêtes utilisateurs. Gère l'exécution cohérente de plusieurs programmes simultanés (accès concurrents). Assure l'intégrité la sécurité, et la protection des données. Offre des moyens d'interaction, langages et interfaces, faciles à utiliser. F F F F Langage base de Donnée (LBD), permet de définir et de manipuler des données dans une base. Un LBD doit se conformer à un modèle de données évolué. Un modèle de Données permet à l'utilisateur de percevoir les données dans une forme plus simple, par exemple des tables. (Forme dégagée des aspects techniques liés à la représentation en machine). Un LBD est suffisamment complet pour être utilisé seul et de façon interactive pour divers requêtes. A cela s'ajoute la possibilité pour les non-initié(e)s de travailler sur la base via des interfaces conviviales (menus, écrans de saisies, affichages de graphiques, éditions de rapport etc ). Le SGBD contient les outils pour tout cela. Najib TOUNSI 11

Structure Fonctionnelle d'un SGBD: Structure Structure Fonctionnelle Structure Fonctionnelle d'un d'un SGBD: d'un d'un SGBD: SGBD: tructure Structure Fonctionnelle Fonctionnelle d'un d'un SGBD: SGBD: d'un Structure Structure Fonctionnelle Fonctionnelle d'un d'un d'un SGBD: SGBD: Structure Structure Fonctionnelle d'un d'un SGBD: SGBD: Structure Fonctionnelle d'un SGBD: tructure Fonctionnelle d'un SGBD: Niveau des utilisateurs et des applications Niveau Niveau des des utilisateurs utilisateurs et des et des applications Niveau des des utilisateurs et des et applications des applications Niveau Niveau des des utilisateurs et et des des applications Niveau des utilisateurs et des applications Couche logicielle Outils d'exploitation Niveau des Conversationnelle, utilisateurs et des applications Programmation, Externe. externe. Niveau des utilisateurs et des applications Couche logicielle Outils des et des applications Couche logicielle Outils d'exploitation Outils d'exploitation Niveau Niveau d'exploitation des Outils des Conversationnelle, utilisateurs 4e Conversationnelle, utilisateurs Génération interactive, et des applications et etc... des Programmation, applications Programmation, Couche Externe. Externe. externe. Outils interactive, Couche externe. logicielle Outils etc... logicielle Outils d'exploitation des Conversationnelle, et des! Niveau d'exploitation Outils des utilisateurs 4e Génération interactive, et des applications etc... Programmation, Orientée Couche Programmation, Externe. Couche logicielle logicielle Outils Outils d'exploitation Couche logiciell Outils Niveau d'exploitation Niveau des des Outils utilisateurs Conversationnelle, 4e Génération etc... des utilisateurs et des applications! Conversationnelle, et et des des applications Programmation,! externe. utilisateurs Orientée Externe. Couche logicielle Orientée Outils d'exploitation Programmation, Orientée Couche logiciel Outils d'exploitation Externe. Outils 4e Conversationnelle, Conversationnelle, 4e etc... Programmation, 4e Génération etc... Programmation, ß Externe. etc... Programmation, Couche utilisateurs Externe. Orientée Orientée Outils logicielle etc... utilisateurs Externe. Outils d'exploitation Orientée Langage Outils d'accès Conversationnelle, Unique 4e Génération ( e.g SQL) Programmation, etc... Externe. Niveau des Outils 4e utilisateurs 4e Génération Génération etc... et des applications etc... Couche Niveau des utilisateurs Couche logicielle Orientée utilisateurs Outils d'exploitation Outils utilisateurs et des applications utilisateurs Orientée logicielle Outils d'exploitation Langage d'accès Conversationnelle, 4e Langage d'accès Conversationnelle, Génération Unique ( e.g etc... SQL) Programmation, Externe. Orientée Unique ( e.g SQL) Programmation, utilisateurs Outils d'exploitation Externe. Orientée utilisateurs Outils 4e Génération Langage Langage etc... utilisateurs d'accès d'accès 4e interactive, Unique Unique d'accès ( unique (e.g. e.g e.g Programmation, externe. Outils 4e Génération etc... SQL) SQL) Orientée Couche utilisateurs logicielle Outils d'exploitation Niveau des utilisateurs Conversationnelle, et des applications! Couche logicielle Outils d'exploitation utilisateurs Langage Langage Outils Noyau d'accès d'accès Conversationnelle, 4e Génération SGBD Unique Unique ( e.g e.g etc... ( SQL) SQL) Programmation, Orientée Externe. Langage e.g e.g SQL) SQL) Couche logicielle Orientée Langage Outils d'accès d'accès 4e Génération Unique ( e.g Unique etc... SQL) Programmation, utilisateurs Externe. Orientée Outils Noyau 4e Génération SGBD etc... ( e.g SQL) utilisateurs Langage d'accès Noyau Unique SGBD ( e.g SQL) interne. Couche Orientée utilisateurs interne. logicielle Outils d'exploitation Couche logicielle Langage d'accès Conversationnelle, Noyau Disques Unique Langage d'accès SGBD ( e.g ( e.g SQL) Programmation, Externe. interne. Orientée interne. Unique Couche ( e.g SQL) interne. interne.! utilisateurs Accès Disques Orientée logicielle Outils Noyau 4e Génération Noyau Disques SGBD etc... utilisateurs SGBD interne. Fichiers Noyau SGBD! Couche Couche logicielle logicielle Noyau SGBD! Couche logiciell Noyau Disques Langage Langage d'accès d'accès Noyau Orientée Couche interne. Fichiers logiciel Noyau SGBD Unique Unique SGBD ( e.g e.g SQL) SQL) Orientée Couche interne. interne. Fichiers logicielle Langage d'accès Unique Disques ( e.g SQL) Couche utilisateurs interne. Orientée Fichiers Orientée logicielle Noyau Fichiers Accès SGBD SGBD Disques ß interne. Orientée interne. Couche Orientée Fichiers logicielle Fichiers Couche Orientée Fichiers logicielle Fichie Orientée Fichi Structure Fonctionnelle d'un d'un SGBD: Structure Fonctionnelle d'un SGBD: Base Accès SGBD Disques Noyau SGBD de Disques Base Langage d'accès Unique ( e.g SQL) interne. interne. Orientée Fichiers Accès Données Base Noyau de Disques interne. Accès Base de Disques SGBD Orientée Fichiers Noyau Données Données de Base SGBD! Couche logicielle Couche Fichiers Noyau logicielle Base Orientée Données de interne. Fichiers Accès Base Données Disques de Base interne. Orientée de Base Noyau Accès SGBD Base Données Disques de SGBD Couche Données de Orientée logicielle Données Fichiers Fichiers Base de Base Fig 4 Composants Données Base d'un SGBD. interne. Orientée Fichiers Accès Données de Disques de Fig 4 Composants Données ded'un SGBD. Fig 4 Composants Données Base d'un SGBD. Orientée Fichiers Fig 4 Composants d'un SGBD. de Base Fig 4 Composants Fig 4 Données de d'un SGBD. Fig 4 Composants Données d'un d'un SGBD. Fig. SGBD. d'un SGBD. Fig Fig 3 Fig 4 Composants 4 - Composants Base 4 Composants d'un d'un SGBD. SGBD. de d'un SGBD. Najib TOUNSI Fig Fig 4 4 Composants Données d'un SGBD. 12 Najib TOUNSI Najib TOUNSI Fig 4 Composants d'un SGBD. 13 12 Najib Najib TOUNSI TOUNSI Fig 4 Composants d'un SGBD. 13 12 12 jib TOUNSI Fig 4 Composants d'un SGBD. 13 Najib TOUNSI 13 Fig 4 Composants d'un SGBD. Najib TOUNSI 13 Orientée Fichiers

Outils offerts par un SGBD: Interface SQL Interactive (ISQL): C'est le moyen le plus simple d'accéder à une BD. On tape une requête et on a la réponse. (SQL/PLUS Oracle, Commande MySQL MySQL, ModeSQL Access) Interface SQL Programmée (EmbeddedSQL ): (SQLPRO Oracle, ESQL Informix) Besoin de programmation: On a un langage conventionnel dans lequel est incorporé le LBD main() { scanf( critère recherche); SELECT FROM ; printf(résulat); } F SQL ANSI: SQL 80s SQL 2 90s SQL3-Objet Seules ces deux Interfaces sont standardisées Najib TOUNSI 13

Usage d'écrans de saisies/éditions (FORM): Ecran formaté avec rubriques libellées et données correspondantes affichées. Utilisateurs non informaticiens, Simplicité de manipulation. Fig. 4 - Formulaire d interrogation. On tape le n département, son nom s affiche, on appuie sur calculer et la moyenne des salaires de ses employés s affiche Najib TOUNSI 14

Edition de rapport (REPORT Writer): Document chiffré (e.g. bilan, facture etc.) formaté contenant des données extraits de la BD. Fig. 5 - Facture imprimée contenant des données calculées et extraites d une base de données Najib TOUNSI 15

Autres Outils : Outils d'éditions graphiques: Histogrammes, Diagrammes sectoriels (camemberts), tableurs... Langage de «4e génération (L4G)»: Langage de très haut niveau intégrant à la fois le LBD, les écrans, les Reports dans un même environnement de programmation. L Langages propriétaires Interfaces avec autres systèmes / Communication en réseau. BD Réparties, Architectures Clients/Serveurs, Serveurs WEB Najib TOUNSI 16

Pourquoi les Bases de Données (SGBD) Intégration et partage des données. Elimination (ou limitation) des redondances et des incohérences (Intégrité des données) Rapprochement Users et Informations Indépendance Données/Programme. Niveau Physique: Pgmes indépendants des détails liés à l'organisation des fichiers et des méthodes d'accès etc Niveau Logique: BD conçue globalement, sans référence à programme particulier. Chaque groupe d'utilisateurs peut voir les données selon la forme désirée. Standardisation Contrôle Centralisé. What else Najib TOUNSI 17

Architecture des systèmes BD Cadre formel pour la conception de SGBD. Fig. 6 - Architecture ANSI/SPARC Pour une BD Najib TOUNSI 18

Architecture des systèmes BD Schéma Conceptuel de Données: Représentation (abstraite) de tout le contenu de la base Description de l'ensemble des informations dans le langage de définition de données. Schéma Interne : Représentation interne (concrète) de ce contenue. gérée directement par le SGBD Schémas Externes (Vues externes) : Représentation de parties de la base. Description des données telles qu'elles sont vues par un utilisateur (ou groupe). Najib TOUNSI 19