Maintenant que l'on sait comment est constituée une base de données, on peut passer à un peu de pratique. Dans ce chapitre, nous allons apprendre à créer ce qu'on appelle le schéma conceptuel d'une base de données. Ce schéma décrit les tables de la BDD ainsi que leurs liens. La description de la table est relativement simple : elle se borne à leur donner un nom, à décrire chaque colonne (nom et type) et à dire quelles sont les clés primaires. Les liens ne sont pas traduit en clés étrangères, qui ne sont d'ailleurs pas présentes dans ce schéma. Ce schéma conceptuel n'est qu'une première étape dans la modélisation d'une base de données. La seconde étape consiste à prendre le schéma et traduire les liens entre tables sous la forme de clés étrangères : on obtient alors le modèle logique de la base de données. Une fois cela fait, on peut traduire le tout dans un langage de programmation qui permet de gérer des bases de données (le SQL, par exemple) : c'est la troisième étape.
Dans ce chapitre, nous allons surtout voir les deux premières étapes. Le schéma d'une BDD s'écrit avec un certain symbolisme, qu'il faut connaître par cœur, et qui décrit les tables et leurs relations. C'est ce symbolisme que nous allons décrire dans ce chapitre.
Tables.
Les tables sont représentées par des rectangles, décomposées en trois cadres : un pour le nom de la table, un autre pour les attributs, et un autre pour les clés primaires. On note le nom de la table au sommet du rectangle, à l'intérieur du premier cadre. Les attributs sont notés à l'intérieur du rectangle, dans le cadre en-dessous du nom de la table : on précise non seulement leur nom, mais aussi leur type. Les clés primaires sont notées dans le dernier cadre, et précisent quels sont les attributs de la clé : ils font référence à des attributs décrits dans le cadre au-dessus.
Relations.
Les relations entre tables sont indiquées par une flèche ou un trait entre deux tables. Le type de la relation (correspondance un à un, un à plusieurs, plusieurs à plusieurs), n'est pas indiqué directement sur le trait qui relie les deux tables. Par contre, ce qu'on appelle la cardinalité de la relation le sera. Cette cardinalité porte sur la relation entre une table A et une autre table B, et indique à combien de lignes de B fait référence une ligne de A. Il existe une cardinalité maximale et une minimale.
Pour résumer, la cardinalité minimale est soit de 0, soit de 1, tandis que la maximale est soit de 1 soit de plusieurs. Ces cardinalités doivent être indiquées sur le trait de la relation, séparées par une virgule : la cardinalité minimale doit être indiquée avant la maximale. Attention : si on doit indiquer les cardinalités pour la liaison de A vers B, il faut aussi indiquer celle de B vers A sur le trait.

Les bases de données/Les requêtes en SQL