Synthèse sur la conception de bases de données Pour fonctionner une entreprise doit traiter et organiser ses informations le plus efficacement possible. C est pourquoi il est important de concevoir des outils qui utilisent au mieux les meilleures méthodes d organisation de l information : les bases de données. Tous les logiciels (PGI, etc.), sites Internet (site marchant, extranet, facebook, etc) et autres outils informatiques utilisent des bases de données. NTIC : bases de données, réseaux, informatique. Pourquoi une base de données? Les principaux enjeux sont : - Stocker l information en un lieu unique et fiable - Garantir l intégrité des données (cf. importance de l information en entreprise) - Partager toute l information, éventuellement ne donner accès qu aux acteurs ayant droit. (exple?) - Structurer la gestion de l information (et donc l organisation de l entreprise) - Travailler ces données : restituer, manipuler, - Assurer la cohérence des mises à jour - Rendre disponible l information à tout heure en tout lieu (notion de réseau disponible, cf. cours de réseau) - Gérer les accès multiples et parfois simultanés Note : une donnée = une valeur unique, pouvant être transmise à un ordinateur. Donnée Information Pourquoi le modèle relationnel? Une donnée toute seule n a aucun sens, ou aucun intérêt. Il existe toujours des liens entre les données, par exemple Livre Auteur Facture Client Produit Fournisseur C est parce que ces liens existent, et qu ils sont fondamentaux, que l on parle de base de données relationnelle. La notation qui va être utilisée est très codifiée : Il est très important de respecter les règles Les logiciels peuvent les interpréter ou sont organisés en fonction de cette codification (Access, etc...) Respecter ces règles permet de se comprendre entre humains, et donc discuter, construire et modifier plus aisément une base de données Cela permet à une personne de prendre la suite d une autre Etc. Quelles données sont retenues? Les données sont classifiées selon leur «genre» et leur format. Les données par «genre» : o Les données saisies (exemple?) o Les données calculées (exemple?) o Les données paramètres (exemple?)
Seules les données saisies sont stockées en BDD, car les données calculées peuvent être retrouvées, et les données paramètres sont connues, ne varient pas dans le temps, et ne sont pas en relation (ou ne déterminent pas) avec les données à stocker. Cf exemple d une facture. Concernant le format : o Numérique (on distingue même entier / décimal) : quantité, âge, etc. o Monétaire (peut être considéré comme numérique) : prix o Texte : adresse, nom, etc. o Date/heure : date de naissance, date d achat, date de fin d abonnement, etc. o Booléen ( ou 0) : pour représenter une donnée n ayant que 2 valeur possible (oui/non, homme/femme, etc.) Attention, parfois on limite également la taille d une donnée. Par exemple un Code Postal sera un texte(5), c'est-à-dire un champ texte de 5 caractères. Les éléments d une base de données Une base de données est un ensemble de tableaux liés entre-deux. Vocabulaire Relation (=table) : o c est un groupe d éléments (individus) ayant les mêmes propriétés o (exemple : Auteur, Client, Matière, etc.) o (attention le terme est ambigu) Attribut (=champ) : o C est une colonne d un tableau, correspond à une propriété de la relation o (exemple : Nom d un auteur, Adresse d un client, Coefficient d une matière) Enregistrement : o une ligne du tableau, c est un individu de la relation o (exple auteur, le client Dupond, la matière GSI Clé primaire : o identifiant unique d un enregistrement permet de le retrouver o (exemple : code sécurité sociale, numéro de facture, plaque d immatriculation, etc.) Clé étrangère (= clé secondaire) : o référence à une clé primaire d un autre tableau, c est ce qui matérialise le lien entre les relations. Tuple : o La table (ou tableau ou relation) ensemble de valeurs des attributs d un objet (ligne) est donc l ensemble des données qui décrivent un groupe d individus. Chaque ligne(ou enregistrement) = un objet (individu) en particulier Chaque colonne (ou attributs) = propriété spécifique que possède chaque individu de la table (adresse, numéro de téléphone, etc.) Chaque cellule = valeur de l attribut pour individu en particulier. L attribut (ou champ) est l élément le plus petit stocké, il contient une donnée élémentaire. Tableau. Les champs particuliers
- La clé primaire : o permet d identifier de façon unique et certaine un enregistrement de la table o ne peut pas être vide o est unique (2 valeurs identiques impossibles dans une même table) o peut être numérique, texte, monétaire, date. Exemple d une clé primaire? Exemple d un attribut qui ne peut pas être clé primaire? - clé étrangère o champ dont la valeur permet de faire le lien avec la clé primaire d une autre table o la valeur de la clé secondaire existe forcément dans la liste des valeurs de la clé primaire de la table référencée. o Cela matérialise le lien. - Clé primaire multiple : o 2 attributs, ou plus constitue la clé primaire o Doit être unique également, mais c est le couple de valeur qui doit être unique. Notions supplémentaires - Cardinalité : o c'est à dire le nombre de liens qu'il peut exister entre les 2 entités. o Exemples : une voiture est achetée par une personne. Une personne peut acheter plusieurs voitures. - Redondance : o répétition d une même donnée o (exemple : l adresse d un client dans 2 tables différentes), o à éviter absolument. Le Modèle Relationnel CONCEPTUEL C est un schéma qui va permettre de concevoir la base de données en visualisant les grandes entités et les liens entre elles N N N N N
L on ne matérialise pas encore ici les attributs de chaque entité. Mais ce schéma permet de comprendre rapidement la structuration de l information. Pour arriver à concevoir ce schéma il existe 2 méthodes : - Placer les entités «évidentes» (en bleu ici) et en déduire les associations entre elles (en vert) et éventuellement d autres entités - Partir d un dictionnaire de données qui permettra de déduire le schéma Notion de dictionnaire de données Le dictionnaire de données est une liste de l ensemble des données (pas informations) que l on veut stocker dans la base de données. Ce dictionnaire est exhaustif et permet de ne pas oublier des champs importants. Le modèle Relationnel LOGIQUE. Le modèle logique constitue l étape qui précède l informatisation de la base de données. C est une représentation de l ensemble des entités, avec leurs attributs et types d attributs. Cette étape est fondamentale, car si elle est bien exécutée, la mise en place informatique sera très simple. Le modèle logique obéit à des codes de représentation qu il faut absolument respecter : - Le nom de la table (entité) est suivi des attributs de la table entre parenthèses - La clé primaire est soulignée - La/les clé(s) secondaire(s) sont marquées par un # - Les attributs sont séparés par des virgules PROFS ( numprof NUMERIQUE, nom TEXTE, prénom TEXTE, email TEXTE, ) ELEVES ( numeleve NUMERIQUE, nom TEXTE, prénom TEXTE, email TEXTE, bac TEXTE, ddn DATE, ) SALLES ( numsalle NUMERIQUE, localisation TEXTE, nb places NUMERIQUE, videoproj BOOLEEN,wifi BOOLEEN,.) MATIERES (nummatiere TEXTE, nom TEXTE, Nb heures NUMERIQUE, programme TEXTE, coef NUMERIQUE, numprof# NUMERIQUE, ) INSCRITS (numinscription NUMERIQUE, numeleve# NUMERIQUE, nummatiere# TEXTE ) HORAIRES ( numhoraire NUMERIQUE, nummatiere# TEXTE, numsalle# NUMERIQUE, date DATE,heure DATETIME ) La notion de contraintes d intégrité : Une base de données doit être conçue pour assurer la fiabilité la plus élevée possible pour les données qu elle contient. Pour cela il faut respecter des contraintes d intégrité - Contrainte numéro dite de domaine : Eviter les incohérences en respectant les types de données - Contrainte numéro 2 dite de référence : Impossibilité d enregistrer pour une clé étrangère une valeur qui n existe pas dans la clé primaire référencées. - Contrainte numéro 3 de clé primaire : respecter la présence d une clé primaire et l unicité de ses valeurs. Les formes normales Ce sont des règles qui permettent d éviter la redondance des informations, et donc la potentielle apparition d incohérences ère forme normale : o Si la relation possède une clé primaire o Si les attributs ont une valeur atomique (indivisible) (exple : si une facture concerne plusieurs produits, il faut créer une table supplémentaire (lignes_factures)
2 ème forme normale o Si la relation est en ère forme normale o Les attributs non clé dépendent de la clé (exemple du livre page 72) 3 ème forme normale o Si la relation est en 2 ème forme normale o Les attributs non clé ne dépendent pas d un autre attribut non clé