2013-08-19 2 views
0

CakePHP 앱의 경우 CakePHP 명명 규칙을 따르는 데이터베이스 테이블 이름에 대해 생각하고 있습니다. 그러나 여러 번 나는 엔티티가 아닌 정보를 포함하는 일반 테이블을 보았습니다. 엔티티에 대한 추가 정보가 들어 있습니다. 이 표의 정보는 재사용을 위해 작성되었으므로 주 엔티티 테이블과 별도로 배치됩니다.테이블 이름의 CakePHP 명명 규칙

예를 들어, 나는 때때로 마스터 제품이 될 수있는 제품을 사용합니다. 이 경우 "제품"테이블은 "제품"테이블에서 원하지 않는 추가 정보를 위해 "master_product_information"테이블에 연결됩니다.

또 다른 예 : 여러 페이지의 메타 데이터가 들어있는 테이블. 일반적으로 나는 "pages_metadata"테이블에 이름을 짓 겠지만, Cake에 대해서는 복수형이되어야하고 "pages_metadatas"는 올바르게 보이지 않는다. 그래서 다시 한 번 "pages_metadata_information"에 갈 것입니다.

엔티티가없는 테이블의 이름을 어떻게 지정합니까? [엔터티] _ 정보는 좋은 것입니까?

몇 가지 권장 사항을 듣고 싶습니다.

감사합니다.

+0

Dupe? http://stackoverflow.com/questions/6327249/cakephp-table-naming-convention – ficuscr

+0

@ficuscr 다른 페이지를 읽었지 만 일반적인 정보 테이블 이름을 찾는 방법을 찾고 있습니다. 테이블을 조인하는 것뿐만 아니라 케이크 모델을 가져야하는 테이블도 조인합니다. – Hans

+1

Gotcha. 실제로이 문제에 대한 옳고 그른 대답이 있는지 확신하지 못합니다. 내가 생각하기에 효과가있는 것은 무엇인가? 일관성있게하십시오. – ficuscr

답변

5

정답 (IMO)은 CakePHP 규칙 만 따르는 것입니다. 가끔씩 어색한 테이블 이름이 있어도 인생은 가장 쉽습니다.

귀하의 경우, "master_product_information"테이블의 이름을 master_products으로 지정하십시오. master_product에 대한 "정보"가 포함되어 있다는 사실을 테이블 이름에 지정할 필요가 없습니다. 고객 정보를 저장하는 테이블처럼 "고객 정보"테이블이 아니라 "고객"테이블입니다.

"pages_metadata_information"의 경우 '메타 데이터'는 복수형 용어입니다. 내가 page_metadata 같은 이름으로 갈거야, 아니면 그냥 metadata. 메타 데이터가 페이지 또는 페이지와 연관되어 있다는 사실은 테이블 이름에 지정할 필요가 없을 가능성이 큽니다. 선생님이 항상 학생들과 연관되어 있음에도 불구하고 "선생님"표가 "students_teachers"라고 불리는 것과 같이.

테이블 이름이 약간 어색 할 수도 있지만 규칙을 위반하는 것보다 번거롭지 않으므로 익숙해집니다.