Les bases de données Cours assuré par: Mlle Smii imen Imen.smii@yahoo.fr ISG: 3éme année informatique appliquée à la gestion 22 avril 2010
3-comment exploiter une BD OBJECTIFS Assimiler : 1- La notion de BD. 2- L’utilité d’une BD 3-comment exploiter une BD
Pré requis des connaissances en programmation des connaissances en conception - MCD - MPD - règles de passage d’un MCD à un MPD
Références Cours de Mr Mohammed Anis Bachtobji (ESCE AU 2010) cours de Mr Mohammed Salah guider (ISG-Tunis A U 2008) Cours de Mr Mohammed Anis Bachtobji (ESCE AU 2010) Cours Mr FARAH Imed Riadh (FSJEGJ-jendouba AU 2009) www.commentçamarche.net www.wikipedia.org http://ceria.dauphine.fr/cours98/BD-wl-98.html
Plan Introduction Concepts de base Modèles de bases de données Système de Gestion de base de données Langage SQL
Concepts de base Modèles de BD SGBD SQL Introduction Les Bases de données Les activités humaines génèrent un volume de données qui ne cesse de croitre Dans les entreprises, on manipule souvent des données ayant la même structure. les données peuvent de plus en plus être gérées par des moyens informatiques. Les activités humaines génèrent des données. Il en a toujours été ainsi et, plus notre civilisation se développe, plus le volume de ces données croît. Exemple des empolyés, des clients et des produits. dès lors que des données sont rassemblées et stockées d’une manière organisée dans un but spécifique, on parle de base de données.
Une base de données est un ensemble Modèles de BD SGBD SQL Concepts de base Introduction Définition: Une base de données est un ensemble de données , enregistrées sur ordinateur et accessible à un ensemble structuré d’une institution d’utilisateurs Aspect Structure: la forme que va suivre les données, tous ce qui est défini lors de la phase de création Aspect contenu: les données contenue dans la base
Concepts de base Administrer Administrateur de BD Modèles de BD SGBD SQL Concepts de base Introduction Administrer Configurer Maintenir Gérer DA Créer Administrateur de BD Exploiter les données Supprimer Modifier Consulter Utilisateur
Modèles de BD Le Modèle relationnel Le modèle hiérarchique Le modèle en réseau BD Le modèle orienté objet Le modèle objet-relationnel
BD hiérarchique Définition: Exemple: Segments Modèles de BD Concepts de base Modèles de BD SGBD SQL Introduction Modèles de BD BD hiérarchique Définition: Une base de données hiérarchique est une base de données dont le système de gestion de fichier lie les enregistrements dans une structure arborescente où chaque enregistrement n'a qu'un seul possesseur. Point d’entrée à la BD Exemple: Segments
… BD hiérarchique (2) Modélisation parfaite pour les structures strictement hiérarchiques! BD hiérarchique (2) Banque 1..1 Département informatique 1..1 1..1 1..1 Cellule réseau Cellule développement Cellule maintenance … 1..n 1..n 1..n Tech1 Tech2 Tech3
Problèmes de redondance, perte de temps et incohérence!!!! BD hiérarchique (3) Problème d’ambiguïté !!!! ISG ISG OU Problèmes de redondance, perte de temps et incohérence!!!! Enseignant Enseignant n..n Etudiants Etudiant Etudiant Enseignant
Concepts de base Modèles de BD SGBD SQL Introduction Modèles de BD Les Bases de Données relationnelles Définition: Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle. Ce modèle est introduit par Edgar Frank Codd (Chercheur chez IBM à la fin des année 1960). une BD relationnelle est Un ensemble de relation. Elle est représentée sous forme de tables (lignes représentant les enregistrements et colonnes représentant les attributs)
Règles d’intégrité Structure de Base Clé Primaire: Domaine: Relation: Les Bases de Données relationnelles Règles d’intégrité Structure de Base Clé Primaire: un sous-ensemble minimale des attributs identifiant un Tuple unique. Domaine: Ensemble de valeurs caractérisés par un nom. Il doit être élémentaire. Relation: Sous ensemble de produits cartésiens d’une liste de domaines caractérisés par un nom Attribut: Colonne d’une relation caractérisée par un nom. Tuple: Ligne d’une relation=enregistrement Contraintes de référence: La clé étrangère d’une relation R1 référence un enregistrement de R2 Contraintes de domaine: Les valeurs des attributs vérifient les contraintes structurelles Contraintes de relation: Chaque relation possède une clé primaire a laquelle participent des attributs non nuls.
Algèbre relationnelle Opérateurs relationnels Opérateurs ensemblistes Union: Opération sur 2 relations R1 et R2 de même schéma constituant une relation R3 ayant pour tuple ceux appartenant à R1 ou R2 ou (R1 et R2). Intersection: Opération sur 2 relations R1 et R2 de même schéma constituant une relation R3 ayant pour tuple ceux appartenant à R1 et à R2 à la fois. Différence: Opération sur 2 relations R1 et R2 de même schéma constituant une relation R3 ayant pour tuple ceux appartenant à R1 et appartenant pas à R2. Sélection Construire une relation R2 a partir de R1 en enlevant des lignes ne satisfaisant pas une condition Projection Construire une relation R2 a partir de R1 en enlevant des attributs mentionnés en opérande. Jointure Former une relation R3 en concaténant les tuples de 2 relations R1 et R2 vérifiant une condition de rapprochement. Division Diviser une relation R1(A1,A2,…) par une relation R2(Ap, Ap+2,…An) pour obtenir une relation R3 dont les tuples sont ceux qui, concaténés avec tout tuple de R2, donnent un tuple de R1.
Exemples sur le marché: Concepts de base Modèles de BD SQL SGBD Introduction Définition: SGBD: Un ensemble de programmes qui permettent la gestion, l’administration et l’accès à une base de données. Exemples sur le marché: Modèle hiérarchique: IMS Modèle en réseau: Codasyl Modèle relationnel: Oracle , Informix, MySQL ,Sybase, SQL SERVER, Postgress
Fonctionnalités de base: Concepts de base Modèles de BD SQL SGBD Introduction Fonctionnalités de base: Ajout; Modification; Suppression; Recherche; paramétrage. Caractéristiques: Cout; le volume de données qu'ils sont capables de gérer; le nombre d'utilisateurs qui peuvent interroger la base simultanément; la facilité avec laquelle ils s'interfacent avec les autres logiciels d'application utilisés par l'entreprise.
Concepts de base Modèles de BD SGBD SQL Introduction Définition: SQL: Structured query language ou langage structuré de requêtes est un langage standard et normalisé destiné à interroger ou à manipuler une base de données relationnelle. Composantes: un langage de définition de données :LDD CREATE , ALTER, DROP. un langage de manipulation de données :LMD INSERT, UPDATE, DELETE, SELECT. un langage de contrôle de données :LCD GRANT, REVOQUE.
Structure d’une requête SQL: Concepts de base Modèles de BD SGBD SQL SQL Introduction Requête: Une requête est un Ordre ayant une syntaxe précise envoyé à un SGBD pour manipuler et récupérer des données d'une base de données. Structure d’une requête SQL: SELECT attribut1, attribut2, …, attributn FROM nom_de_la_table WHERE condition ;
Exercice d’application: SELECT * FROM Client WHERE âge> ( SELECT avg (âge) FROM Client) ; Concepts de base Modèles de BD SGBD SQL SQL Introduction Exercice d’application: R1: donner les noms et les prénoms des clients ayant L’ âge inférieur à 35 R2: donner la liste des Clients et des Fournisseurs de Tunis R3: donner la liste des clients qui ont l’ âge supérieur à la moyenne d’ âge de tous les clients? SELECT Client.*, Frs.* FROM Client, Frs WHERE Client.ville= ‘tunis’ and Frs.ville=‘tunis’ ; SELECT nom,prénom FROM Client WHERE âge<35 ;