Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1671 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL/Oracle] bases de donnees objets <-> je vais craquer

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL/Oracle] bases de donnees objets <-> je vais craquer

n°327925
Tetedeienc​h
Head Of God
Posté le 09-03-2003 à 23:28:42  profilanswer
 

Je vais craquer :/
 
J'ai un homework de folie a faire, j'y ai deja passe 50 heures, et me reste encore une moitie a faire, et bloque mechamment :cry:
 
Je me suis deja tape une base de donnees orientee objeta faire sous Objectivity en C++, avec une 15aine de requetes et une douzaine de tables, la, je me tape la meme a faire sous ORACLE :cry:
 
J'ai deux soucis :
 
Quand on a une relation n <-> m sans attributs, on doit declarer une cle etrangere d'un type vers l'autre, et vice versa, nan ?
 
Mon probleme est pas le type ( j'ai trouve comment le faire) mais la creation de table.
 
Je cree la table, il se plaint que l'objet que je reference existe pas. ben oui je l'ai pas encore cree ! Et je trouve pas comment faire.
 
Imaginez deux objets, de type equipage et de type avion. Un avion a plusieurs membres d;equipage, un equipage peux bosser dans differents avions.
 
J'ai declare mes types comme suit :
 

Code :
  1. CREATE TYPE crew_obj
  2. /
  3. CREATE TYPE aircraft_obj AS object(
  4. flight_id flight_id_obj,
  5. make_year NUMBER(9),
  6. capacity NUMBER(9),
  7. headoffice VARCHAR(50),
  8. ssn REF crew_obj
  9. );
  10. /
  11. CREATE TYPE crew_obj AS object(
  12. ssn VARCHAR(50),
  13. address caddress_obj,
  14. name VARCHAR(50),
  15. salary NUMBER,
  16. flight_id REF aircraft_obj
  17. );
  18. /


 
Ca ca va ca marche.
 
Maintenant je declare les tables, et ca coince :cry:  
 

Code :
  1. CREATE TABLE aircraft_tab OF aircraft_obj
  2. /
  3. CREATE TABLE crew_tab OF crew_obj(
  4. primary key(ssn),
  5. foreign key(flight_id) references aircraft_tab)
  6. object id primary key;
  7. CREATE TABLE aircraft_tab OF aircraft_obj(
  8. primary key(flight_id.airlines,flight_id.num),
  9. foreign key(ssn) references crew_tab)
  10. object id primary key;


 
Pourquoi le monde est si cruel ? :cry:
 
Je fais comment ? :cry:


Message édité par Tetedeiench le 09-03-2003 à 23:46:07
mood
Publicité
Posté le 09-03-2003 à 23:28:42  profilanswer
 

n°327954
Tetedeienc​h
Head Of God
Posté le 09-03-2003 à 23:54:08  profilanswer
 

Please j'en ai vraiment besoin la :cry:

n°328164
thecoin
Chasseur de chasseur de canard
Posté le 10-03-2003 à 12:11:40  profilanswer
 

Je vais peut être dire une connerie, mais commence par créer tes deux tables et ensuite tu poura créer tes clefs étrangère sans problème.


---------------
Si tu regardes ce que le canard mange, tu ne mangeras pas de canard.
n°328244
nraynaud
lol
Posté le 10-03-2003 à 14:11:47  profilanswer
 

tetedeiench a écrit :

Je vais craquer :/
 
J'ai un homework de folie a faire, j'y ai deja passe 50 heures, et me reste encore une moitie a faire, et bloque mechamment :cry:
 
Je me suis deja tape une base de donnees orientee objeta faire sous Objectivity en C++, avec une 15aine de requetes et une douzaine de tables, la, je me tape la meme a faire sous ORACLE :cry:
 
J'ai deux soucis :
 
Quand on a une relation n <-> m sans attributs, on doit declarer une cle etrangere d'un type vers l'autre, et vice versa, nan ?
 
Mon probleme est pas le type ( j'ai trouve comment le faire) mais la creation de table.
 
Je cree la table, il se plaint que l'objet que je reference existe pas. ben oui je l'ai pas encore cree ! Et je trouve pas comment faire.
 
Imaginez deux objets, de type equipage et de type avion. Un avion a plusieurs membres d;equipage, un equipage peux bosser dans differents avions.
 
J'ai declare mes types comme suit :
 

Code :
  1. CREATE TYPE crew_obj
  2. /
  3. CREATE TYPE aircraft_obj AS object(
  4. flight_id flight_id_obj,
  5. make_year NUMBER(9),
  6. capacity NUMBER(9),
  7. headoffice VARCHAR(50),
  8. ssn REF crew_obj
  9. );
  10. /
  11. CREATE TYPE crew_obj AS object(
  12. ssn VARCHAR(50),
  13. address caddress_obj,
  14. name VARCHAR(50),
  15. salary NUMBER,
  16. flight_id REF aircraft_obj
  17. );
  18. /


 
Ca ca va ca marche.
 
Maintenant je declare les tables, et ca coince :cry:  
 

Code :
  1. CREATE TABLE aircraft_tab OF aircraft_obj
  2. /
  3. CREATE TABLE crew_tab OF crew_obj(
  4. primary key(ssn),
  5. foreign key(flight_id) references aircraft_tab)
  6. object id primary key;
  7. CREATE TABLE aircraft_tab OF aircraft_obj(
  8. primary key(flight_id.airlines,flight_id.num),
  9. foreign key(ssn) references crew_tab)
  10. object id primary key;


 
Pourquoi le monde est si cruel ? :cry:
 
Je fais comment ? :cry:


 
tu vires tes clefs:

Code :
  1. CREATE TABLE crew_tab OF crew_obj(
  2. primary key(ssn),
  3. object id primary key;
  4. CREATE TABLE aircraft_tab OF aircraft_obj(
  5. primary key(flight_id.airlines,flight_id.num),
  6. object id primary key;


 
puis tu les remets :
alter table add foreign key ...
 
tu fais l'inverse pour détruire tes tables : tu vires les clefs et tu butes les tables.
 
Si tu as des notnull sur les foreign, tu fais les premiers insert avant de poser les clefs.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL/Oracle] bases de donnees objets <-> je vais craquer

 

Sujets relatifs
Upload de fichier SQL de 12 Mo avec PHPMyAdmin [résolu]SQL Server et les flags ??
mon fichier base de données sous Linux[Mysql] Recuperer une base de données que l'on vient d'effacer...
Des sites de récupération de données au format XML[Oracle][Pro*C] Requetes de base
Probleme de connexion avec php sur une base de donneesTables importantes SQL Server
Connexion à SQL Server par odbc via linux[SQL] pour les pro du PhpMyAdmin
Plus de sujets relatifs à : [SQL/Oracle] bases de donnees objets <-> je vais craquer


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR