답변

31

시도 MySQL Workbench. 그것은 아주 좋은 데이터 모델링 도구를 포함하고 있습니다. EER 다이어그램 (노치 업 ER 다이어그램 인 향상된 엔티티 관계)에 대해서는 해당 screenshots을 확인하십시오.

이것은 CakePHP에만 한정되지는 않지만 외래 키와 조인 테이블이 CakePHP가 사용하는 규칙을 따르도록 옵션을 수정할 수 있습니다. 이렇게하면 규칙을 적용한 후 데이터 모델링 프로세스가 단순 해집니다. 당신은 MySQL의 워크 벤치를 설치하지 않으며, 온라인 도구를 찾고 있다면

+0

나는 EER 다이어그램은 "엔티티 - 개체 관계 다이어그램"라고 인상을했다 ... 그리고 나뿐만 아니라 MySQL의 워크 벤치를 권장 않습니다. – serialk

+0

체크 아웃 : http://en.wikipedia.org/wiki/Enhanced_Entity-Relationship_Model – RabidFire

+0

피벗 테이블이없는 M : N 관계가있는 경우 MySQL Workbench에서 소개하지 않고 이러한 관계를 그리는 방법이 없을 것 같습니다 피벗 테이블. 또한 기존 열이 자체 명명 규칙을 따르지 않을 때 관계를 배치 할 때 열을 만듭니다. 따라서 나에게 MySQL Workbench는 기존 스키마를 리버스 엔지니어링하는 데 많은 도움이되지 않습니다. (아마도 좋은) 관행을 사용하여 새로운 스키마를 설계하는 것이 더 많은 것으로 보인다. – jerseyboy

7

이 도움이 될 수 있습니다 http://ondras.zarovi.cz/sql/demo/

을 내가 만들 다양한 애플 리케이션을위한 간단한 DB 스키마를 만드는 데 매우 자주 사용합니다.

92

사용 MySQL Workbench. 데이터베이스의 단계 아래

후속 SQL 덤프 파일을 만듭니다

  1. 클릭 파일 -> 수출입> 리버스 엔지니어링 MySQL의 생성 스크립트
  2. 찾아보기를 클릭하고 SQL 스크립트 만들기를 선택합니다.
  3. "가져온 개체를 다이어그램에 배치"가 선택되어 있는지 확인하십시오.
  4. 실행 버튼을 클릭하십시오.
  5. 끝났습니다.
+4

이것은 나를 위해 일했지만 테이블 사이의 관계를 볼 수 없습니까? 어떤 생각? 암시? –

+0

나를 위해 환상적으로 일했습니다. 그러나 같은 문제. 테이블 사이의 관계를 얻을 수 없습니다. – danialzahid94

+14

최근 버전의 MySQL Workbench (6.2, Windows)에서 옵션은 Database> Reverse Engineer에 있습니다. MySQL 5.6 데이터베이스를 가져올 때 외장 키가 포함되어 있습니다. – AronVanAmmers

3

CakePHP는 PHP로 작성된 Ruby on Rails 프레임 워크 복제본으로 사용되기 때문에 기본 데이터베이스의 리버스 엔지니어링이 무의미합니다. EER 다이어그램은 모델 계층에서 리버스 엔지니어링해야합니다.

이러한 툴은 Ruby 에 존재합니다. Redmine 데이터베이스 EER 다이어그램이 모델에서 리버스 엔지니어링 된 것을 볼 수 있습니다. 데이터베이스가 아닙니다. 다음과 같은 도구와 http://redminecookbook.com/Redmine-erd-diagrams.html

는 : http://rails-erd.rubyforge.org/ http://railroady.prestonlee.com/

+0

Navicat 또는 SQL Yog DBMS 도구를 사용하여 ERD를 디자인 할 수 있습니다. –

+1

Ruby 또는 Cakephp와 같은 프레임 워크에서 관계는 throgh 데이터베이스가 아닌 model을 통해 관리됩니다. 데이터베이스가 관계없이 이루어 지므로 Navicat 또는 SQL Yog는 테이블간에 관계가 있음을 인식하지 못합니다. –

+0

예, 사실, 응용 프로그램이 아직 준비되지 않았다고 생각했습니다. –