나에게 SQL은 비즈니스 로직 코드의 기본 부분 (대부분의 경우 대부분)이다. 반환 된 데이터에서 작동하는 코드와 코드를 분리하려고하면 코드의 이해도와 유지 관리 성이 불균형이 발생하기 쉽습니다.
데이터를 읽고, 데이터를 처리하고, 데이터를 쓰고, 데이터를 검색하는 등의 작업은 모두 유사한 작업이며 동일한 위치에 보관하는 것이 가장 좋습니다.
쿼리 작업이 중복되는 것을 감지하기 시작하면 데이터베이스 액세스 또는 해당 측면의 데이터베이스 액세스를 캡슐화 할 수있는 데이터베이스 뷰 또는 객체가 필요할 수 있습니다.
또 다른 팁은 실제로 좋은 데이터베이스 쿼리 방법을 사용하는 것입니다. 필자가 작성한 소프트웨어 (PostgreSQL, MySQL, SQL Server)에서 대부분의 쿼리 작업이 단일 코드 명령문으로 발생할 수 있음을 확인했습니다.
GetValue(SQL, [transaction], [array_of_params])
GetRow(SQL, [transaction], [array_of_params])
GetRowList(SQL, [transaction], [array_of_params])
GetValueList(SQL, [transaction], [array_of_params])
Execute(SQL, [transaction], [array_of_params])
그것들은 내가 보증하는 주요 함수 호출이 "연결 객체"의 일부입니다. 언어, 실제로 구현하는 것에 달려 있지만, 요점은 실제로 간단하고 고통없이 유지하는 것입니다.
요약하면, SQL을 프로그래밍의 기본 부분으로 취급하고 추상화를 위해 추상화하지 마십시오.