Introduction aux bases de données avec BASE/Les tables
Nous avons la possibilité de créer les tables de deux façons différentes.
- avec l'aide assistant :
Il nous permet de créer rapidement une table en utilisant des modèles prédéfinis.
- en mode ébauche :
Il nous permet de créer une table plus librement
Création d'une table avec l'aide assistant
[modifier | modifier le wikicode]Nous avons la possibilité entre deux catégories : Professionnel ( Contacts, Fournisseurs, Livraisons ect) et Personnel ( Plantes, Comptes, Collection ect )
1 - Sélectionnez les champs voulus, ou tout les champs :
2 - Modifiez , si nécessaire , les critères des champs :
3 - Sélection de la clé primaire. (c'est une contrainte d'unicité qui permet d’identifier de manière unique un enregistrement dans une table)
4 - Donnez un nom à votre table et sélectionnez "insérer les données immédiatement" et Terminer
Création des tables
[modifier | modifier le wikicode]( La table a une structure lignes / colonnes identique à celle des feuilles de calcul d’un tableur. Chaque ligne d’une table s’appelle un enregistrement. Chaque colonne d’une table s’appelle un attribut. )
- Création de la table Assistants :
Entrez les noms des champs et les types de champs (en définissant la clé primaire par un clic droit à gauche du champ)
Puis remplissez là :
- Création de la table Clients :
- Création de la table Lots :
- Création de la table Commandes :
Nomenclature
[modifier | modifier le wikicode]Les noms des objets doivent être les plus explicites et expressifs possible. Ne pas utiliser ni espaces ni caractères accentués, cela pose des problèmes d’écriture pour la programmation Visual Basic et de portage vers d'autres systèmes de gestion de bases de données anglophiles.
Identification
[modifier | modifier le wikicode]On devrait pouvoir identifier rapidement le type de chaque objet (si c’est une table, un formulaire, etc.). Ex ==> tPersonnes pour la table des personnes (une autre convention est tout simplement personnes).
On devrait pouvoir identifier rapidement le parent (ou conteneur) de chaque objet (champ, ...). Ex ==> perNom, perPrenom, … pour la table des personnes (une autre convention est tout simplement personnes.nom et personnes.prenom).
Publication
[modifier | modifier le wikicode]Une fois la convention définie et acceptée par toute l'équipe de développement, il faut impérativement la rendre publique (charte, blog, wiki, …) et mettre en œuvre des contrôles réguliers sur le respect de la convention.
Un à plusieurs champs définissent une table, ces champs doivent être au minimum nommés et typés mais d'autres propriétés sont en général disponibles pour affiner la précision de la conception de la table.
Nommage d'un champ
[modifier | modifier le wikicode]Le nom du champ doit identifier la table dont il est issu. Cela pour éviter des confusions entre deux champs qui porteraient le même nom, par exemple "Nom" dans la table personnes et rendezvous sera nommé respectivement perNom et renNom ou personnes.nom et rendezvous.nom
Propriétés d’un champ
[modifier | modifier le wikicode]Selon le type de données choisies, différentes propriétés sont proposées : type et taille du champs, format, saisie requise, valeur par défaut, etc.
Liaisons
[modifier | modifier le wikicode]Les liens entre les tables sont la particularité essentielle des bases de données relationnelles, les liens existent sous la forme de clés primaires, clés étrangères, index secondaires et parfois de contraintes.
Clé primaire
[modifier | modifier le wikicode]Permet d’identifier un et un seul enregistrement ==> Ex : ID pour une personne (personne.ID)
Index
[modifier | modifier le wikicode]Si la clé primaire est en général un identifiant (ID), il est parfois nécessaire de définir un autre index par un ou plusieurs champs pour obtenir une autre unicité de l’enregistrement ==> Ex : le nom et le prénom pour une personne
Relations
[modifier | modifier le wikicode]Pour relier 2 tables celles-ci doivent impérativement contenir au moins un champ commun et de même type (les noms peuvent être différents)
- l’un de ces deux champs doit être une clé primaire ==> taches.ID, …
- l'autre champ peut être une clé étrangère ==> rendezvous.idtache, …
- ici, les relations BASE sont de type un à un ou un à plusieurs ==> une personne ou une tâche peut avoir plusieurs rendez-vous, …
Intégrité référentielle
[modifier | modifier le wikicode]Cette intégrité permet de vérifier la présence d'une donnée liée avant l'insertion ou la mise à jour de nouvelles données; permet aussi de mettre à jour ou de supprimer des enregistrements en cascade. Exemple 1 : si on ajoute une personne à un rendez-vous, l'intégrité référentielle vérifiera la présence de la personne dans la table des personnes. Exemple 2 : si on supprime une tâche, il n’est plus nécessaire de conserver la liste de ses rendez-vous. Au lieu de supprimer les différents enregistrements liés à ses rendez-vous manuellement, la suppression de la tâche dans la table des tâches entraîne automatiquement la suppression de la liste de ses rendez-vous dans la table des rendez-vous.