Saya telah melihat banyak alat yang dapat merekayasa balik ERD dari basis data yang ada, tetapi saya belum dapat menemukan satu yang mampu secara otomatis menyusun diagram dengan cara yang masuk akal. Sebagian besar dari mereka hanya menempatkan semua entitas di atas satu sama lain dan menyebutnya sehari. Beberapa berusaha mengorganisasi entitas, tetapi mereka tidak melakukan pekerjaan dengan sangat baik.
Apakah ada alat di luar sana yang akan merekayasa balik struktur database yang ada, dan kemudian secara otomatis meletakkannya dengan cara yang mudah dimengerti dan mengungkap organisasi database? Jika saya membuat alat seperti itu, saya akan meminimalkan panjang garis yang menghubungkan entitas, meminimalkan jumlah garis yang saling bersilangan, dan membuat kelompok entitas terkait saling menonjol. Saya juga mencoba untuk menyimpulkan tabel mana yang merupakan tabel pencarian, yang mana tabel perantara mana-ke-banyak, dll dan meletakkan entitas sedemikian rupa sehingga peran ini jelas bagi orang yang melihat diagram.
Saya tidak punya dana untuk membuat di atas, tapi saya punya dana untuk membeli alat seperti itu jika bagus.
Sunting: Saya harus menyebutkan bahwa saya mencoba untuk diagram database dengan 100 tabel, jadi saya ingin mengotomatisasi sebanyak mungkin. Basis data bukan yang saya kenal, jadi saya ingin belajar dari melihat diagram daripada membuang apa yang saya tahu ke dalam diagram (yang tampaknya menjadi alat yang paling dirancang untuk diagram).
Jawaban:
Selama Anda memiliki kunci asing di basis data Anda, saya telah menemukan bahwa Visio melakukan pekerjaan yang cukup baik. Saya memiliki database postgresql dengan sekitar 150 tabel dari empat proyek gabungan yang berbeda yang terhubung melalui berbagai kunci asing dan melakukan pekerjaan yang luar biasa untuk mengekstraksi semua hubungan dan mengelompokkan tabel bersama. Diagram hanya memiliki beberapa garis yang tumpang tindih meskipun kunci asing yang luas. Juga, karena kunci asing elemen logis dikelompokkan bersama dengan baik itu jelas basis data mana sebagian besar tabel berasal.
sumber
SchemaCrawler secara otomatis menghasilkan diagram dari basis data, menggunakan GraphViz. Kekuatan sebenarnya dari SchemaCrawler adalah itu
Cukup unduh SchemaCrawler, letakkan di suatu tempat di jalur java Anda dan jalankan sebagai berikut:
Perhatikan juga bahwa Anda dapat memilih berbagai format file seperti
dan banyak lagi.
Anda juga dapat memutuskan apakah nama kunci asing, nomor urut kolom, dan nama skema harus ditampilkan dengan mengatur properti berikut dalam file konfigurasi SchemaCrawler, schemacrawler.config.properties.
Ada lebih banyak info dan contoh di http://schemacrawler.sourceforge.net/diagramming.html
sumber
mungkin tergantung pada basis data yang Anda gunakan. Saya sudah mencoba ini dengan Microsoft SQL Server Management Studio dan itu menciptakan dan menjabarkan diagram. Saya tidak bisa mengatakan apakah itu memenuhi persyaratan Anda tetapi edisi kilat gratis sehingga selalu memungkinkan untuk mencobanya.
sumber
Saya sudah menggunakan Druid untuk ini di masa lalu dan sangat puas. Ini open source / gratis dan Anda dapat memindahkan objek dalam diagram. Namun, UI dapat sedikit membiasakan diri.
sumber