mettre des references dans une table - SQL/NoSQL - Programmation
Marsh Posté le 06-02-2005 à 23:07:55
Gravastar a écrit : Bonjour tout le monde, |
Les contraintes référentielles n'existent pas dans le format de tables MyIsam sous Mysql par contre tu peux y arriver en utilisant le type de table InnoDB http://www.innodb.com/index.php
Marsh Posté le 07-02-2005 à 10:24:17
FAUX
les contraintes d'intégrités référenciel existe dans MYSQL en tout cas dans le nouveau MYSQL il est dedans j'en suis certain...
par contre même si la contrainte d'intégrité référenciel n'existe pas dans MYSQL (ancienne version), il est cependant possible de similer la contrainte
CREATE TABLE CLIENT
(
nom varchar2(20)
);
CREATE TABLE RESERVATION
(
id varchar2(9),
nomcli varchar2(20) CONSTRAINT nomcontrainte CHECK (nomcli IN (SELECT nom FROM CLIENT)
);
ou (avec contrainte d'intégrité)
CREATE TABLE RESERVATION
(
id varchar2(9),
nomcli varchar2(20) CONSTRAINT nomcontrainte REFERENCES CLIENT(nom)
);
Marsh Posté le 07-02-2005 à 13:51:44
moi23372 a écrit : FAUX |
Le nouveau Mysql, c'est une version alpha ou beta encore non ? ...
Sinon c'est joli ta simulation, mais quand tu as besoin que le SGBD cascade ca fonctionne pas super ^^
Marsh Posté le 07-02-2005 à 18:26:38
oui, c'est bien beau de simuler mais bon Pis utiliser une version beta en production bof quoi.
Ma recommandation : dégager mysql dés que l'utilisation de la base dépasse le cadre de l'entrepôt de données. (données sans relations entre elles) et se tourner vers d'autres bases gratos du style firebird ou postgres
Marsh Posté le 07-02-2005 à 19:01:13
perso je l'ai jms testé en mysql, c'est mon professeur d'SGBD qui nous en parlé. Donc sincèrement je ne l'ai pas encore utilisé sous mysql étant donné que je bosse sous ORACLE 9i à l'école. Donc le mieux si tu veux vraiment avoir une contrainte d'intégrité, c'est de le faire avec le check.
bien sure tu n'auras pas droit à l'option CASCADE! c'est logique, celle-ci ce précise également dans d'autre SGBD, il n'est généralement pas mis par défaut.
Marsh Posté le 03-02-2005 à 11:03:15
Bonjour tout le monde,
Il fut un temps ou j'ai eu des cours de base de donnees orientees objet (sous oracle). Bref, la je dois creer une base mysql et je n'arrive pas a trouver l'equivalent des references. Je voudrais par exemple avoir cette base :
___________________ _____________________
| | | |
| RESERVATION | | CLIENT |
|___________________| |_____________________|
| pk id : varchar(9) | | pk nom |
| ... | | ... |
| client : CLIENT | | res : RESERVATION |
|___________________| |_____________________|
Pouvez-vous me dire comment faire ou me donner un lien ? je n'ai rien trouve sur ce genre de tuple en mysql...
Voila, c'etait une question sans doute tres bete, mais j'avoue que j'aurais bien besoin d'aide la.