Devant la difficulté de répondre succinctement a la question qu’est-ce qu’un SGBD ?, ns allons dégager les objectifs visés par un SGBD et décrire une architecture de référence I- INDEPENDENCE PHYSIQUE la structure de stockage des données appartient au monde des informaticiens et n’a donc de sens que dans l’univers du système informatique. Il s’agit d’un assemblage particulier de données en articles, fichiers, méthode d’accès (organisation et accès aux fichiers, mode de placement des articles dans les fichiers, critères de trie, de chainages etc…) sur une mémoire secondaire. Cette assemblage propre au monde informatique doit etre basée sur des considérations de performance et de souplesse d’accès. Un des objectifs essentiels des SGBD est de pouvoir réaliser l’indépendance des structures de stockage aux structures des données dans le monde réel. Pour cela il faut definir l’assemblage des données élémentaires dans le système informatique indépendamment de l’assemblage réalisée dans le monde réel en tenant compte seulement des critères de performance et de flexibilité d’accès. les avantages de ce type d’indépendance appelés indépendance physique peuvent facilement être compris si l’on considère les inconvénients de la non indépendance physique. Celle-ci impliquerai que la manière dont sont organisées les données soit directement l’image de l’organisation canonique des données dans le monde réel. Ainsi donc les notions de chemin d’accès, de mode de placement, les critères de trie de chainages devraient donc apparaitre directement dans le monde réel et par contre coup dans les applications. Tout changement informatique devrait alors être répercuté dans la vie d’une entreprise et par conséquent impliquerait la reconstitution des applications. Ceci est bien sur impraticable d’où la nécessité de l’indépendance des structures de stockage aux données du monde réel. II- INDEPENDENCE LOGIQUE Ns avons admis l’existante d’une organisation canonique décrivant complétement la sémantique inhérente aux données dans le monde réel. Cette organisation est une synthèse des vues particulières de chaque groupe de travail. Ainsi donc chaque groupe de travail réalisant une application doit pouvoir assembler différemment les données pour former des entités et des associations. De plus chacun doit pouvoir se concentrer sur les éléments constituant son centre d’intérêt, c.-à-d. que chacun doit pouvoir ne connaitre qu’une partie de la sémantique des données et donc ne voir qu’une partie des données. Exemple : a partir des assemblage de données suivantes VEHICULE (N véhicule, type, marque, couleur) PERSONNE (NIN, prénom, nom) PROPRIETAIRE (NIN, N véhicule, date-achat) Un groupe de travail pourra par exemple voir des personne possédant des voitures, c-a-d un assemblage de type : PERSONNE (NIN, prénom, nom, N véhicule) Un autre groupe s’intéressera par exemple aux véhicules vendus a une certaine date, c.-à-d. un assemblage de type : VEHICULE (N véhicule, type, marque, date-vente) Les avantages de ce type d’indépendance sont les suivants : Permettre a chaque groupe de travail les données qu’il souhaite Permettre l’évolution des vues particulières de chaque groupe de travail Ainsi il est possible d’ajouter des ensembles de données élémentaires d’en supprimer, d’ajouter et de supprimer des ensembles d’association, de redéfinir des assemblages etc… dans les vues particulières et dans la vue canonique des données sans modifier les applications III- MANIPULATION DES DONNEES PAR LES NON INFORMATICIENS du fait que les non-informaticiens voient les données ils doivent pouvoir les manipuler c.-à-d. les interroger et les manipuler. Plus précisément si les objectifs I et II sont atteints les groupes des non-informaticiens verront les données indépendamment de leur implantation en machine. Il doivent donc pouvoir les manipuler au moyen de langages non procéduraux c.-à-d. en décrivant les données qu’ils souhaitent retrouver (voir mettre à jour) sans décrire les moyens de les retrouver, ce qui est propre a la machine IV- EFFICACITE DES ACCES AUX DONNEES Cette objectif a deux aspects : Tout d’abord si l’on considère que certains accès aux données sont effectués par des informaticiens avertis c.-à-d. connaissant la structure de stockage, il doit être possible de fournir des langages de manipulations de données tres efficaces permettant d’accéder rapidement aux données le long des chemin d’accès définis dans la structure de stockage. Ces langages peuvent être utilises a partir de programmes écrits en assembleur ou en langage de plus haut niveau tels que : COBOL, PL1, PASCAL etc… (c’est ce qu’on appelle transaction programmée) D’un autre côté pour les non informaticiens ou même pour les informaticiens ignorant a la structure de stockage il doit être possible d’utiliser un langage non procédurale dont l’implantation doit être très efficace notamment au niveau des V- ADMINISTRATION COHERENTE DES DONNEES des fonctions essentielles d’un SGBD la destruction des structures de stockage et des structures de données et le suivie de leur évolution,. Ces fonctions sont appelés administration des données afin de permettre un contrôle efficace des données de résoudre des conflits entre divers point de vu pas toujours cohérents, de pouvoir optimiser l’accès aux données et l’utilisation des moyens informatiques, il est essentiel de repartir ces fonctions entre les mains d’un petit groupe de personnes hautement qualifiés. L’objectif est seulement de permettre une administration cohérente et efficace des données. VI- LA NON REDONDANCE DES DONNNEES Dans les système classique a fichiers non intégrés, chaque application possède ses données propres. Ceci conduit généralement a de nombreuses duplications avec outre la perte de place en mémoire secondaire associée un gâchis important en moyen humain pour saisir et maintenir a jour plusieurs fois les mêmes données. Avec le concept base de données, les fichiers plus ou moins redondants sont intégrés en un seul fichier partage par des diverses applications. L’administration cohérente des données doit veiller a la non duplication physique des données pour éviter les mise a jour multiples des données VII- COHERENCE DES DONNEES Bien que les redondances entre données soient éviter par l’objectif précèdent, les données sont soumises à certaines règles soit au niveau d’ensemble de domaine, soient au niveau de la donnée élémentaire ou il peut exister certaines dépendances entre données. Exemple : un salaire doit être compris entre 500 000 et 1 000 000 Autres exemples : une donnée représentant le nombre de commandes d’un client doit correspondre a un nombre de commandes dans la base. Le SGBD doit donc veiller a ce que les applications respectent ces règles lors de mise a jour des données et donc assurer ainsi la cohérence des données. VIII- PARTAGIBILITE Cette objectif permet aux applications de partager les données de la base dans le temps mais aussi simultanément. Chaque application doit donc pouvoir accéder aux données comme si elle était la seule a les utiliser sans attendre mais aussi sans savoir qu’une autre application peut les modifier concurremment IX- LA SECURITE Les données doivent être protégées contre les accès non autorises ou mal intentionnés. Il doit donc exister des mécanismes adéquats pour autoriser, contrôler ou enlever les droits d’accès de n’importe quel usager a tout un centre de données. Les droits d’accès peuvent également dépendent de la valeur de la donnée ou des accès précédemment effectues par l’usager Exemple : un employeur peut connaitre les salaires des personnes qu’il dirige mais pas celui des autres employé d’entreprise