애플리케이션 코드 관리
86
작성한 질문수 21
안녕하세요 스승님!
질문드립니다!
데이터 정합성을 위한 확인 절차는 front, back, DB에서 3중으로 처리하는게 좋은가요? 아니면 애플리케이션 레이어에서 처리하는게 좋을까요?
(3중으로 하면 처리가 빠르고 정확할 수 있다는 장점이 있지만 처리 조건이 변경되는 경우 3군데에서 모두 변경이 있어야한다는 점이 꽤 번거로울 것 같습니다...)
이후 설계에서 다뤄주시겠지만, 1:1 관계의 테이블로 연결된 두 테이블에서 FK에 UNIQUE 제약을 거는게 일반적인지도 궁금합니다.
매번 덕분에 성장하고있슴다!
감사합니다!
답변 2
0
안녕하세요, 인프런 AI 인턴입니다.
티티티님께서 질문하신 데이터 정합성 처리와 1:1 관계에서의 FK 유니크 제약 사항에 대해 간단히 설명 드리겠습니다:
- 데이터 정합성 처리:
데이터 정합성을 확보하는 방법은 여러 계층을 통해 이루어질 수 있습니다.
- 프론트엔드(UI 레벨): 사용자 입력에 대한 기본적인 검증은 빠른 피드백을 줄 수 있어 사용자 경험을 향상시킵니다.
- 백엔드(애플리케이션 레벨): 보안 및 비즈니스 로직 상의 검증을 통해 보다 깊이 있는 데이터 검증이 가능합니다.
- 데이터베이스(DB 레벨): 최종적인 안전장치로, 데이터 무결성을 보장하기 위해 필요한 경우 제약조건(예: 유니크, 외래키) 등을 사용합니다.
- 프론트엔드(UI 레벨): 사용자 입력에 대한 기본적인 검증은 빠른 피드백을 줄 수 있어 사용자 경험을 향상시킵니다.
모든 레벨에서 검증을 하게 되면 중복된 검증으로 인한 효율성 저하가 있을 수 있지만, 그만큼 높은 신뢰성과 보안성을 제공합니다. 그러나, 유지보수 차원에서 세 영역의 검증을 병행하는 것은 관리가 복잡해질 수 있으므로, 실제 요구사항과 환경에 따라 어느 정도 타협할 것이 필요합니다.
- 1:1 관계의 FK에 UNIQUE 제약 사용:
- 1:1 관계의 데이터베이스 설계에서는 일반적으로 외래키에 UNIQUE 제약 조건을 걸어두는 것이 좋습니다. 이는 양쪽 엔티티 간의 고유하고 엄격한 연결을 보장하기 위해 필요합니다. 이를 통해 쿼리의 효율성과 참조 무결성을 높일 수 있습니다.
- 1:1 관계의 데이터베이스 설계에서는 일반적으로 외래키에 UNIQUE 제약 조건을 걸어두는 것이 좋습니다. 이는 양쪽 엔티티 간의 고유하고 엄격한 연결을 보장하기 위해 필요합니다. 이를 통해 쿼리의 효율성과 참조 무결성을 높일 수 있습니다.
다음 링크에서 유사한 논의를 찾아보실 수 있습니다:
- 1:1 연관관계 설계 시 고려 사항: 데이터베이스 연관 관계 설정에 관한 논의입니다.
성장에 도움이 되셨길 바랍니다! 데이터베이스 설계에 대한 다양한 접근과 사례를 통해 더 깊이 이해하시게 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천드립니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
간단한 오타 제보입니다.
0
19
1
ON을 명시하지 않았을 경우 질문드립니다.
0
63
1
강의 2:53 union을썼는데도 션이 중복
0
61
1
where 대신 having을 써도 되나요?
0
85
1
주문 내역에 대한 고객 데이터
0
67
2
in 수행
0
46
1
외부조인1 강의 관련 질문
0
77
3
커버링 인덱스와 랜덤i/o 질문
0
73
1
오타인거죠?
0
82
1
섹션 3 퀴즈 3번 문제
0
79
2
GROUP BY 기준 컬럼
0
89
1
질문이 있습니다
0
58
1
오타
0
84
2
실제 상용 서비스 질문
0
101
1
파티셔닝 관련 질문입니다.
0
62
1
join 문제 풀이2 문제1(self join) 질문
0
68
1
9. 인덱스2.pdf 중에서
0
81
1
문제 2번
0
69
2
문제와 풀이1 - 3번 문제
-1
73
2
잘 사용하진 않지만 풀 외부 조인을 사용하신 사례가 궁금합니다!
0
96
1
[58. 인덱스와 정렬]을 듣다가 질문입니다.
0
96
2
두개 이상의 테이블을 조인할때 인덱스 질문이 있습니다.
0
62
1
파일을 만드는 단위가 궁금해요
0
75
1
MySQL은 실무에서 사용하는 케이스도 있을까요?
0
85
1





