Step it up now

1121 오라클 본문

수업

1121 오라클

케잉 2023. 11. 21. 01:24

Spring 프레임워크를 활용한 개발진행 - JPA API 구현하게 됨
관계형 모델에 대한 이해가 있어야 객체모델 설계가 될 수 있다 

데이터 관리
JSON포맷
List<XXVO>, List<Map> 

Oracle11g설치 - PQKfrkS/SQL 표준
관계지향형 데이터베이스 - RDBMS제품 - 양방향, 복잡한 산술식 더 잘 처리함 
Relation - 관계 - 관계형태 (1:1, 1:n, n:n)
: 고정된 2차원 테이블 - 영속성 보장 
: 데이터양 많음, 복잡한 처리 가능함 
: 양방향(한쪽 테이블 fk지정)
: 상속지원안함
: 구조적으로 나누기 어려움 
: 조인으로 처리 

객체지향언어 - 객체사이의 관계 정의 처리 - 단방향이다 
: 나누기 쉬움
: 상속 지원
: 비교. 값도 비교가능하고 동등한지 비교 가능 
: 조회 - 객체간의 참조 연결통해 
: 단방향만 가능(단방향*2로 해서 양방향 처리해야함)

객체모델(Object Model1) vs 관계형 모델(relational model) 차이점 발생 
String VARCHAR2

데이터 타입 차이 - EmpVO, DeptVO, List<EmpVO>
-> 객체와의 관계를 RDB테이블로 변환하는 게 쉽지 않다
:MyBatis는 sql을 버리지 않았다(쥐고 있다) - 튜닝팀측 생각은 - 직관적이고 튜닝이 가능하다
-> 개발자가 직접해야 된다??  실수, 변할 때마다 반영해야 함 - Hibernate 등장함(자동) 

하이브리드앱 - NoSQL등장 - 굳이 MyBatis같이 sql문을 쥐고 있을 필요가 없다
왜냐면 어차피 텍스트 기반의 서버니까 - JSON firebase

MyBatis -DB중심의 개발이다 
:MyBatis는 SQL Mapper이다

Hibernate- 어플리케이션 중심 개발이다 
:Hibernate는 자바클래스로 작성한 것을 자동으로 Table로 작성해줌
:ORM framework이다

데이터를 사용하는 클라이언트 환경이 계속 바뀌어 가고 있다
오랫동안 데이터 중심의 개발로 진행되어 왔다
문제제기 - 테이블 구조가 변경되면 다시 개발을 해야한다?? - 번거롭다


2차원 테이블로 데이터를 관리함
테이블 구성요소 = row+cols

컬럼추가 - 대응하는 데이터 타입 필요, 크기도 결정 -> 물리적인 모델링관계에서 결정됨 
제약조건 - NOT NULL, Unique 
인덱스 추가(전략) - 검색속도에 영향 
PK로 지정되면 인덱스가 제공됨 - unique index이므로 중복되지 않음 - 똑똑한 조건 
5억명 집합에서 500번째 아이디가 발견되면 더이상 검색하지 않아도 된다 


DML(select, insert, update, delete)
select - 검색속도 - 3초안에 조회가 안되면 에러다  - 시간 소요되는 것 실력차
조건검색
정렬 - 2차 가공이 요구됨 - 속도 느려짐
쿼리문의 실행계획 관찰


commit 후에는 rollback 할 수 없다 

'수업' 카테고리의 다른 글

파이어베이스와 구글 연동하는 이유  (0) 2023.11.16
git hub /branch/merge  (0) 2023.10.05