1. 조인
- 식별자를 상속해 이를 이용해 데이터를 결합해 여러 엔티티에서 필요한 데이터를 한번에 가져오는 것
회원 엔티티
회원 ID | 이름 |
A0001 | 조찬국 |
A0002 | 박창기 |
A0003 | 하이늘 |
회원 연락처 엔티티
회원 ID | 구분코드 | 연락처 |
A0001 | 휴대폰 | 010-1234-5678 |
A0001 | 집전화 | 062-111-2222 |
A0002 | 휴대폰 | 010-3333-4444 |
A0003 | 휴대폰 | 010-3333-4444 |
회원과 회원연락처 두 엔티티는 1:N 관계라고 하자.
만약, 회원 ID가 ` A0001 `인 회원의 이름과 휴대폰 번호는 어떻게 알까?
사람이라면 그냥 회원 엔티티에서 회원ID보고 회원 연락처 엔티티의 id와 구분코드에 휴대폰이 있는 행을 찾은 후 그 행에서 연락처 번호를 찾을 것이다. 이러한 과정을 컴퓨터에서도 시행 하는데 이때 사용하는 것이 조인이다.
SELECT A.회원ID, A.이름, B.구분코드, B.연락처
FROM 회원 as A, 회원역락처 as B,
WHERE A.회원ID = B.회원ID --두 엔티티를 연결
AND A.회원ID = 'A0001A
AND B.구분코드 = '휴대폰'
위의 코드는 두 엔티티를 식별자를 이용해 엔티티를 연결한 후 필요한 데이터를 한번에 가져왔다.
이해를 돕기 위해, 심부름을 한다 가정하자.
어머니가 대파를 사오라고 심부름을 시키고, 마트에 갔다왔다. 갔다오자마자 마늘을 마트에 사오라고 하셨다. 또 도착하자 두부를 마트에서 사오라고 하셨다. 이렇게 총 3번의 심부름을 하게 되는데 조인을 사용하면, 대파,마늘,두부를 한번만 마트에 들르게 된다.
위의 예시를 통해 조인의 중요성을 알게 된다. 조인은 성능을 높이는 중요한 역할을 하게된다.
2. 모델이 표현하는 트랜잭션의 이해
트랜잭션: 데이터베이스의 논리적인 연산 단위 혹은 논리적인 업무 단위


3. SQL 기본
데이터 베이스: 데이터를 일정한 형태로 저장해 놓은 것 (ex: 엑셀)
데이터 베이스 관리 시스템 (DBMS): 기존 데이터베이스 기능에 추가로 데이터 손상 방지 및 복구, 인증된 사용자만 접근 등 추가기능을 지원하는 관리 시스템
관계형 DBMS(Relational DBMS, RDBMS): 테이블로 데이터를 관리하고 테이블간 관계를 이용해 데이터를 정의하는 방식으로 대부분의 기업이 사용한다.(Oracle,mysql, h2 등)
테이블: RDBMS에서 실제 데이터가 저장되고 조회되는 2차원 배열 형태의 저장소 공간
엔티티,속성,인스턴스 => 테이블, 컬럼,튜플
개념적 => 논리적 => 물리적
(엔티티) (릴레이션) (테이블)
SQL(Structured Query Language)
: RDBMS에서 데이터 정의,조작,조회,제어 등을 하기 위해 사용하는 언어

1. 조인
- 식별자를 상속해 이를 이용해 데이터를 결합해 여러 엔티티에서 필요한 데이터를 한번에 가져오는 것
회원 엔티티
회원 ID | 이름 |
A0001 | 조찬국 |
A0002 | 박창기 |
A0003 | 하이늘 |
회원 연락처 엔티티
회원 ID | 구분코드 | 연락처 |
A0001 | 휴대폰 | 010-1234-5678 |
A0001 | 집전화 | 062-111-2222 |
A0002 | 휴대폰 | 010-3333-4444 |
A0003 | 휴대폰 | 010-3333-4444 |
회원과 회원연락처 두 엔티티는 1:N 관계라고 하자.
만약, 회원 ID가 ` A0001 `인 회원의 이름과 휴대폰 번호는 어떻게 알까?
사람이라면 그냥 회원 엔티티에서 회원ID보고 회원 연락처 엔티티의 id와 구분코드에 휴대폰이 있는 행을 찾은 후 그 행에서 연락처 번호를 찾을 것이다. 이러한 과정을 컴퓨터에서도 시행 하는데 이때 사용하는 것이 조인이다.
SELECT A.회원ID, A.이름, B.구분코드, B.연락처
FROM 회원 as A, 회원역락처 as B,
WHERE A.회원ID = B.회원ID --두 엔티티를 연결
AND A.회원ID = 'A0001A
AND B.구분코드 = '휴대폰'
위의 코드는 두 엔티티를 식별자를 이용해 엔티티를 연결한 후 필요한 데이터를 한번에 가져왔다.
이해를 돕기 위해, 심부름을 한다 가정하자.
어머니가 대파를 사오라고 심부름을 시키고, 마트에 갔다왔다. 갔다오자마자 마늘을 마트에 사오라고 하셨다. 또 도착하자 두부를 마트에서 사오라고 하셨다. 이렇게 총 3번의 심부름을 하게 되는데 조인을 사용하면, 대파,마늘,두부를 한번만 마트에 들르게 된다.
위의 예시를 통해 조인의 중요성을 알게 된다. 조인은 성능을 높이는 중요한 역할을 하게된다.
2. 모델이 표현하는 트랜잭션의 이해
트랜잭션: 데이터베이스의 논리적인 연산 단위 혹은 논리적인 업무 단위


3. SQL 기본
데이터 베이스: 데이터를 일정한 형태로 저장해 놓은 것 (ex: 엑셀)
데이터 베이스 관리 시스템 (DBMS): 기존 데이터베이스 기능에 추가로 데이터 손상 방지 및 복구, 인증된 사용자만 접근 등 추가기능을 지원하는 관리 시스템
관계형 DBMS(Relational DBMS, RDBMS): 테이블로 데이터를 관리하고 테이블간 관계를 이용해 데이터를 정의하는 방식으로 대부분의 기업이 사용한다.(Oracle,mysql, h2 등)
테이블: RDBMS에서 실제 데이터가 저장되고 조회되는 2차원 배열 형태의 저장소 공간
엔티티,속성,인스턴스 => 테이블, 컬럼,튜플
개념적 => 논리적 => 물리적
(엔티티) (릴레이션) (테이블)
SQL(Structured Query Language)
: RDBMS에서 데이터 정의,조작,조회,제어 등을 하기 위해 사용하는 언어
