관계형 모델링
논리적 데이터 모델링 단계
- DBMS에서 사용하는 데이터 모델에 맞추어 데이터를 표현하는 과정
- 관계형 모델(RDBMS)
- 데이터 표현이 단순하고 직관적 구조화 모델
- Oracle, DB2, PostgreSQL, MySQL, MSSQL 등
릴레이션의 구성
- 컬럼, 속성, 필드
- 스키마
- 레코드, 튜플
- 인스턴스
릴레이션의 특징
- 레코드의 유일성 : 중복된 코드의 존재가 불가능
- 레코드의 무순서성: 레코드의 순서는 의미가 없음
- 컬럼의 무순서성 : 컬럼은 순서가 없고, 이름과 값의 쌍
- 컬럼값의 원자성 : 모든 값들은 나눌 수 없는, 단 하나의 의미
ER 다이어그램을 관계형 모델로 변환 변환
- 1:N의 관계에 있다 가정 : N 개체가 전체참여 조건이면 참여를 받는 개체의 PK를 가져와 FK로 만들어준다.
- N:N의 관계에 있다 가정 : 두 개체의 PK를 가져와 PK, FK 의 새로운 릴레이션으로 생성하여 관리한다.
- 1:1의 관계에 있다 기정 : 두 개체 중 FK를 아무대나 넣어도 되지만 레코드의 갯수가 더 적은 곳에서 하는 곳이 좋다. (약한 결합이 존재할 경우 PK,FK를 둘다 넣어줘야한다.)
데이터 연산
관계 연산의 개념
- 관계형 모델을 기반으로 구성된 릴레이션을 사용하여 새로운 릴레이션을 생성하는 표현
- 사용자의 관점에서 필요한 데이터를 릴레이션에서 추출하는 방법을 제공하는 도구
- 관계 대수(relational algebra)
- 관계연산을 정의하는 방법
- 주어진 릴레이션에서 필요한 릴레이션을 만드는 연산자로 구성
- 관계 대수 연산자는 새로운 임시 릴레이션을 생성
셀렉트 연산
- 주어진 릴레이션에서 조건을 만족하는 레코드를 갖는 릴레이션을 생성
\(σ_{조건}\) (R)
예) \(σ_{의사이름='유명의'}\) (의사)
프로젝트 연산
- 기술된 컬럼만 갖는 릴레이션으로 재구성
\(Π_{<컬럼리스트>}\) (R)
예) \(Π_{교수이름, 소속학과}\) (교수)
카티시언 프로덕트 연산
- 두 릴레이션에 포함된 레코드 간의 모든 조합을 생성하는 이항 연산자
조인 연산
- 두 릴레이션에서 조건을 만족하는 레코드를 결합한 레코드로 구성된 릴레이션을 생성
댓글남기기