Types de données et contrainte de domaine

Types de données et contrainte de domaine - SQL/NoSQL - Programmation

Marsh Posté le 24-08-2021 à 14:47:35    

Bonjour,
 
lorsque j'utilise une base de données avec le logiciel DB Browser ou même en python avec sqlite3 la contrainte de domaine n'est pas respectée. Je m'explique :
si je crée une table avec des attributs de type INTEGER :

Code :
  1. CREATE TABLE `N_TABLE` (
  2. `id` INTEGER,
  3. `valeur` INTEGER
  4. );


et je rentre dans `id` ou `valeur` une donnée de type texte, le logiciel accepte sans broncher, pas de message d'erreur. Pourtant il me semblait que le domaine dans les bases de données était toujours rigoureusement respecté.
 
Est-ce que quelqu'un pourrait m'éclairer ? Merci d'avance.

Reply

Marsh Posté le 24-08-2021 à 14:47:35   

Reply

Marsh Posté le 25-08-2021 à 17:20:07    

T'as regardé si la valeur n'était pas castée après la saisie ?
Et sqlite3, on peut pas dire que ça soit un vrai SGBD :/ Fais la même chose avec un BD type Oracle, MS SQL, Postgres ou MySQL, ça passera pas ou ce sera casté en fonction de la conf du SGBD.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 26-08-2021 à 09:47:42    

Merci pour ta réponse. J'ai essayé avec Postgres et effectivement, j'ai bien le message d'erreur attendu.
Sur DB Browser, les valeurs ne semblent pas castées. Je dois obligatoirement travailler sur ce SGBD, c'est un bug assez bizarre quand même mais je vais faire avec.

Reply

Marsh Posté le 26-08-2021 à 11:36:47    

Regarde si t'as pas d'autres logiciels plus performants pour travailler sur une BD Sqlite. Après, Sqlite, c'est du XML de mémoire (donc des strings), donc pas étonnant qu'il laisse passer ça :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 29-08-2021 à 11:45:03    

Donc c'est du XML sans schéma, parce que le XML, un de ses points forts, si on parse avec un validateur, c'est de vérifier la conformité des données.
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed