참조 테이블에서 DB 열 이름 변경 (위반?)
-
21-08-2019 - |
문제
이 테이블이 있다고 말합니다.
Person table
--------------
PersonId
Address table
------------
AddressId
PersonAddressId
PersonAddressid가 PersonId이고 외국 키 인 경우. 외국 키를 바꾸는 데있어 데이터베이스 위반이 있습니까? 이름이 다른 경우 일하는 것이 매우 혼란 스러울 수 있습니다.
해결책
일반적으로 외국 키 열을 가능한 경우 참조하는 기본 키 열과 동일하게 지정하는 것이 도움이됩니다.
물론 때로는 불가능합니다.
- 두 개의 열이 있습니다
Address
둘 다 외국 열쇠 일 수 있습니다Person
, 분명히 두 열의 이름을 지정할 수 없습니다PersonId
. - 일부 테이블에는 외국 키 자체가 포함되어 있습니다.
Employee.manager_id
에 대한 참조가 될 수 있습니다Employee.employee_id
. 다시 말하지만,이 시나리오에서 열을 참조 된 기본 키와 동일하게 지정할 수는 없습니다.
SQL에는 엄격한 명명 규칙이 없습니다. 제안 된 메타 데이터 명명 규칙의 한 출처는 다음과 같습니다 ISO 11179.
다른 팁
합의 된 이유는 컨벤션이 PersonAddressId를 PersonID로 지명하는 이유입니다.
제휴하지 않습니다 StackOverflow