(1) 물리 데이터 모델링
(2) 논리 데이터 모델을 물리 데이터 모델 변환(Transformation)
[1] 엔티티-테이블 변환
[2] 속성-컬럼 변환
[3] Primary UID를 기본키(Primary Key)로 변환
[4] Secondary(Alternate) UID를 Unique Key로 변환
[5] Relationship을 Foreign Key로 변환
[6] Business Constraints를 Check Constraints로 변환
(1) ⭐️ ORM(Objecti-Relational Mapping, 객체-관계 매핑)
[1] 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다.
[2] 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다.
[3] 객체 모델과 관계형 모델 간의 불일치가 존재하는데 ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다.
(2) ORM의 장단점
[1] 장점
[2] 단점
(3) ORM 전환 방식
(4) ORM(Object-Role Modeling)에서 클래스간의 관계 표현
[1] 연관 관계(1:1, 1:N, N:M)
[2] 집합(aggregation) 관계 : 구성요소(부분)가 없어도 전체 개념이 존재할 수 있다.
[3] 복합(composition) 관계 : 집합 관계의 강한 형태로서, 복합 관계에서 부분은 한 순간에 하나의 전체에만 포함된다.
(5) 일반적인 개발과 ORM 구축 개발과의 비교
특성 | 일반적인 개발 | ORM 구축 개발 |
---|---|---|
매핑 적용 | 테이블 컬럼과 자바 클래스간 직젖ㅂ 매핑 필요 | 개발자는 직접 객체지향 관점에서 처리 가능 |
유연성 | SQL 변경시 코드를 직접 변경하고 배표해야함 | 매핑 정보의 수정만으로 적용 가능 |
표준 패턴 | 패턴 없음 | 매핑정보, XML등이 템플릿 형태로 적용됨 |
DB 제어 | 직접적으로 DB 제어 가능 | Mapping 경우 직접적인 제어가 어려울 수 있음 |
활용기술 | SQL | Persistence 프레임워크(Hibernate, iBatis,,,) |
(1) 트랜잭션
[1] 한꺼번에 모두 수행되어야 할 일련의 데이터베이스 연산들.
[응용프로그램 = 하나 이상의 트랜잭션][트랜잭션 = 하나 이상의 데이터베이스 연산(SQL명령)]
[2] 병행 제어 및 회복 작업의 논리적 단위.
(2) 트랜잭션의 성질
[1] 원자성(atomicity) : 트랜잭션은 전부, 전무의 실행만이 있지 일부 실행으로 트랜잭션의 기능을 가질수는 없다.
[2] 일관성(consistency) : 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관된 데이터베이스 상태로 된다라는 의미이다. 즉, 이 트랜잭션의 실행으로 일관성이 깨지지 않는다라는 의미.
[3] 격리성(isolation) : 연산의 중간결과에 다른 트랜잭션이나 작업이 접근할 수 없다라는 의미.
[4] 영속성(durability) : 트랜잭션의 일단 그 실행을 성공적으로 끝내면 그 결과를 어떠한 경우에라도 보장받는다 라는 의미.
(3) 트랜잭션의 원자성과 관련된 연산
[1] COMMIT : 트랜잭션의 성공적인 종료
[2] ROLLBACK : 트랜잭션의 비정상적인 종료
(4)트랜잭션 인터페이스 설계
[1] 입출력과 기능적 형태로만 작성된 트랜잭션에 대한 인터페이스를 설계하는 단계이다.
[2] 트랜잭션을 세부적으로 설계하는 것이 아니라, 트랜잭션의 전체적인 골격을 개발하고 인터페이스를 정의한다.