Ordinateurs

Bases de données relationnelles et systèmes d’information

Contenus de la page

Charles est un ingénieur en logiciel et un professeur d’université qui s’intéresse à la technologie, à la médecine, à l’économie et à la nutrition.

bases-de-donnees-et-systemes-d-information-relationnels

A quoi servent les bases de données ?

La plupart des gens diront qu’ils stockent des données. Ce n’est pas vrai.

Les bases de données sont terribles pour les données défectueuses. Si vous souhaitez simplement stocker des données, utilisez des fichiers. Compressez les fichiers et effectuez des sauvegardes redondantes. Une base de données occupera facilement 10 fois la quantité de stockage.

Les bases de données sont bonnes pour répondre aux questions. Pour ce faire, ils utilisent de la RAM supplémentaire et de l’espace disque pour améliorer la vitesse. Entre la vitesse et l’espace, la vitesse gagne toujours jusqu’à ce que vous manquiez d’espace.

Dans ce didacticiel, je couvrirai les concepts de base de la base de données afin que vous puissiez comprendre les bases de données que vous utilisez et, espérons-le, communiquer plus efficacement les problèmes et les demandes de fonctionnalités. Commençons.

Cinq types de données

La plus petite partie d’une base de données s’appelle un champ. Les données d’un champ sont l’un des cinq types de base.

  1. Les types de chaîne sont implémentés comme CHAR, VARCHAR, VARCHAR2. La différence entre ces types n’est pas importante, sauf si vous êtes un DBA. Les chaînes sont toutes utilisées pour stocker tout ce que vous pouvez taper sur un clavier. Selon le logiciel que vous utilisez, une chaîne peut contenir jusqu’à 1 000 caractères environ. Les chaînes sont le type de données le plus courant et le plus important, et vous pouvez les utiliser pour tout, mais il existe parfois un type mieux adapté et plus spécialisé disponible.
  2. Les nombres entiers, également appelés INT, sont utilisés pour compter, exprimer lequel ou combien. Ils sont également souvent utilisés comme index, qui seront expliqués plus loin.
  3. Les nombres à virgule flottante, également appelés NOMBRE, sont utilisés pour les mesuresexprimant combien, ou pour les mathématiques générales.
  4. Les dates, représentées par les types DATE ou DATETIME sont utilisées pour les informations de calendrier ou de planification. Les anniversaires, les mariages, les horaires de cours, les horaires de travail, les rendez-vous et les réservations utilisent tous des DATE pour indiquer un moment où quelque chose s’est produit ou est censé se produire.
  5. Les grands objets binaires, également appelés BLOB dans le jargon des bases de données, sont utilisés pour stocker tout ce qui est trop volumineux pour une chaîne. ou est dans un format spécial non compatible avec le texte. Les BLOB peuvent contenir des données compressées, des images, des sons ou des films et peuvent stocker des centaines de Mo.
A lire aussi :  Comment configurer l'accès à distance à votre ordinateur avec LogMeIn

Trois niveaux d’organisation

Les bases de données relationnelles sont constituées de tables, qui sont constituées d’enregistrements, qui sont constitués de champs.

  1. Des champs sont ce que nous venons de couvrir avec les cinq types de données. Chaque champ a un nom et un type.
  2. enregistrements existent dans les tableaux. Une table peut avoir 0 enregistrement ou plus, mais deux enregistrements ne peuvent pas être exactement identiques.
  3. les tables ont chacun un nom et une liste de champs. Chaque enregistrement de la table sera un ensemble de ces champs.

NULL et UNIQUE

Par défaut, n’importe quel champ peut être NULL, ce qui signifie que les données sont manquantes. Si les données du champ sont obligatoires, vous pouvez les marquer comme NOT NULL. Si un champ n’est PAS NULL, vous pouvez également le marquer comme UNIQUE, ce qui signifie que chaque enregistrement de cette table doit avoir une valeur différente pour ce champ.

UNIQUE est très prisé dans les grandes bases de données car cela signifie que vous pouvez garantir que vous obtiendrez une ou zéro réponse, jamais deux ou plus. Dans une table contenant des millions d’enregistrements, l’absence de cette garantie peut facilement entraîner des pages et des pages de données lorsque vous recherchez un seul champ.

SQL

Le langage de requête structuré (SQL) est le moyen de poser des questions à votre base de données. Le SQL le plus important est une instruction SELECT qui, comme son nom l’indique, vous permet de choisir un sous-ensemble de vos données et de l’inclure dans un rapport.

A lire aussi :  Termes et terminologie de base pour Microsoft Excel

Une instruction SELECT comporte trois parties.

  1. La première partie est le mot-clé SELECT suivi d’une liste de champs. Ces champs sont ce à quoi vous voulez que votre réponse ressemble.
  2. La deuxième partie est le mot-clé FROM suivi d’une liste de tables. Ces tables indiquent à SQL où rechercher les données, parmi les centaines de tables potentielles de votre base de données.
  3. La troisième partie facultative est le mot-clé WHERE auquel vous pouvez penser comme signifiant « si ». Si la clause WHERE est manquante, toutes les réponses possibles sont renvoyées. Si elle est présente, la clause WHERE limite les réponses à celles qui sont évaluées comme vraies.

Ajoutez à cela quelques rides pour plus de commodité. Si la liste des champs après SELECT est remplacée par *, tous les champs applicables feront partie de votre réponse. Si la liste des champs est remplacée par COUNT

alors votre réponse sera un nombre entier du nombre de réponses qui ont réussi le test logique dans la clause WHERE.

SELECT COUNT(*) FROM LIBRARY_BOOKS;

Faites défiler pour continuer

Cet exemple vous indiquera le nombre d’enregistrements dans la table LIBRARY_BOOKS. Une fois que vous avez compris SELECT, UPDATE fonctionne de la même manière mais choisit les enregistrements à modifier.

Rejoindre

Une jointure est simplement lorsque vous avez une clause where qui teste l’égalité de deux champs. Généralement, il s’agit de champs clés dans différentes tables, mais il peut également s’agir du même champ dans la même table.

Le graphique ci-dessus montre différents types de jointures selon que le test a trouvé une correspondance ou non. C’est un sujet lourd et vous l’étudierez davantage si vous écrivez beaucoup d’instructions SELECT complexes.

Clés et index

Une clé pour une table est quelque chose que vous recherchez afin de trouver les enregistrements que vous voulez. Une clé est souvent un champ, mais peut être un ensemble de plusieurs champs ensemble.

Pour accélérer cette recherche, ajoutez un index à la table. Les index accélèrent la recherche, mais l’ajout ou la modification des données de la table est plus lent car vous devez mettre à jour la table et également mettre à jour l’index. Habituellement, cela revient en faveur d’avoir l’index, mais pour des raisons d’efficacité, un index doit avoir le moins de champs numériques et aussi petits (en octets) que possible. Les index INT sont les meilleurs.

Une clé primaire est un type spécial de clé où chaque valeur de clé a au plus un enregistrement dans la table. C’est une bonne chose pour l’efficacité car une fois que la base de données trouve un enregistrement qui correspond à une clé primaire, elle peut arrêter la recherche.

  • Relations d’entité
    One-to-one (modèle de données) – Wikipédia, l’encyclopédie libre
  • Une relation un à un est le type le plus simple et signifie que pour chaque côté, au plus une correspondance existe de l’autre côté. Les relations individuelles incluent un livre avec sa couverture, une chaussure gauche à sa droite et une araignée dans sa toile.
    One-to-many (modèle de données) – Wikipédia, l’encyclopédie libre
  • Les relations un-à-plusieurs existent lorsqu’un côté peut avoir plusieurs de l’autre, comme un portefeuille contenant de nombreuses cartes de crédit, une salle de classe pleine d’étudiants et des touches sur un clavier.
    Plusieurs-à-plusieurs (modèle de données) – Wikipédia, l’encyclopédie libre
A lire aussi :  Récupération de photos et de fichiers sur un ordinateur portable

Les relations plusieurs-à-plusieurs existent lorsque les relations un-à-plusieurs vont dans les deux sens. Les étudiants inscrits à des cours, des photos sur une page Web et des amis ayant des amis sont tous de bons exemples.

normalisation

La normalisation de la base de données est très sèche et vous n’avez pas à vous en préoccuper tant que vous n’êtes pas un administrateur de bases de données. Même la plupart des DBA pour la plupart des bases de données n’ont pas besoin de comprendre beaucoup plus de normalisation que ce qui suit.

Il existe différents niveaux de normalisation, mais le levain est celui-ci. Vous ne voulez stocker chaque bit de données nécessaire dans votre base de données qu’une seule fois, pas zéro fois, ni deux fois.

Pour illustrer la table LIBRARY_BOOKS, supposons que chaque livre de la bibliothèque ait un matériau de reliure en cuir ou en papier et une couleur de reliure toujours noire pour le cuir et marron pour le papier. S’il y a beaucoup de livres de chaque type, le matériau et la couleur sont des champs redondants et un seul d’entre eux doit être stocké pour chaque livre. Mettre les associations de cuir noir et de papier marron dans un tableau séparé vous évite de stocker ces données plus d’une fois.

Que se passe-t-il si vous le stockez plus d’une fois ? Évidemment, vous gaspillez de l’espace, mais ce n’est pas le plus important. Vous pouvez également introduire des erreurs ou des omissions dans vos données. Et si, pour une raison quelconque, la bibliothèque perdait tous les livres reliés en cuir ? Alors l’association du cuir noir ne serait nulle part dans la base de données.

Ceci est un exemple trivial pour des raisons de simplicité, mais imaginez qu’une base de données stocke plusieurs fois le nom ou le numéro de téléphone d’une personne. Un emplacement peut être mis à jour et un autre laissé avec des informations erronées.

Pour résoudre ce problème de manière générale, la normalisation pose la question : y a-t-il des champs dans cette table qui sont complètement déterminés par un autre ensemble de champs de clé non primaire ? (La couleur de la reliure du livre est-elle entièrement déterminée par le matériau de reliure ?) Si tel est le cas, vous souhaiterez peut-être normaliser ces champs dans une table distincte.

Toutes nos félicitations!

Tu es arrivé au bout. Êtes-vous un DBA maintenant ?

Oui, vous l’êtes! Mais seulement si vous étiez DBA lorsque vous avez commencé à lire. La configuration d’une petite base de données relationnelle dans MySQL ou SQLite est très simple et peut être effectuée sans même les bases minimales de cet article d’introduction. Savoir ce que vous faites maintenant pourrait vous rendre moins dangereux.

Le chemin à partir de là peut vous mener à un cours formel sur les bases de données, à un manuel ou à une série de conférences vidéo, ou à tout le moins à une meilleure appréciation des données contenues dans les bases de données que vous utilisez et du travail effectué par votre sympathique DBA de quartier. Voyagez en toute sécurité !

Cet article est exact et fidèle au meilleur de la connaissance de l’auteur. Le contenu est uniquement à des fins d’information ou de divertissement et ne remplace pas un conseil personnel ou un conseil professionnel en matière commerciale, financière, juridique ou technique.

Bouton retour en haut de la page