|
HOWTO développement Sashipa
Définir des colonnes de tables SQL en Sashipa.Dans la partie environnement, vous souhaitez décrire une nouvelle colonne dans l'une de vos tables.
ColonnesVoici un exemple :
Remarques :
Maintenant un exemple de colonne appartenant à une clef primaire :
On remarque l'attribut pk qui indique que la colonne fait partie de la clef primaire. L'élément generatedByDbms est optionnel. Il signifie que la valeur pour la colonne est auto-générée par le SGBD. Cet élément peut être vide comme ici, ou peut contenir une indication spécifique à l'évaluation de la dernière valeur ajoutée. Par exemple dans le cas de PostGreSQL, il peut contenir le nom de la séquence si celle-ci n'a pas un nom standard. Si l'élément generatedByDbms n'avait pas été spécifié, sa valeur lors d'une insertion aurait soit été définie par l'utilisateur (cas d'une clef primaire affichable), soit été auto-générée par l'application (et non pas le SGBD). Attention : l'utilisation d'une colonne 'generatedByDbms' n'est pas implémentée par Sashipa-Melba pour tous les SGBD ! Actuellement seules les applications travaillant avec des bases PostGreSQL peuvent l'utiliser. Mais vous pouvez m'aider :
Clefs étrangèresD'abord l'exemple :
... ensuite l'explication : L'élément singularName est optionnel. S'il n'est pas précisé ici, c'est le singularName de la table cible qui sera utilisé. Dans cet exemple nous avons une clef étrangère complexe, composée de deux colonnes. Notez qu'il importe que l'ordre des déclarations dans la schemaFk corresponde à l'ordre de déclaration des colonnes de la clef primaire dans la schemaTable référencée. L'attribut optionnel deleteCascadeByDbms signifie que la contrainte "DELETE CASCADE" est gérée par le SGBD. Cet attribut supprime de l'application la vérification d'intégrité avant la suppression, et lui fait nettoyer son buffer. L'application ne réalisera pas elle-même la suppression dans les tables dépendantes. Attention : la contrainte "delete cascade" n'est pas détectée par Database2Sashipa, il faut rajouter l'attribut à la main.
Identifiant utilisateurL'identifiant utilisateur est l'ensemble des colonnes qui sert à identifier chaque ligne pour l'utilisateur. Techniquement, on peut implémenter ça par une contrainte UNIQUE dans le SGBD si l'on souhaite interdire les doublons. Un exemple :
Ici nous avons un identifiant utilisateur composé techniquement d'une colonne affichable et une clef étrangère. Du point de vue de l'utilisateur, la clef est composée de la colonne de libellé associée à la userKey de la table Contact, pointée par la clef étrangère. L'attribut unique signifie que l'application générée vérifiera la non-redondance par une requête Select avant chaque insert et update. Elle génèrera un message d'erreur compréhensible. L'attribut visible signifie que l'information contenue dans cette colonne n'a pas à être montrée.
© Copyright 2003 Sashipa-Melba Team. Ce document de la technologie Sashipa-Melba est sous licence GNU FDL Vous pouvez le copier et modifier librement les copies tant que cette mention apparaît clairement. |