Initiation au système d’information et aux bases de données I.Roulaud
Le système d’information et les bases de données…. Introduction I.Roulaud
Le système d’information et les bases de données…. Introduction Quelles sont les fonctions d’un système d’information? Comment est-il géré? Comment on le représente? Qu’est-ce qu’une base de données? A quoi sert-elle? Comment est-elle structurée? Comment on l’interroge? Comment modélise-t-on une base de données? I.Roulaud
La base de données : introduction Définition Plusieurs étapes pour la créer La représentation d’une base de données et le modèle relationnel I.Roulaud
Définition Ensemble d’informations structurées en tables, dont l’implantation, la mise à jour et l’exploitation sont réalisées à l’aide d’un Système de Gestion de Bases de Données. Elle est définie par son schéma (sa structure) et son contenu (les valeurs). I.Roulaud
Les étapes pour créer une base de données Etape 1: repérage des différents types de données Etape 2: liste des données et attribution d’un nom aux données Etape 3: regroupement des données dans des « tables » Etape 4: comment structurer la « table » de façon rigoureuse Etape 5: la création d’une table en tenant compte de « contraintes » Etape 6: la définition de liens entre deux tables: la dépendance fonctionnelle entre 2 tables Etape 7: la création de dépendances fonctionnelles entre 2 tables, respectant les « contraintes d’intégrité référentielles » Cas particulier: les tables en dépendance fonctionnelle composée etape 1, 2: ce qu'on fait lorsque l'on définit le modèle relationnel I.Roulaud
Etape 1: les types de données On distingue 2 types de données: * Les données calculées obtenues par traitement des données saisies Exemple: Montant=PrixUnitairexQuantité * Les données saisies par l’utilisateur (D. Elémentaires) Exemple: N° de commande, Nom du client, Désignation du produit…; I.Roulaud
Etape 2: la liste des données Dans la liste des données (ou dictionnaire des données), on ne retient que les données saisies Numcom Refprod Datecom Designprod Numcli PUprod Nomcli Quantité Adresseruecli CPcli villecli On a attribué un nom différent à chacune des données, pour éviter les polysèmes (un même nom identifie plusieurs données) On détaille suffisamment les données pour faciliter l’interrogation de la base… Dans la liste des données (ou dictionnaire des données), on ne retient que les données saisies les données calculées pourront être déterminées à partir des données de base: Le nom choisi doit être compréhensible, pour identifier facilement la donnée; il ne doit pas comporter d’espaces ni certains symboles (ex °) Il ne peut y avoir de « synonymes » Ex: « designproduit » & « libelleproduit» pour le nom des produits Le nom choisi doit être compréhensible, et être rédigé selon certaines règles I.Roulaud
Etape 3: les tables L’analyse de la liste des données saisies permet de mettre en évidence des ensembles homogènes Exemple: Données concernant les clients Données concernant les produits * Chacun de ces ensembles est représenté par une table. Exemples : - La table « produit » -la table « client » I.Roulaud
Etape 4: la structure des tables Une table se compose: De colonnes, où sont indiquées les différents attributs De lignes où sont rangées les valeurs des différents attributs. L’ensemble des valeurs d’une ligne est appelé un enregistrement. La clé Primaire est située En 1ère colonne Dépendance fonctionnelle Connaître la valeur de la « clé primaire », c’est connaître, de façon unique, la valeur des autres attributs. On dit qu’il existe entre eux une dépendance fonctionnelle. Exemple: le « numéro de client » permet de trouver son nom, adresse, etc…. Un attribut principal, appelé « clé primaire », doit permettre d’identifier chaque enregistrement, sans ambiguïté. Donc les valeurs de l’attribut « clé primaire » doivent être obligatoirement uniques. I.Roulaud
Etape 5: la création d’une table Pour créer une table, il faut: Définir obligatoirement une clé primaire. Définir, pour chaque attribut, un type de données. On peut aussi préciser d’autres caractéristiques, pour plus de sécurité. La clé primaire est déclarée « sans doublon », pour éviter la saisie de valeurs identiques Contrainte de clé primaire (ou de relation) On peut préciser, pour chaque attribut: - le type de données: numérique, texte, date, booléen, … - la taille des données,…. On peut aussi définir des contrôles à la saisie Contrainte de domaine I.Roulaud
Etape 6: les liens entre 2 tables: la dépendance fonctionnelle Connaître un numéro de commande, c’est retrouver le numéro de client concerné . On dit qu’il existe entre eux une dépendance fonctionnelle entre deux tables. (tables « commande » et « client ») pour matérialiser ce lien, on ajoute dans la table « commande », une colonne «numcli »:celle-ci sera appelée « clé étrangère » L’attribut commun aux 2 tables matérialise la dépendance fonctionnelle entre les 2 tables: table commande dépend fonctionnellement de la table client. I.Roulaud
Etape 7: la contrainte d’intégrité référentielle Dans notre exemple, lorsque je saisis la commande, il faut contrôler que le numéro de client, qui est saisi comme « clé étrangère », corresponde bien à un numéro de client qui existe! Il faut donc poser des contraintes d’intégrité référentielles: Interdiction de la saisie de la commande d’un client inconnu de la base. possibilité de mise à jour automatique du numéro de client dans la clé étrangère, de la table « commande » Interdiction de supprimer un client qui est lié par une commande! I.Roulaud
Cas particulier: la dépendance fonctionnelle composée Dans notre exemple, la combinaison du numéro de commande (Numcom) ET de la référence du produit (Refprod), nous donne, de façon unique la quantité commandée (Quantité) On dit qu’il existe une dépendance fonctionnelle multiple ou composée, à partir des tables « PRODUIT » et « COMMANDE » Ce double lien sera matérialisé par une table supplémentaire « COMPRENDRE », pour saisir les lignes de la commande. La clé primaire sera la concaténation, des deux clés étrangères: Numprod+Refprof, et l’attribut I.Roulaud
La représentation d’une base de données A) Le modèle physique B) Le modèle relationnel C) modèle relationnel et base de données I.Roulaud
A) Le modèle physique L’ensemble des tables et des liens créés par la présence d’attributs communs à plusieurs tables (clés primaires + clés étrangères) forment le MODELE PHYSIQUE. Aucune table ne peut rester isolée! Le modèle physique peut-être visionné dans le logiciel Access: Menu: Outils Relations - ou I.Roulaud
B) Le modèle relationnel Le modèle physique est issu d’une analyse préalable et normalisée, appelé modèle relationnel. Le modèle relationnel est une présentation des données, logique et rationnelle, permettant de les rendre exploitables, par n’importe quel logiciel SGBDR. Le tables sont des RELATIONS -Nom de la relation L’attribut clé primaire est indiqué en premier et souligné La clé étrangère éventuelle, sera placée en dernier, et précédée de # L’ensemble des attributs formant une clé primaire concaténée, sera souligné. PRODUITS (RefProd, Designprod, PUprod) CLIENT (Numcli, Nomcli, Adresseruecli, AdresseCPville, villecli) COMMANDE(Numcom, datecom, #Numcli) COMPRENDRE(Numcom,Refprod,Quantité) I.Roulaud
C) modèle relationnel & base de données I.Roulaud