Newsgroup: it.comp.software.database
Titolo: Schema logico DB

Ragazzi qualcuno sa consigliarmi un software per rappresentare i legami 
logici che ci sono tra le tabelle di un mio DB MySQL?
Sto provando fabFORCE DB Designer 4, ma i legami tra le tabelle me li 
crea cercando le chiavi primarie di ognuna di loro, e quindi tentando di 
capire da solo quali foreign key creare.
A me invece interessa poter schematizzare a livello logico i legami tra 
ogni tabella, in modo da avere una lettura piů facile del DB stesso 
quando dovrň riprenderlo fra qualche settimana/mesetto...
Thx a tutti!
-- 
Quando noi ignoranti eravamo di piů, tutto era piů bello (A. Celentano).
  ___   _   ___ _  _______   _______ ___
|   \ /_\ | _ \ |/ / _ ) \ / /_   _| __|
| |) / _ \|   / ' <| _ \\ V /  | | | _|
|___/_/ \_\_|_\_|\_\___/ |_|   |_| |___|

 logici che ci sono tra le tabelle di un mio DB MySQL?
Io ho sempre usato Dia per fare i diagrammi.
Davide
-- 
Surely the 4 sysadmins of the apocalypse should be:
edquota, rm -rf, kill -9, and shutdown
--Rob Blake 

 
Per disegnare database, io uso DeZign for databases da quattro anni, e mi soddisfa pienamente.
(abbinato a ImportER MySQL per importare strutture esistenti nei diagrammi)
http://www.datanamic.com/dezign/index.html
http://www.datanamic.com/importermysql/index.html
Sono entrambi prodotti commerciali, di basso costo.
Per analizzare schemi gia' esistenti, ti segnalo Schemaball, un prodotto open source (scritto in Perl),
che visualizza diagrammi anche complessi in un formato diverso, e produce i diagrammi dall'analisi
del DDL di un database:
http://mkweb.bcgsc.ca/schemaball/
Ciao
gmax
-- 
   ____ ____  _____ _   _
  / _  |    \(____ ( \ / )
( (_| | | | / ___ |) X (
  \___ |_|_|_\_____(_/ \_)
(_____|
MySQL Certified Professional
Sapere, saper fare, fare, far sapere
http://gmax.oltrelinux.com

 Davide
Darkbyte :D
-- 
Quando noi ignoranti eravamo di più, tutto era più bello (A. Celentano).


Apperň! Non č niente male...
Peccato che non sia free :(
Se lo scazzo non mi travolge, cerco di sviluppare qualcosa di simile 
(nel tempo libero... moooooooolto poco).
Darkbyte :D


 capire da solo quali foreign key creare.
Che strano, via odbc c'è il modo di sapere direttamente le foreign keys di
una tabella, con la lista dei campi relazionati, immaginavo che quel
programma facesse così.
<parzialmente spam>
Ne approfitto per fare una domanda a tutti: tra un progetto e l'altro sto
portando avanti lo sviluppo di mia utility per sviluppatori di software
"gestionali" (in inglese suona meglio, "database developer tool"), sto
valutando se aggiungere proprio una funzione che:
1. disegni il diagramma direttamente connettendosi alla fonte dati, dopo
aver selezionato le tabelle interessate, con export in wmf
2. permetta di fare l'editing della struttura del database (questo lo vedo
un po' più complesso, magari più avanti) 
Perdo tempo ad aggiungere queste funzioni perchè ci sono già n soluzioni
sul mercato oppure vale la pena, considerando che la mia utility ha già
alcune funzioni come lo schema diff e un finder object ?
Ah dimenticavo, non è freeware ma commerciale.
</parzialmente spam>
Ciao
Stefano "HappyMan" (Lake Maggiore - Italy)
-- 
http://www.sgr.info
Email happyman69 (at) 
libero.it

 programma facesse così.
Si in effetti collegandosi al DB si può fare il reverse engineering, e 
quindi ottenere la struttura completa del database.
Ma quello che a me serve non è il collegamento vero e proprio fra tabelle.
Mi interessa disegnare schemi logici del db, relazioni che stabilisco io 
e che nella realtà non ci sono (non uso foreign keys nel mio progetto).
Per esempio ho due tabelle, entrambe con chiave primaria ID 
auto_increment, e in ognuna di loro c'è, fra i vari indici, un indice 
sul campo CodiceServizio.
Se tento di fare un link 1->n tra le due, fabFORCE mi OBBLIGA a creare 
un link fra le chiavi primarie, che non è il link logico esistente fra 
le tabelle.
-- 
Quando noi ignoranti eravamo di più, tutto era più bello (A. Celentano).


In data 4 Nov 2004 12:26:09 +0100, Darkbyte [Work] ha scritto:
[cut]
Ho capito...io per quello uso Visio (la versione in dotazione a Visual
Studio .Net 2003 Enterprise Architect), prima recupero il diagramma dal db
e poi lo "smanetto"...
Stefano "HappyMan" (Lake Maggiore - Italy)
-- 
Database Gate - The Powerful Tool for Database Developers 
http://www.sgr.info/dbgate
Email happyman69 (at) 
libero.it

 e poi lo "smanetto"...
Ciao stefano,
ma puoi "smanettare" qualsiasi tipo di Database o deve essere
per forsa uno della famiglia Microsoft?
        danilo



Poichč il reverse engineering lo puoi fare anche via odbc presumo che
funzioni con qualunque db. Attenzione che per "smanettare" non intendo
modifiche alla struttura del db ma solo il diagramma logico, cosě come
parlava l'autore del post iniziale.


 logici che ci sono tra le tabelle di un mio DB MySQL?
Trovato giusto un paio di giorni fa', ecco un plugin per Eclipse che 
permette di disegnare un diagramma ER: 
http://www.azzurri.jp/
Henryx
P.S. per quello che vuoi fare, ti devi premunire di programmi dediti al 
disegno di diagrammi "puri", e non di ER (che, per come sono stati pensati, 
tendono a creare _sempre_ delle FK (anche se mi sembra di ricordare che 
DBDesigner ti permette di creare delle FK logiche senza dover per forza 
creare la constraint sul database))
P.P.S. perche' non vuoi usare le constraint?
-- 
Per chi vuole conoscere Firebird, uno dei migliori RDBMS in circolazione:
http://tanit.myftp.org/cgi-bin/firebird/yabb.cgi

 P.P.S. perche' non vuoi usare le constraint?
Perchč dovrei prima fare un bel po' di test per vedere a cosa vado 
incontro... giusto per capire bene dove cominciano i pro e dove i contro.
Cmq grazie per la dritta... cercherň di dare un'occhiata. Per ora sto 
scaricando eclipse e poi prenderň il plugin...
-- 
Quando noi ignoranti eravamo di piů, tutto era piů bello (A. Celentano).
  ___   _   ___ _  _______   _______ ___
|   \ /_\ | _ \ |/ / _ ) \ / /_   _| __|
| |) / _ \|   / ' <| _ \\ V /  | | | _|
|___/_/ \_\_|_\_|\_\___/ |_|   |_| |___|
GIGAMAIL by X-Privat: 
http://www.x-privat.org/gigamail.php