2022.12.6 TIL

듀듀·2022년 12월 6일
0

JPA

객채지향 모델과 관계형 데이터베이스의 패러다임 불일치가 발생

우리는 프로그래밍에서 패러다임이 무엇인지, 왜 중요한지 이미 배웠습니다.
하지만 우리는 자바-스프링 서버와 관계형 데이터 베이스 모두 함께 사용해야하는데,
두 모델에서 패러다임의 불일치가 발생합니다.

객체릴레이션
밀도 문제다양한 크기의 객체를 만들 수 있음, 커스텀한 타입 만들기 쉬움테이블, 기본 데이터 타입
서브타입 문제상속, 다형성 구현 쉬움상속 없음, 다형적인 관계 표현 불가
식별성 문제레퍼런스 동일성, 인스턴스 동일성오직 pk
관계 문제서로간의 객체 참조를 통해 표현, 다대다 가능, 방향이 있다다대다 x, 다대다를 맺어주는 테이블로 처리, 외래키가 있어서 바로 조회 가능(방향 없음)
데이터 네비게이션 문제마음대로 레퍼런스타고 이동 가능그러한 방식이 비효율적(매번 join, 그리고 다 가저오면 성능문제)
  1. 밀도 문제는 딱히 설명이 필요 없겠죠. 데이터베이스의 데이터가 더 정형화되어있고 까다롭습니다.
  2. 관계형 데이터 베이스에는 상속의 개념이 없습니다. 하지만 우리가 이미 배웠던 것처럼 상속은 객체의 역할과 구현을 분리해주기 위해 객체 지향 프로그래밍에서 가장 핵심적인 기능 중 하나입니다.
  3. 관계 문제와 데이터 네비게이션 문제는 설명이 조금 더 필요 할 것 같습니다.
profile
나는 내 의지대로 된다.

0개의 댓글