Oracle scott 계정 스키마를 Domain 으로 구성하기
개인적으로 데이터베이스 Vendor 중에서 가장 좋아하는 예제는 Oracle 의 Dept, Emp, Salgrade 다. 연습할 수 있는 모든 상황이 정리한 가장 좋은 구조다. 이번 글은 위 예제를 자바 객체와 연관관계를 만들어 보고 데이터베이스와 자바 구조는 어떤 차이가 있는지 기록한다. 기회가 되면 JPA 연동해서 구조를 만들어보겠다.
Oracle Schema 구조.
테이블은 아래와 같이 3가지로 구성되어 있다.
Table |
Class |
설명 |
emp |
Employee |
직원 |
dept |
Department |
부서 |
salgrade |
Salarygrade |
급여등급 |
자바 객체로 구현.
이 테이블의 구조를 객체의 구조로 해석했다. 사용한 JDK 는 11 버젼이다.
자바와 데이터베이스는 다른 구조를 가지고 있기 때문에 몇가지 차이점이 있다.
1. Employee 와 Dept 연관관계를 설정할 method 가 존재한다.
데이터베이스는 테이블의 관계를 외래키(Foreign Key)로 설정한다. 때문에 참조하는 데이터의 Key 값을 저장한다. 반면에, 자바는 참조하는 객체의 식별자 값을 저장하지 않고 직접 객체를 참조한다. 객체간 참조하는 연간관계를 만들기 위해서는 서로를 엮어줄 method 가 필요하다. 그 method 가 바로 Employee.appointDepartment() 와 Department.addEmployees() 다.
댓글
댓글 쓰기