데이터베이스를 리버스 엔지니어링하여 ER 다이어그램을 생성합니다 [폐쇄
-
06-07-2019 - |
문제
참고 : 원래이 질문은 PostgreSQL에 대한 요청을 받았지만 답은 외국 키 연관성을 감지 할 수있는 JDBC 드라이버가있는 거의 모든 데이터베이스에 적용됩니다.
외국 키와 테이블 간의 관계에 대한 PostgreSQL 데이터 사전 쿼리 쿼리는 매우 간단하지만 해당 정보를 사용하여 테이블 간의 관계 그래프를 생성 할 수있는 방법은 무엇입니까?
이를 수행 할 수있는 도구에 대한 권장 사항이 있습니까?
편집하다: 나는 GraphViz/dot을 알고 있습니다 ~할 수 있다 그러나 유용하지만, 지시 된 그래프 .dot 파일을 생성하는 앱을 코딩하는 방법에 대해서는 아무런 아이디어가 없습니다.
다른 팁
Microsoft Visio는 쉽게이 작업을 수행 할 것입니다.
적어도 Oracle의 경우이 쿼리를 실행하거나 DBA에 실행하여 결과를 보내달라고 요청합니다. 결과는 GraphViz의 도구로 해석 할 텍스트 파일에 직접 복사하여 데이터베이스 다이어그램을 초래할 수 있습니다.
SELECT '"' || Source.TABLE_NAME || '" -> "'
|| Destiny.TABLE_NAME || '";' AS For_GraphViz
FROM dba_constraints Source
JOIN dba_constraints Destiny
ON Source.owner='my_db_owner' AND Destiny.owner='my_db_owner'
AND Source.CONSTRAINT_TYPE='R'
-- theoretically this validation should be redundant
-- AND Destiny.Constraint_type = 'P'
AND Source.R_CONSTRAINT_NAME = Destiny.CONSTRAINT_NAME
ORDER BY Source.TABLE_NAME, Source.CONSTRAINT_TYPE, Source.CONSTRAINT_NAME
, Source.R_CONSTRAINT_NAME, Source.INDEX_NAME;
SQL Server에 대해서도 비슷한 쿼리를 쉽게 만들 수 있으며 MySQL에 대해 알지 못합니다. Postgresql et al.
점 Multiplatform이면 유용 할 수 있습니다.
dbvisualizer 또한 자유롭고 멋진 대안입니다.
제휴하지 않습니다 StackOverflow