나는 (키와 같은) 몇 가지 다른 테이블에 나타날 필드가있는 데이터베이스를 만들려고합니다. 예를 들어, 나의 리스팅 테이블에서 나는 MLS_ID를 가질 것이다. 이 필드는 listing_photos 테이블에도 나타납니다. 필드 이름의 접두어를 고유하게하려면 : listing_MLS_ID를 예로 들겠습니까?관계형 데이터베이스의 필드 이름을 어떻게 지정해야합니까?
답변
그렇게하는 데 전혀 문제가 없습니다. 당신은 항상 당신의 필드 이름에 데이타베이스와 테이블 이름을 접두사로 붙일 수 있으며, 고유 한 식별자를 얻고 이름 자체를 깔끔하고 간결하게 유지할 수 있습니다.
listings.mls.id
는 listings
데이터베이스에 속하는 mls
테이블에 id
필드를 해결합니다.
매우 유연합니다. 긴 고유 식별자가 필요한 경우 언제든지 사용할 수 있습니다.
다른 모든 경우에 짧은 이름을 사용할 수 있습니다.
개인적인 취향입니다. 나를 위해
: 내가 기본 키를 제외하고 로컬 테이블 이름 앞에하지 않는
. 예 : PERSON 테이블은 PERSON_ID 열을 가져오고 ADDRESS 테이블은 ADDRESS_ID 등을 가져옵니다.
PERSON_ADDRESS 테이블은 PERSON_ID 및 ADDRESS_ID가 아닌 다른 것을 가져옵니다.
쿼리에서 열 이름은 키와 동등해야 할 때 동일하며 테이블 별칭은 어떤 것이 있는지 알려줍니다.
두 테이블 (MLS_ID)의 키 이름을 동일하게 지정하십시오. 이것보다 오히려
SELECT * FROM listings
JOIN listing_photos
USING (MLS_ID)
: 데이터베이스 서버는 더 간결 USING
절을 사용할 수 있도록함으로써이 일을 위해 당신을 보상
SELECT * FROM listings
JOIN listing_photos
ON listing_photos.listings_MLS_ID = listings.MLS_ID
그다지 크지 않습니다. 특히 ORM 시대의 보상에 대한 보상입니다. – webbiedave
- 1. java.util.Map의 이름을 어떻게 지정해야합니까?
- 2. FK/PK 관계가있는 데이터베이스의 열 이름을 지정해야합니까?
- 3. 내 핸들의 이름을 어떻게 지정해야합니까?
- 4. 이 함수의 이름을 어떻게 지정해야합니까?
- 5. 관계형 데이터베이스의 BCNF/3NF
- 6. 파이썬에서 내 전역 모듈의 이름을 어떻게 지정해야합니까?
- 7. Visual Studio에서 테스트의 이름을 어떻게 지정해야합니까?
- 8. PHP 클래스 파일의 이름을 어떻게 지정해야합니까?
- 9. 왜 이름을 지정해야합니까?
- 10. 소문자로 패키지 이름을 지정해야합니까?
- 11. 관계형 데이터베이스의 WebGraph 저장소
- 12. 관계형 데이터베이스의 행 수를
- 13. 관계형 데이터베이스 필드 당기기
- 14. 관계형 데이터베이스의 다중 값 특성
- 15. HTTP : 왜 호스트 이름을 지정해야합니까?
- 16. MiniTest :: Spec 파일의 이름을 지정해야합니까?
- 17. 내 어셈블리의 이름을 원격으로 지정해야합니까?
- 18. 왜 twisted.internet.deferred의 인스턴스 이름을 지정해야합니까?
- 19. 관계형 데이터베이스의 구성 값은 무엇입니까?
- 20. 관계형 데이터베이스의 저장소 엔진이란 무엇입니까?
- 21. 나와 관련된 도메인이없는 경우 어떻게 패키지 이름을 지정해야합니까?
- 22. MVC에서 컨트롤러 이름을 어떻게 지정해야합니까? 언제 새로운 것을 만들어야합니까?
- 23. 어셈블리를 멀티 타겟하는 경우 파일의 이름을 어떻게 지정해야합니까?
- 24. 다음 언어 클래스 자습서 (CodeIgniter)에서 컨트롤러의 이름을 어떻게 지정해야합니까?
- 25. 어떻게 mysql에서 데이터베이스의 이름을 바꿀 수 있습니까?
- 26. 내 솔루션의 파일 이름을 모두 소문자로 지정해야합니까?
- 27. "makefile"또는 "Makefile"의 이름을 지정해야합니까?
- 28. 내 모든 추상 클래스의 이름을 지정해야합니까? AbstractFoo
- 29. 예외의 이름을 PrinterException 또는 PrintingException로 지정해야합니까?
- 30. 활동 스트림에 대한 기존 관계형 데이터베이스의 대안
내가 모든 테이블에 열 동일한 이름을 부여 제안하는 내 그것을 이 옵션을 사용하면 조인 조건을보다 쉽게 만들 수 있습니다. 일반적인 열을 합치는 데 'USING'또는 NATURAL JOIN을 사용할 수 있습니다. – eggyal
여기에는 다양한 의견이 있습니다. http://programmers.stackexchange.com/questions/114728/why-is-naming-a-tables-primary-key-column-id-considered-bad-practice – Brad