데이터 모델
- 데이터나 정보를 설명하는 표현 방법
- 일반적으로 세 부분으로 구성됨
- 데이터 구조
- 데이터 운영
- 데이터 제약 조건
- 중요한 데이터 모델
- 관계형 모델(The Relational Model)
- XML을 포함하는 부분구조화된 데이터 모델
- 다른 데이터 모델
- 객체지향 데이터 모델
- 객체-관계형 모델
- 계층(트리) 모델
- 네트워크 모델
관계형 모델
- 릴레이션(테이블)
- 속성(컬럼)
- title, year, length, genre
- 스키마
- 테이블의 구조
- Movies(title, year, length, genre)
- 튜플(행)
- (Gone With the Wind, 1939, 231, drama)
- 도메인
- Movies(title: string, year: integer, length: integer, genre: string)
수학적 릴레이션
관계형 모델의 릴레이션(또는 테이블)
- 릴레이션 = 수학적 릴레이션 + 릴레이션 이름 + 속성 이름
- Ex: Movies(title, year, length, genre)
- 컬럼 이름은 속성(attrirbute)라고 불린다.
스키마
- 스키마 = 릴레이션 이름 + 속성
- Movies 릴레이션의 스키마
- Movies(title, year, length, genre)
- 주의사항
- 릴레이션 스키마의 속성은 집합(set)이다. 리스트가 아니다
- 릴레이션에 대해 의사소통하기 위해 우리는 속성을 표준 순서로 명세해야 한다
- 관계형 DB 스키마 = 개별적인 스키마들의 집합
튜플
- 릴레이션(테이블)의 행
- 튜플은 릴레이션의 각 속성에 대한 하나의 필드를 가지고 있다
- Ex: Movies의 첫 번째 튜플은 (Gone With the Wind, 1939, 231, drama)
도메인
- 관계형 모델은 각 튜플의 각 구성 요소가 아토믹함을 필요로 한다.
- 즉, Integer나 String과 같은 요소 타입이어야 한다
- 레코드 구조, 집합, 리스트, 배열, 다른 작은 부분으로 나누어질 수 있는 값을 합리적으로 가지는 타입은 허용되지 않는다
- 도메인은 관계의 각 속성과 연관되어 있다. 즉, 릴레이션 DB의 도메인은 아토믹해야 한다.
릴레이션의 동등 표현
- 릴레이션을 표현할 땐 스키마에 정의된 순서대로 표현한다
- 여러 사람간에 원활한 의사소통을 위해
- 만약 문제의 답을 순서대로 표현하지 않을 시 오답
릴레이션 인스턴스
- 릴레이션은 고정적이지 않고 시간이 지나면서 변화할 수 있다
- 튜플의 변화
- 스키마의 변화
- 주어진 릴레이션의 튜플의 집합을 그 릴레이션의 인스턴스라고 부른다
릴레이션의 키
- 비정식 정의
- 속성의 집합은 릴레이션의 키를 구성합니다.
- 우리가 릴레이션 인스턴스의 두 튜플이 키의 모든 속성에 대한 같은 값이 없으면
- 정식 정의
- 릴레이션 R의 키는 하나 또는 그 이상의 속성의 집합 K이다
- 상관없이 주어진 릴레이션 R의 각기 다른 튜플 r1, r2가 K의 원소인 키의 속성의 각 값이 동일하지 않으면
Uploaded by Notion2Tistory v1.1.0