CPGE OUJDA                                                                                                                                                                                                                                          Spé 

 

Base de données

 

Les bases de données  sont des outils qui permettent de stocker des données nombreuses dans un seul ensemble bien structuré. Lorsquil sagit de bases de données relationnelles, il devient en outre tout à fait possible déviter l« enfer des doublons ». Vous avez sûrement été déjà confrontés à ce problème : des données identiques ont été enregistrées dans plusieurs fichiers différents. Lorsque vous souhaitez modifier ou supprimer lune de ces données, vous devez ouvrir et modifier tous les fichiers qui la contiennent ! Le risque derreur est très réel, qui conduit inévitablement à des incohérences, sans compter la perte de temps que cela représente.

Les bases de dones constituent la solution à ce type de problème. Python vous fournit les moyens d’utiliser les ressources de nombreux systèmes : SQLite , PostgreSQL.,etc

Les bases de    données

 

Il existe de nombreux types de bases de données. On peut par exemple déjà considérer comme une base de données élémentaire un fichier qui contient une liste de noms et dadresses.

 

 

La situation se complique cependant très vite si lon souhaite pouvoir effectuer des sélections et des tris parmi les données, surtout si celles-ci deviennent très nombreuses. La difficulté augmente encore si les données sont répertoriées dans différents ensembles reliés par un certain nombre de relations hiérarchiques, et si plusieurs utilisateurs doivent pouvoir y accéder en parallèle.

 

Imaginez par exemple que la direction de votre école vous confie la charge de mettre au point un système de bulletins informatisé. En y réfléchissant quelque peu, vous vous rendrez compte rapidement que cela suppose la mise en œuvre de toute une série de tables(fichiers) différentes : une table des noms délèves (laquelle pourra bien entendu contenir aussi d’autres informations scifiques à ces élèves : adresse,  date de naissance, etc.) ; une  table contenant la liste des cours (avec le nom du professeur titulaire, le nombre dheures enseignées par semaine, etc.) ; une  table morisant les travaux pris en compte pour lévaluation (avec leur importance, leur date, leur contenu, etc.) ; une table crivant la manière dont les élèves sont groupés par classes ou par options, les cours suivis par chacun, etc.

 

Vous comprenez bien que ces différentes tables ne sont pas indépendantes. Les travaux effectués par un même élève sont liés à des cours différents. Pour établir le bulletin de cet élève, il faut donc extraire des données de la table des travaux, bien sûr, mais en relation avec des informations trouvées dans d’autres tables (celles des cours, des classes, des options, etc.)

SGBDR Le modèle client/serveur

 

Les programmes informatiques capables de gérer efficacement de tels ensembles de données complexes sont forcément complexes, eux aussi. On appelle ces programmes des SGBDR (Systèmes de gestion de bases de données relationnelles). Il sagit d’applications informatiques de première importance pour les entreprises. Certaines sont les fleurons de sociétés scialisées (IBM, Oracle, Micro- soft, Informix, Sybase...) et sont en général vendues à des prix fort éles. Dautres ont été développées dans des centres de recherche et denseignement universitaires (PostgreSQL, SQLite, MySQL...) ; elles sont alors en général tout à fait gratuites.

 

Ces systèmes ont chacun leurs scificités et leurs performances, mais la plupart fonctionnant sur le modèle client/serveur : cela signifie que la plus grosse partie de lapplication (ainsi que la base de données prise en charge) est installée en un seul endroit, en principe sur une machine puissante (cet ensemble constituant donc le serveur), alors que lautre partie, beaucoup plus simple, est installée sur un nombre indéterminé de postes de travail, appelés des clients.

 

Les clients sont reliés au serveur, en permanence ou non, par divers prodés et protocoles ventuellement par lintermédiaire de lInternet). Chacun dentre eux peut accéder à une partie plus ou moins importante des données, avec autorisation ou non de modifier certaines dentre elles, den ajouter ou den supprimer, en fonction de règles daccès bien déterminées, définies par un administrateur de la base de données.

 

Le serveur et ses clients sont en fait des applications distinctes qui séchangent des informations. Imaginez par exemple que vous êtes lun des utilisateurs du système.

 

Pour accéder aux données, vous devez lancer lecution dune application cliente sur un poste de travail quelconque. Dans son processus de démarrage, lapplication cliente commence par établir la connexion avec le serveur et la base de données.  Lorsque la connexion est établie, lapplication cliente peut interroger le serveur en lui envoyant une requête sous une forme convenue. Il s’agit par exemple de retrouver une information précise. Le serveur exécute alors la requête en recherchant les données correspondantes dans la base, puis il expédie en retour une certaine réponse au client.

 

Cette ponse peut être linformation demandée, ou encore un message derreur en cas dinsuccès.

Base de données hiérarchique

Une base de données hiérarchique est une base de données dont le système de gestion lie les enregistrements dans une structure arborescente où chaque enregistrement n'a qu'un seul possesseur.
Par exemple, le canard appartient à la famille des anatidés qui elle-même appartient à l'ordre des ansériformes qui lui-même appartient à la classe des oiseaux qui elle-même appartient au sous-embranchement des vertébrés qui lui-même appartient au règne animal.

Les structures de données hiérarchiques ont été largement utilisées dans les premiers systèmes de gestion de base de données de type mainframe. Elles ont toutefois montré des limites pour décrire des structures complexes, répondre aux besoins réels et suivre l'évolution des systèmes d'information.
Cette évolution nécessaire donnera naissance aux bases de données relationnelles.

Base de données relationnelle

En informatique, une base de données relationnelle est un stock d'informations décomposées et organisées dans des matrices appelées relations ou tables conformément au modèle de données relationnel. Le contenu de la base de données peut ainsi être synthétisé par des opérations d'algèbre relationnelle telles que l'intersection, la jointure et le produit cartésien.

Une base de données est un ensemble d'informations, connexes de manière directe ou indirecte, enregistrées dans un dispositif informatique. Dans une base de données relationnelle, les informations sont stockées sous forme de groupe de valeurs : les enregistrements. Un ensemble d'enregistrements relatif à un sujet forme une relation et est stocké dans une table. La base de données comporte une ou plusieurs tables et les sujets sont connexes.

Le modèle de données relationnel permet d'utiliser les opérateurs de l'algèbre relationnelle pour retrouver une information quelconque stockée dans la base de données, ainsi que les informations connexe