데이터베이스 모델링
데이터베이스 모델링
- 데이터베이스 테이블에 대한 형태 묘사
- ERD(Entity - Relationship Dialog): 그리는 툴을 사용한다. 테이블이 될 예정인 것을 entity라고 부르고, 각 테이블을 연결한 선을 relationship이라고 부른다.
- 논리적 다이어그램
- 한글로 표현
- 물리적 다이어그램
- 자료형과 같은 테이블에 대한 정보 포함, 영어로 표현
DML
select - 검색(데이터 변동이 없이 표현만을 위한 쿼리문)
서브쿼리
단일행 - 비교연산자
복수행 - not in any + <>
-> 한 개 테이블에 데이터 선택
-> 연관성을 가진 여러 개의 테이블을 조회
Relation => RDBMS(관계형 데이터베이스)
간단하게 사원 데이터와 각 사원에 대한 부서 정보가 담긴 테이블을 작성해보자.
사원번호 사원이름 …. 부서이름 부서위치
7639 SMITH Research Dallas
7566 JONES Research Dallas
이 때, 부서이름, 부서위치의 경우 중복된 데이터가 생길 수 밖에 없다. 따라서 중복된 데이터만 분리를 시켜서 데이터를 효율적으로 저장하도록 한다.
이를 위해 부서이름과 부서위치만 따로 저장하는 테이블을 만들고 두 테이블 간의 연관고리를 만들어주자 -> 부서번호
사원번호 사원이름 …. 부서번호
7639 SMITH 10
7566 JONES 10
부서번호 부서이름 부서위치
10 Research Dallas
게다가 부서번호로 정해둔다면 부서이름이 바뀌더라도 관리가 수월한데, 이를 코드화라고 한다.
다음은 간단한 코드화의 일환이다. mgr은 상위 매니저를 의미하는데, 해당 데이터가 직원번호로만 표시되어 있다.
그렇다면 중복이 제거되고 코드화되어 있는 정보를 검색할 때 보기 편하게 한번에 보고 싶다면 어떻게 해야할까?
이를 위해서 사용하는 것이 join이다. 이에 대해서 알아보도록 하겠다.
댓글
댓글 쓰기