데이터 키 이름을 한 곳과 한 곳에서만 변경할 수 있으며 응용 프로그램과 데이터베이스 모두에서 적절하게 처리 할 수있는 패러다임이 있습니까?응용 프로그램과 데이터베이스 사이의 단일 데이터 키?
나는 최근에 데이터베이스 상수 필드에 매핑하기 위해 클래스 상수를 사용했지만, 여전히 원시 데이터베이스 키와 정렬해야한다.
내 말하는 예로서 PHP를 사용하는 것입니다, 지금 나는이 내가 일정에 변경 때, 나는 코드를 검색 할 필요가 없다는 것을 의미
$infoToUpdateUser[ User::FIELD_FIRST_NAME ]
사용할 수 있습니다 해당 필드에 대한 모든 참조를 변경합니다.
이 부분은 참조 필드에 있습니다.
(테이블 이름 : primary_key와)
- 고양이 : 인해 일부 초기 가난한 디자인 결정에, 나는 예를 들어,이 테이블의 종류,이
- 개를 CAT_ID :
- 앵무새를 dog_id : bird_id를
- 도마뱀 (가난한 디자인, 앵무새 사이 따라서 불일치/bird_id 기억) : lizard_id
- 등
그럼 레코드를 업데이트하는 일련의 폼 클래스가 있다고 가정 해 보겠습니다.
- AnimalForm
- DogForm는 AnimalForm
- CatForm이 AnimalForm
- ParrotForm이 AnimalForm를 확장 확장 확장
- 등
지금은 업데이트 기능을 사용하여 SQL 데이터베이스에 레코드를 업데이트 할 부모 클래스 인 AnimalForm에서 20 개의 하위 클래스로 코드를 복제 할 필요가 없습니다.
그러나 나는 업데이트 쿼리를 일반화 할 수있는 방법을 알고하지 않기 때문에 현재 각 서브 클래스는 idFieldName 멤버 변수를 가지고 있으며, 부모 클래스는 것 같다
"UPDATE " . $this->table . " SET <data> WHERE " . $this->idFieldName
처럼 쿼리에 있음을 삽입 이 방법을 사용하는 것은 쉽지 않지만이 시점에서는 더 나은 해결책을 생각할 수 없습니다.
데이터베이스와 응용 프로그램 모두에서 참조로 공유 할 데이터 키 이름을 함께 연결하거나 추상화하는 디자인 모델이나 패러다임이 있습니까?