Cours d informatique les bases de données
…
2 Historique
2.1 L'organisation en fichier
Jusqu’aux années 60 : Les données étaient organisées en fichiers.
Les points particuliers de cette organisation étaient :
2.2 L'apparition des SGBD
A la fin des années 60 sont apparus les premiers SGBD qui organisaient la séparation de la description des données de leur manipulation par les programmes d’application : SOCRATE, TOTAL, IDMS, IDS2, IMS2.
Les points particuliers de cette nouvelle organisation étaient :
2.3 Les SGBD relationnels
À partir de 1970 apparaît la deuxième génération de SGBD à partir du modèle relationnel. Les principales évolutions sont l'enrichissement et la simplification des SGBD afin de faciliter l’accès aux données pour les utilisateurs.
Commercialisation depuis 1982 : ORACLE, INGRES, SYBASE, INFORMIX, DB2,
RDB.
2.4 Les bases de données objet
Il s'agit de la troisième génération de SGBD née dans les années 80 et basée sur le modèle objet: ONTOS, ObjectStore, VERSANT, ORION, O2.
2.5 Les SGBR actuels
2.5.1 Les SGBD commerciaux :
2.5.2 Les SGBDR libres
Généralement sous Windows et Linux
2.5.3 Le poids des acteurs du marché
3 Les objectifs d'un SGBDR
Un remaniement de l'organisation physique des données n'entraîne pas de modification dans les programmes d'application.
Un remaniement de l'organisation logique des données (ajout d'une nouvelle rubrique, ajout d'une nouvelle liaison…) n'entraîne pas de modifications dans les programmes d'application dont la ''vision'' logique n'a pas évolué.
Des utilisateurs non informaticiens doivent pouvoir manipuler simplement les données, c’est- à-dire les interroger et les mettre à jour sans préciser d’algorithme d’accès.
Un SGBD doit fournir des outils pour décrire les données, permettre leur suivi de ces structures et autoriser leur évolution. C’est la tâche des administrateurs de données : conception, création, maintenance, « arbitrage ».
Nécessité de garantir un bon débit (nombre de transactions exécutées par seconde) et un bon temps de réponse (temps d’attente moyen pour une requête). Partage des ressources (CPU, disques…) entre les utilisateurs en optimisant l’utilisation globale afin d’éviter, par exemple, qu’une requête courte d’un utilisateur attende la fin d’une requête longue d’un autre utilisateur.
Si redondance, volume de stockage plus important, opérations de mise à jour multiples, incohérences momentanées ou permanentes.
Ex. L’âge d’une personne doit être un entier positif. Un SGBD doit veiller à ce que les applications respectent cette règle lors des modifications de données. Une telle règle est appelée contrainte d’intégrité.
Diverses applications doivent pouvoir partager les données de la base dans le temps et simultanément, comme si elles étaient seules à les utiliser.
Les données doivent être protégées contre les accès non autorisés ou mal intentionnés. La sécurité des données doit aussi être assurée en cas de panne d’un programme ou du système, voire de la machine.
4 L'organisation d'un SGBDR
4.1 Notion de tables
Une base de données est constituée par des tables reliées entre elles, c’est pourquoi on parle de bases de données relationnelles. Une table est un tableau. Ses lignes sont appelées les enregistrements et l’intitulé de ses colonnes les champs. A l’intersection d’une ligne et d’une colonne figure une valeur
La structure d’une table donne la liste des champs (attributs) qui la composent. Pour chaque champ, elle précise ses propriétés, essentiellement :
4.2 Les types de données de base
Pour chaque champ, il faut préciser le type d’informations que celui-ci sera capable de stocker. A chaque type correspond une place en octets nécessaire sur le disque pour enregistrer les valeurs du champ. Les différents types sont:
4.2.1 Le type numérique
4.2.2 Le type texte
4.2.3 Le type Date/heure
4.3 Des types particuliers
Il s'agit souvent de dérivés des types de bases qui sont déclinés en fonction de la base de données. Il peut également s'agir simplement de mise en forme pour l'affichage. Ils sont très répandus dans les bases de données à interface graphique (Access)
4.3.1 Le type monétaire
4.3.2 Le type NuméroAuto
4.3.3 Le type Oui/Non
4.3.4 Le type Lien hypertexte
4.3.5 Le type mémo
4.3.6 Le type OLE
4.4 La notion d'intégrité
Les contraintes d'intégrité font partie du schéma conceptuel. Parmi celles-ci, on distingue :
Appliquer l'intégrité référentielle implique :
La notion d'intégrité d’intégrité référentielle est au cœur même de la base de données. Elle lui confère son caractère relationnel. Référentielle signifie que la clé étrangère doit faire référence à une clé primaire.
5 Rappel sur le modèle relationnel
Le modèle relationnel représente la structure de la base de donnée, à savoir
Le schéma relationnel est indépendant de la base de données utilisée.
5.1 Représentation du modèle relationnel
Cette représentation n'est pas normalisée, mais fait appel à des habitudes. Il est important dans cette représentation de représenter explicitement:
Elle existe sous différentes formes :
5.1.1 La représentation textuelle :
CLIENT (No_Client, Nom_Client, Ad_Client …) COMMANDE (No_Cde, Date_Cde, No_Client_Cde#)
Cette représentation non graphique est commode, car rapide à écrire, mais elle est pauvre et insuffisante dès que le nombre de table se multiplie. Le lien entre la clé étrangère et la clé primaire qu’elle référence n’est pas symbolisé. Il faut donc soit connaître le plan de codification mis en œuvre, soit donner à la clé étrangère le même nom que la clé primaire qu’elle référence, soit l'indiquer en clair par une phrase, ce qui est de plus en plus souvent réalisé dans les études de cas.
5.1.2 La représentation graphique
Cette représentation est plus visuelle, s’adapte à des schémas beaucoup plus complexes et met en relief les liens entre table.
5.1.3 La représentation Access
Il s'agit d'une représentation graphique particulière qui visualise de plus les règles de gestion sur la base (application de l'intégrité référentielle ou non). Il s'agit d'une particularité d'Access.