Domanda

Ho un database molto grande che ho bisogno di diagramma. Il database è SQL Server 2008 su x64. E 'di grandi che ci sono centinaia di tabelle correlate, ognuna con un massimo di campi 2000 (alcune sono sparse), molteplici relazioni tra tabelle (spesso centinaia al tavolo, in realtà), più schemi ... si ottiene l'idea.

Ho cercato di usare Database Diagrams caratteristica di SQL Server Management Studio, ma si è schiantato con un Win32Exception: "insufficiente archiviazione è disponibile per elaborare questo comando ..."

Ho cercato di utilizzare la funzione di reverse engineering di Visio su una macchina diversa per il collegamento e diagramma, ma che sta succedendo per alcune ore senza alcun segno di completamento.

Gli script di costruire questo schema gigante sono in corso da uno strumento che abbiamo costruito per il lavoro. Mentre lo strumento sta facendo il suo lavoro bene, è difficile da visualizzare la sua uscita.

Sono dopo uno strumento per cacciare un diagramma di questo database in modo che possiamo fare questo. Qualche suggerimento?

EDIT: Proprio per sottolineare, il diagramma è infatti non dovrebbe essere utilizzato come riferimento utile reale. Si tratta di un dispositivo di gestione rapporto con il cliente per dimostrare la complessità / scala del sistema.

È stato utile?

Soluzione

Generazione di un'immagine di qualsiasi tipo per un database di queste dimensioni diventa semplicemente piacere per gli occhi che è bloccato su una parete che rantoli di disegnare, e onestamente non serve a nulla, tranne reale sguardi occasionali. Perché non utilizzare uno strumento come strumento di documentazione di Red Gate che servirà uno scopo reale? Vi preghiamo di comprendere Non sto dicendo questo in un modo beffardo, ma sono stato su questa strada prima di provare a diagramma un enorme database, e sono riuscito in una certa misura, ma mai trovato un buon outlet dove è stato di qualche utilità.

Altri suggerimenti

Ho lavorato in un posto che aveva diverse centinaia di tabelle (nei pressi di 1k) e nessuno sapeva cosa stava succedendo nel sistema, la società stava crescendo e l'assunzione di un sacco. Un ragazzo è stato incaricato di fare un diagramma, e lui auto-magicamente creato un manifesto in maiolica gigantesca che conteneva ogni tavolo con linee che collegano varie tabelle (andando in tutto il luogo). Non sono sicuro di quello che ha usato, era Unix e Oracle anni fa (via davanti a Linux e open source). Non c'era nessun vero capo né coda al layout delle tabelle nel suo schema. Aveva creato con successo un diagramma di ogni tavolo. Il "manifesto" è stato messo su un muro in uno spazio comune, ed ha ottenuto un paio di sguardi, ma nessuno ha mai realmente utilizzato, era inutilizzabile, troppo disordinato, troppo disorganizzati. Di conseguenza, ho usato MS-Word per creare un unico schema di pagina contenente le 20 tabelle principali (è passata attraverso un paio di iterazioni come ho "scoperto" le nuove tabelle principali) con linee per ogni chiave esterna e ogni tavolo si trova in un modo logico . Ho mostrato il nome della colonna, il tipo di dati, supporto di valori Null, PK, e tutti FKS. Ho messo il mio schema sul mio muro dal mio monitor. Alla fine tutti volevano una copia del mio schema, compresa la persona che ha fatto il "manifesto". Quando ho lasciato quel lavoro stavano ancora dando il mio diagramma per i nuovi assunti.

Vi consiglio che si lavora come un esploratore, trovare le tabelle chiave e li mappa come si va, facendo il maggior numero di schemi specifici, se necessario, come si scopre il sistema. Cercando di fare un gigantesco "poster" automaticamente non funziona molto bene.

Dal momento che si dispone di più schemi forse una buona idea è quella di generare diagrammi a schema invece

Usa graphviz. Utilizzare alcuni istruzioni SQL per generare il digram, quindi eseguirlo tramite dot.exe per generare un PDF o PNG.

ho usato per generare digrammi di dati all'interno delle tabelle di SQL Server. Non c'è ragione per cui lo si può utilizzare per le tabelle troppo.

http://www.graphviz.org/

Ci sono anche programmi di utilità per la navigazione grafici di grandi dimensioni in più Java, Silverlight, e AJAX, in formato PDF è solo per una pagina.

mi piacerebbe evitare di fare il tutto in un unico schema. Come lei ha ricordato, gli strumenti in crash, ed è probabilmente non è possibile comprendere facilmente un diagramma con centinaia di tavoli con potenzialmente migliaia di record al tavolo. Si può generare diagrammi delle aree logiche più piccole con una certa sovrapposizione ad altri aree logiche?

In alternativa, si potrebbe provare a utilizzare qualcosa come graphviz per analizzare le istruzioni DDL e quindi produrre un grafico. Sarà probabilmente sfornare per un po ', ma mi ricordo di aver visto in un'università diagrammi formato poster con caratteri minuscoli, che erano probabilmente la stessa complessità ai suoi. Buona fortuna!

FWIW, a patto che non vuole andare avanti con questo ho personalmente trovato che il Visual Studio 2010 del database modellatore fa gli schemi più belli che ho incontrato finora - Basta importare il database come se si stesse andando ad usarlo per Linq2SQL

schemaspy fornisce un'interfaccia comoda per generare diagrammi interattivi che riguardano più schemi utilizzando graphviz come terminale. Non ho mai provato su qualsiasi cosa di queste dimensioni però.

IntelliJ (in particolare IDEA come appena provato con questo, ma credo che i loro altri IDE offrono questa funzione https: // www .jetbrains.com / ) è dotato di un impianto di client di database, da qui è possibile connettersi al database e analizzare le singole tabelle, combinazione specifica o tavolo o di tutte le tabelle, mettendo in evidenza le tabelle desiderate, 'clic destro' e selezionando l'opzione 'diagramma'. È possibile salvare per un uso futuro e anche stampare. Ho appena provato questo su un grande DB di oltre 500 tabelle e reso in pochi secondi, il diagramma vettoriale serve come un modo alternativo per digerire strutture di database visivamente e le relazioni ei vincoli tra alcuni tavoli, ma non è raccomandato per la stampa.

entrare descrizione dell'immagine qui

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top