우리는 프로그래밍에서 패러다임이 무엇인지, 왜 중요한지 이미 배웠습니다.
하지만 우리는 자바-스프링 서버와 관계형 데이터 베이스 모두 함께 사용해야하는데,
두 모델에서 패러다임의 불일치가 발생합니다.
객체 | 릴레이션 | |
---|---|---|
밀도 문제 | 다양한 크기의 객체를 만들 수 있음, 커스텀한 타입 만들기 쉬움 | 테이블, 기본 데이터 타입 |
서브타입 문제 | 상속, 다형성 구현 쉬움 | 상속 없음, 다형적인 관계 표현 불가 |
식별성 문제 | 레퍼런스 동일성, 인스턴스 동일성 | 오직 pk |
관계 문제 | 서로간의 객체 참조를 통해 표현, 다대다 가능, 방향이 있다 | 다대다 x, 다대다를 맺어주는 테이블로 처리, 외래키가 있어서 바로 조회 가능(방향 없음) |
데이터 네비게이션 문제 | 마음대로 레퍼런스타고 이동 가능 | 그러한 방식이 비효율적(매번 join, 그리고 다 가저오면 성능문제) |