Cours de Systèmes d'information et bases de données

Cours de Systèmes d'information et bases de données
…
1.2 Base de données et Système de Gestion de Base de Données
Bases de données
Définition : Une base de données est un ensemble structuré de données enregistrées avec le minimum de redondance pour satisfaire simultanément plusieurs utilisateurs de façon sélective en un temps opportun.
L'approche base de données est due à une triple évolution:
- évolution des entreprises (volumes importants de données, centralisées ou réparties, qui doivent être accessibles en temps utile,...)
- évolution du matériel (accroissement des performances, intégration des composants, diminution des coûts,...)
- évolution des logiciels (les systèmes d'exploitation, les architectures client serveur et les réseaux).
Exemple: Base de données commerciale
Les données sont relatives aux clients, aux produits, aux commandes, aux lignes de commandes... Les requêtes sont très variées :
- "liste des produits qui ont été commandés par un client déterminé" ;
- "quel est le client de la commande numéro X ?" ;
- "quelle est la date de la dernière commande du client s'appelant Y ?"
Systèmes de Gestion de Base de Données
Définition : Un SGBD (ou DBMS : Data Base Management System) peut être défini comme un ensemble de logiciels permettant de stocker et d'interroger un ensemble de fichiers interdépendants. Il peut aussi être défini comme un outil permettant de modéliser et de gérer les données d'une entreprise.
Ainsi, un SGBD permet à un utilisateur de communiquer avec une base de données pour: - décrire et organiser les données sur les mémoires secondaires (disques), - rechercher, sélectionner et modifier les données.
Un SGBD offre la possibilité à l'utilisateur de manipuler les représentations abstraites des données, indépendamment de leur organisation et de leur implantation sur les supports physiques (mémoires).
Un SGBD assure
- la description des données,
- leur recherche et mise à jour,
- la sûreté : sauvegarde et restauration des données ; limiter les erreurs de saisie et de manipulation,
- la sécurité : vérifier les droits d'accès des utilisateurs ; limiter les accès non autorisés,
- l'intégrité : définir des règles qui maintiennent l'intégrité de la base de données (contraintes d'intégrité),
- la concurrence d'accès : détecter et traiter les cas où il y a conflit d'accès entre plusieurs utilisateurs et les traiter correctement.
1.3. Avantages de l'approche base de données
Un système organisé autour d'une base de données est centré sur les données, contrairement aux systèmes de gestion de fichiers (SGF) basés sur les traitements (par exemple : traitement de la paye, facturation, gestion des stocks, etc .) .
1.3.1. Comparaison SGBD - SGF
Dans l'approche gestion de fichiers, les fichiers sont définis pour un ou plusieurs programmes de traitement. Les données d'un fichier sont directement associées à un programme par une description contenue dans le programme de traitement lui-même. Il n'existe aucune indépendance entre le programme et les données. Toute modification de la structure des données nécessite la réécriture du programme.
Gestion des données avec les SGF
Dans l'approche base de données, la partie de structuration et de description des données est unifiée et séparée des programmes d'application. Bien sûr la gestion de ces données (stockage, modification, recherche) qui est étroitement dépendante de leur structuration, est fournie par le système de gestion des données, les applications ne communiquant avec les données qu'au travers de l'interface de gestion. D'où l'indépendance entre les données et les applications, qui peuvent être modifiées indépendamment. Le programmeur des applications (l'utilisateur) n'a pas à connaître l'organisation physique des données.
Application 1 Application n
SGBD
Gestion des données avec les SGBDs
1.3.2. .r ganisation des données
Dans les deux approches, des fichiers de données sont constitués, permettant le stockage, l'organisation et l'accès aux différents enregistrements.
Ces fichiers peuvent être accédés selon différentes méthodes :
- Méthodes d'accès séquentielles : consistant à lire successivement tous les enregistrements d'un fichier, depuis le premier jusqu'à l'enregistrement désiré.
- Méthodes d'accès sélectives : permettant de lireIécrire tout article au moyen de quelques accès disques, y compris pour de très gros fichiers.
- Méthodes d'accès par hachage: basées sur l'utilisation d'une fonction de calcul qui, appliquée à la clé, détermine l'adresse relative d'une zone appelée paquet dans laquelle est placé l'article.
- Méthodes d'accès indexées : consistant à associer à la clé d'un enregistrement son adresse relative dans le fichier à l'aide d'une « table des matières » appelée index du fichier. Ainsi, à partir de la clé de l'enregistrement, un accès rapide est possible par recherche de l'adresse relative dans la table des matières, puis par un accès en relatif à l'enregistrement dans le fichier.
Définition : un index est une table (ou plusieurs tables) permettant d'associer à une clé d'enregistrement l'adresse relative de cet enregistrement.
1.3.3. Apports des SGBD
Les avantages des systèmes de bases de données par rapport aux systèmes traditionnels (méthodes papier ou approche de gestion de fichiers) sont :
- Compacité : plus besoin de fichiers volumineux
- Rapidité : le système est capable de retrouver et de mettre à jour les données beaucoup plus rapidement que de manière manuelle ou avec un système de gestion de fichiers
- Moins de corvées: les travaux ennuyeux de maintenance manuelle des fichiers sont éliminés
- Exactitude : des informations précises et réactualisées sont disponibles à tout moment.
De plus, le contrôle centralisé des données dans une base de données a pour résultat certains autres avantages tels que :
- Les données peuvent être partagées : partager ne signifie pas seulement que les opérations existantes peuvent partager les données de la base de données, mais également que de nouvelles opérations peuvent être développées pour manipuler ces mêmes données. En d'autres termes, il est possible de satisfaire les besoins des données des nouvelles applications sans avoir à ajouter de nouvelles données dans la base de données.
- La redondance peut être réduite : dans les systèmes autres que les bases de données, chaque application possède ses propres fichiers, ce qui peut conduire à une très grande redondance des données.
- L'incohérence peut être évitée : c'est une conséquence du point précédent.
- Les transactions peuvent être gérées : une transaction est une unité logique de travail qui réalise, en général, plusieurs opérations sur la base de données.
- L'intégrité peut être assurée : le problème de l'intégrité consiste à assurer l'exactitude des données de la base de données.
- La sécurité peut être appliquée : c'est le fait de définir des contraintes ou des règles de sécurité qui sont contrôlées chaque fois que l'on essaye d'accéder à des données sensibles.
- Les normes peuvent être appliquées : une représentation normalisée des données est particulièrement souhaitable, car elle permet l'interchangeabilité des données ou la migration des données entre les systèmes.
Exercices : Questions à choix multiples
Ql : Historique
Les Systèmes de Gestion de Bases de Données (SGBD) ont vu le jour
- a) Dans les années 60 .
- b) Dans les années 70 .
- c) Dans les années 80 .
Q2 : Modèle hiérarchique Dans le modèle hiérarchique:
- a) Des relations de type «père-fils » sont représentées entre classes d'objets
- b) L'ensemble des classes d'objets constitue une arborescence.
- c) Une classe « fille » peut avoir plusieurs classes « mères » .
Q3 : Modèle réseau Dans le modèle réseau:
- a) Des liens de type « père-fils » sont représentés entre classes d'objets
- b) L'ensemble des classes d'objets constitue une arborescence.
- c) Une classe « fille » peut avoir plusieurs classes « mères » .
Q4 : Modèle relationnel Le modèle relationnel
- a) repose sur une représentation unifiée de l'information sous forme de tables.
- b) dispose d'un fondement mathématique solide avec l'algèbre relationnelle.
- c) permet une plus grande indépendance entre les applications, les données et le support physique.
- d) Représente l'ensemble des classes d'objets sous forme d'arborescence.
Q5 : Comparaison SGF et SGBD Dans l'approche gestion de fichiers
- a) Les fichiers sont définis pour un ou plusieurs programmes de traitement.
- b) Les données d'un fichier sont directement associées à un programme par une description contenue dans le programme de traitement lui-même.
- c) Il n'existe aucune indépendance entre le programme et les données.
- d) Toute modification de la structure des données nécessite la réécriture du programme.
- e) la partie de structuration et de description des données est unifiée et séparée des programmes d'application.
- f) Il y a indépendance entre données et applications.
Q6 : Comparaison SGF et SGBD Dans l'approche base de données
- a) Les fichiers sont définis pour un ou plusieurs programmes de traitement.
- b) Toute modification de la structure des données nécessite la réécriture du programme.
- c) la partie de structuration et de description des données est unifiée et séparée des programmes d'application.
- d) La gestion des données (stockage, modification, recherche) est fournie par le Système de gestion des données.
- e) Il y a indépendance entre données et applications.
- f) Le programmeur des applications (l'utilisateur) n'a pas à connaître l'organisation physique des données.
Q7 : BD et SGBD
Une base de données est:
- a) Un ensemble de logiciels systèmes permettant de stocker et d'interroger un ensemble de fichiers interdépendants.
- b) Un ensemble structuré de données enregistrées avec le minimum de redondance pour satisfaire simultanément plusieurs utilisateurs de façon sélective en un temps opportun.
Q8 : Fonctions d'un SGBD
Parmi les fonctions assurées par un SGBD :
- a) la description des données,
- b) leur recherche et mise à jour,
- c) la sûreté : vérifier les droits d'accès des utilisateurs
- d) la sécurité : sauvegarde et restauration des données ; limiter les erreurs de saisie et de manipulation
- e) la concurrence d'accès : détecter et traiter les cas où il y a conflit d'accès entre plusieurs utilisateurs et les traiter correctement.
Q9 : Apports des SGBD
Parmi les avantages des systèmes de bases de données par rapport aux systèmes traditionnels (méthodes papier ou approche de gestion de fichiers) :
- a) Compacité
- b) Rapidité
- c) Exactitude
- d) Partage des données
- e) Redondance des données
- f) Intégrité des données
- g) Sécurité des données
Q10 : Index Un index est:
- a) Une table permettant d'associer, à une clé d'enregistrement, l'adresse relative de cet enregistrement.
- b) Une clé d'enregistrement permettant de retrouver l'adresse relative de cet enregistrement.
- c) Une clé permettant de retrouver un enregistrement.
Chapitre 2
Architecture des SGBD
L'architecture ANSI/SPARC, dite aussi architecture de référence, se compose de trois niveaux appelés, respectivement, niveau interne, niveau conceptuel et niveau externe.
n Le niveau interne (ou niveau physique) est le niveau relatif à la mémoire physique. Il s'agit du niveau où les données sont réellement enregistrées.
n Le niveau externe (ou niveau logique utilisateur) est le niveau relatif aux utilisateurs. Il s'agit du niveau où les utilisateurs voient les données.
n Le niveau conceptuel (ou niveau logique communautaire ou logique) est le niveau intermédiaire entre les deux autres.
Par ailleurs, parmi les objectifs premiers d'un SGBD figurent l'indépendance physique et l'indépendance logique des programmes aux données.
2.1. Les trois niveaux
Les trois niveaux de l'architecture ANSI/SPARC 2.1.1. Le niveau interne
Le niveau interne est une représentation de bas niveau de l'ensemble de la base de données. Elle est constituée de plusieurs occurrences des divers types d'enregistrements internes. La vue interne est décrite par un schéma interne. Ce schéma ne définit pas seulement les divers types d'enregistrements mémoire mais spécifie également les index existants, comment les champs mémoires sont représentés, le séquencement physique des enregistrements, etc.
2.1.2. Le niveau externe
Le niveau externe est le niveau de l'utilisateur. Un utilisateur peut aussi bien être un programmeur d'application que tout autre utilisateur final ayant n'importe quel niveau de compétence. Ce niveau est représenté par plusieurs schémas externes appelés aussi vues.
2.1.3. Le niveau conceptuel
La vue conceptuelle donne la représentation de l'ensemble des informations contenues dans la base de données. Comme la vue externe, cette représentation est abstraite comparée à la représentation physique des données. En général, elle est également très différente de la vue qu'un utilisateur particulier a de la base de données.
La vue conceptuelle correspond aux diverses occurrences des types d'enregistrements conceptuels. Elle est définie par un schéma conceptuel.
2.2. Indépendance entre les niveaux
2.2.1. Indépendance physique
Un des objectifs essentiels des SGBD est de permettre de réaliser l'indépendance des structures de stockage aux structures de données du monde réel, c'est-à-dire entre le schéma interne et le schéma conceptuel.
Le schéma interne et le schéma conceptuel décrivent les données, mais à des niveaux différents. L'indépendance physique permet donc de modifier le schéma interne sans avoir à modifier le schéma conceptuel, en tenant compte seulement des critères de performance et de flexibilité d'accès.
On pourra par exemple ajouter un index, regrouper deux fichiers en un seul, changer l'ordre ou le codage des données dans un enregistrement, sans mettre en cause les entités et associations définies au niveau conceptuel.
2.2.2. Indépendance logique
Le schéma conceptuel résulte d'une synthèse des vues particulières de chaque groupe de travail utilisant la base de données, c'est-à-dire d'une intégration de schémas externes. Ainsi, chacun doit pouvoir se concentrer sur les éléments constituant son centre d'intérêt, c'est-à-dire qu'un utilisateur doit pouvoir ne connaître qu'une partie des données de la base au travers de son schéma externe, encore appelé vue.
L'indépendance logique est donc la possibilité de modifier un schéma externe (une vue) sans modifier le schéma conceptuel. Elle assure aussi l'indépendance entre les différents utilisateurs, chacun percevant une partie de la base via son schéma externe, selon une structuration voire un modèle particulier.
I l doit par exemple être possible d'ajouter des attributs, d'en supprimer d'autres, d'ajouter et de supprimer des associations, d'ajouter ou de supprimer des entités dans des schémas externes sans modifier la plus grande partie des applications.
Types d’indépendances et modèles d’une base de données
2.3. Importance de la conception d'une base de données
Pour pouvoir mettre en oeuvre les différents besoins des utilisateurs, l'équipe de conception doit planifier soigneusement les étapes de la conception. Diverses méthodes de conception (Merise, UML ...) existent définissant un ensemble d'étapes à suivre et de formalismes à adopter.
2.3.1. Etapes de conception
La conception d'une base de données suit généralement les trois étapes suivantes :
- a) l'analyse des besoins consiste à identifier les besoins de l'entreprise et à les convertir en besoins d'un système. C'est une phase au cours de laquelle on rassemble des informations qui serviront à la modélisation des données.
- b) la modélisation des données comportant:
- L'expression de la sémantique de la représentation du monde réel (niveau d'abstraction conduisant à la définition du schéma conceptuel) par des données et les liens entre ces données
- La traduction du schéma conceptuel dans un modèle de données de type hiérarchique, en réseau, relationnel ...
- La normalisation consistant à représenter les objets du modèle de données sous forme de tables normalisées afin de réduire la quantité de données redondantes présentes dans la base de données.
- L'expression de l'utilisation (définition des vues, des accès logiques ...)
- c) Expression de l'implantation en machine (choix des méthodes d'accès, des chemins d'accès ...) permettant d'assurer de bonnes performances d'exploitation.
2.3.2. Equipe de conception et distribution des tâches

On met en place une équipe de conception constituée d'une ou de plusieurs personnes. L'équipe de conception typique d'un projet relativement important comporte principalement:
- un chef de projet responsable de la gestion globale du projet
- des concepteurs responsables des tâches de
o définition des besoins opérationnels, des données et des fonctions
o analyse/modélisation des données
o modélisation des processus/fonctions
- des développeurs
o responsables du codage
o conduisant les sessions de tests
- un administrateur de la base de données qui
o administre la base de données
o détermine l'emplacement physique de la base de données
- des utilisateurs finaux qui
o interagissent avec le système
o effectuent des tâches quotidiennes.
2.3.3. Outils de conception automatisée
Les outils de conception automatisée, encore appelés CASE (Computer Aided Systems Engineering) ou AGL (Atelier de Génie Logiciel) sont des applications à interface graphique (GUI : Graphic User Interface) qui facilitent la conception et la création d'une base de données.
Oracle Designer est, par exemple, l'un des AGL les plus puissants du marché.
Parmi les fonctionnalités de tels outils:
- l'identification des besoins de l'activité et de l'utilisateur
- la modélisation des entités et de leurs relations
- la génération d'un langage destiné à créer les objets de la base de données
- la modélisation du flux de données d'un organisme
- la modélisation des processus opérationnels
- le contrôle des versions de la base de données et de l'application
- la génération de la documentation et des comptes rendus des utilisateurs.
Exercices : Questions à choix multiples
Ql : Les trois niveaux
L'architecture ANSI/SPARC se compose des niveaux suivants:
- a) Niveau interne, niveau externe et niveau conceptuel.
- b) Niveau physique, niveau logique et niveau logique utilisateur.
- c) Niveau conceptuel et niveau externe.
Q2 : Les indépendances entre niveaux
Parmi les objectifs premiers d'un SGBD figurent
- a) L'indépendance conceptuelle des programmes aux données.
- b) L'indépendance logique conceptuelle.
- c) L'indépendance physique des programmes aux données.
- d) L'indépendance logique des programmes aux données.
Q3 : Niveau externe Le niveau externe est:
- a) Le niveau de l'utilisateur.
- b) Une représentation par plusieurs schémas externes appelés aussi vues.
- c) Une représentation de bas niveau de l'ensemble de la base de données.
Q4 : Niveau interne Le niveau interne est:
- a) Une représentation de bas niveau de l'ensemble de la base de données.
- b) constitué de plusieurs occurrences des divers types d'enregistrements internes.
- c) décrit par un schéma interne.
- d) le séquencement physique des enregistrements, comment les champs mémoires sont représentés, les index existants...
Q5 : Niveau conceptuel La vue conceptuelle
- a) Donne la représentation de l'ensemble des informations contenues dans la base de données.
- b) est abstraite comparée à la représentation physique des données.
- c) est très différente de la vue qu'un utilisateur particulier a de la base de données.
- d) correspond aux diverses occurrences des types d'enregistrements conceptuels.
- e) est définie par un schéma conceptuel.
Q6 : Indépendance physique L'indépendance physique permet
- a) De modifier le schéma interne sans avoir à modifier le schéma conceptuel.
- b) De modifier le schéma conceptuel sans avoir à modifier le schéma interne.
- c) De modifier le schéma conceptuel sans avoir à modifier les schémas externes.
Q7 : Indépendance logique L'indépendance logique permet
- a) De modifier le schéma interne sans avoir à modifier le schéma conceptuel.
- b) De modifier le schéma conceptuel sans avoir à modifier le schéma interne.
- c) De modifier le schéma conceptuel sans avoir à modifier les schémas externes.
- d) De modifier un schéma externe sans avoir à modifier le schéma conceptuel.
Q8 : Etapes de conception
Parmi les étapes suivies lors de la conception d'une base de données :
- a) Perception du monde réel et capture des besoins.
- b) Elaboration du schéma conceptuel.
- c) Conception et affinement du schéma logique.
- d) Elaboration du schéma physique.
Q9 : Affinement du schéma logique
L'affinement du schéma logique consiste à :
- a) S'assurer que le schéma logique obtenu est un « bon » schéma.
- b) S'assurer que le schéma logique obtenu est un schéma comportant toutes les redondances d'informations nécessaires.
- c) Utiliser la théorie de la normalisation pour obtenir de « bons » schémas relationnels.
- d) Regrouper ou décomposer les tables de manière à représenter fidèlement le monde réel modélisé.
Q10 : Equipe de conception
L'équipe de conception typique d'un projet relativement important comporte principalement:
- a) des chargés de cas responsables des processus d'activités
- b) un chef de projet responsable de la gestion globale du projet
- c) des concepteurs et des développeurs
- d) un administrateur de la base de données
- e) des utilisateurs finaux
Chapitre 3
Le modèle Entités/Associations
Les aspects importants de la réalité à représenter, ou domaines d'application, doivent être décrits d'une manière abstraite, indépendante de toute technologie. Le modèle Entité-association permet de décrire un domaine d'application sous la forme d'ensembles d'entités, dotées de propriétés et en association les unes avec les autres, et ce, sans référence aux notions techniques de tables, colonnes ou index.
3.1. Concepts de base 3.1.1. Entité
Une entité est un objet pourvu d'une existence propre et conforme aux choix de gestion de l'entreprise.
Le domaine d'application est perçu comme étant constitué d'entités concrètes ou abstraites. Ainsi, dans le contexte du commerce, on peut cerner un domaine d'application dans lequel on repère des clients, des commandes et des produits. On considère que chacun d'eux est une entité du domaine et que chaque entité appartient à une classe ou type d'entités. On définit naturellement quatre types d'entités qu'on nommera CLIENT, COMMANDE et PRODUIT. On représentera ces entités d'une manière graphique, comme indiqué sur la figure 1.
CLIENT
NumClt NomClt AdrClt COMMANDE
NumC DateC PRODUIT
Ref
Désignation PU
Figure 1 : Formalisme des entités
Ces quelques exemples montrent qu'une entité peut correspondre à des objets concrets inanimés (produits), des objets concrets animés (clients) ou des événements (commandes). Une occurrence d'une entité est un élément individualisé appartenant à cette entité.
3.1.2. Association
Une association entre entités est une association perçue dans le réel entre deux ou plusieurs entités. Une association est dépourvue d'existence propre.
Une commande est liée au client qui l'a passée; il existe donc une association entre cette commande et ce client. On dira que toutes les associations de cette nature appartiennent au type d'association Passer entre les deux entités CLIENT et COMMANDE.
Lorsqu'une entité intervient dans un type d'association, on dit qu'elle joue un rôle. On utilisera d'ailleurs ce terme pour désigner une des extrémités d'une association. Une même entité peut jouer deux rôles dans une même association.
On représentera une association d'une manière graphique, comme indiqué sur la figure 2.
Figure 2 : Formalisme d'une association
Propriétés d'une association
- a) Classe fonctionnelle d'une association
Soient deux entités E et F et une association A entre E et F.
Cette propriété décrit le nombre maximum d'occurrences de l'entité F pour chaque occurrence de l'entité E et inversement. On est ainsi amené à définir trois classes fonctionnelles d'associations : un à plusieurs, un à un et plusieurs à plusieurs.
- association de type 1:1 (ou un-à-un) si à une occurrence de l'entité E peut correspondre par l'association A au plus une occurrence de l'entité F et que, réciproquement à une occurrence de l'entité F ne peut correspondre au plus qu'une occurrence de l'entité E.
- association de type 1:n (ou un-à-plusieurs) : si à une occurrence de l'entité E peut correspondre par l'association A plusieurs occurrences de l'entité F mais à une occurrence de l'entité au plus une occurrence de l'entité E.
- association de type n:n (ou plusieurs-à-plusieurs) : si à une occurrence de l'entité E peuvent correspondre plusieurs occurrences de l'entité F et réciproquement.
- b) Type d'associations obligatoire ou facultatif
On peut imposer qu'une association soit obligatoire pour une entité qui y participe.
- c) Cardinalités d'une association
Chaque entité participant à une association y est caractérisée par un couple de valeurs min¬max appelé cardinalités.
- d) Dimension d'une association
C'est le nombre d'entités participant à l'association. Une association entre deux entités est appelée association binaire. Une association entre trois entités est appelée association ternaire. Une association entre n entités est appelée association n-aire.
Exemple 1 : entre les entités ETUDIANT et ENSEIGNEMENT on peut considérer l'association binaire INSCRIT pour traduire le fait qu'un étudiant est inscrit à un enseignement.
INSCRIT
ETUDIANT ENSEIGNEMENT
Exemple 2:
L'association ternaire « Représente » ne peut être décomposée en deux associations binaires que si l'on sait que tout représentant travaillant pour un fournisseur représente tous les produits de ce fournisseur. La décomposition sera la suivante :
- e) Association réflexive
C'est une association d'une entité sur elle-même. En effet, il est parfaitement possible d'établir une association entre une entité et elle-même, définissant par là une association cyclique.
Exemple: pour traduire le fait que Irène Curie est la fille de Marie Curie on pourra utiliser une association A-POUR-MERE entre les deux entités représentant ces personnes.
A-POUR-MERE
PERSONNE PERSONNE
3.1.3 Attributs
Un attribut ou une propriété est une donnée élémentaire que l'on perçoit sur une entité ou sur une association entre objets.
Chaque client est caractérisé par un numéro, un nom et une adresse. On modélisera ces faits en dotant l'entité CLIENT des attributs NumClient, Nom et Adresse.
On spécifiera le type de chaque attribut : numérique, caractère, date, etc. ainsi que sa longueur.
Un attribut d'une association est une propriété qui dépend de toutes les entités intervenant dans l'association.
Exemple: L'association INSCRIT définie entre les entités ETUDIANT et MODULE a pour attribut l'année de première inscription de l'étudiant à l'enseignement. Cette année d'inscription est attribut de l'association et non de l'une des entités, car il faut connaître l'étudiant et le module pour pouvoir la déterminer.
3.1.4. Les identifiants
En général, une entité est dotée d'un attribut qui identifie les entités de ce type. L'entité CLIENT, par exemple, possède un attribut NumClient tel qu'à tout instant les occurrences de l'entité CLIENT ont des valeurs de NumClient distinctes. En d'autres termes, étant donné une valeur quelconque de NumClient, on a la garantie qu'il n'y aura, à aucun moment, pas plus d'une occurrence de l'entité CLIENT possédant cette valeur. On dira que NumClient est un identifiant de CLIENT. En outre, il peut arriver qu'une entité possède plus d'un identifiant. Dans ce cas, l'un d'eux peut être déclaré primaire tandis que tous les autres sont secondaires.
Il se peut que la valeur d'un attribut ne soit pas connue au moment où les informations sur l'entité sont enregistrées. Si on admet que cet attribut puisse ne pas avoir de valeur pour certaines occurrences de l'entité, on le déclarera facultatif. Sinon cet attribut est obligatoire.
L'identifiant d'une entité est un attribut particulier de l'entité tel qu'à chaque valeur de la propriété corresponde une et une seule occurrence de l'entité.
L'identifiant d'une association est l'identifiant obtenu par concaténation des identifiants des entités participant à la relation.
Dans le diagramme E/A, les clés sont soulignées.
3.1.5. Les Cardinalités
La cardinalité d'une entité par rapport à une association s'exprime par deux nombres appelés cardinalité minimale et cardinalité maximale.
La cardinalité minimale (égale à 0 ou 1) est le nombre de fois minimum qu'une occurrence d'une entité participe aux occurrences de l'association.
Si la cardinalité minimale est égale à 0, c'est qu'il existe parmi toutes les occurrences de l'entité au moins une occurrence ne participant pas aux occurrences de l'association.
Si la cardinalité minimale est égale à 1, ceci correspond au fait que chaque occurrence de l'entité participe toujours à une occurrence de l'association.
La cardinalité maximale indique le nombre de fois maximum qu'une occurrence de l'entité participe aux occurrences de la relation.