일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- app router
- SSR
- 태그된 유니온
- CORS
- tailwind
- 공변성
- Jest
- 타입 좁히기
- async/await
- autosize
- 인터섹션
- dfs
- Cypress
- CI/CD
- 투포인터
- 리터럴 타입
- recoil
- map
- 호이스팅
- useAppDispatch
- 무한 스크롤
- 결정 알고리즘
- TS
- 이분 검색
- Promise
- React
- 반공변성
- webpack
- RTK Query
- ESlint
- Today
- Total
짧은코딩
관계 데이터 모델 본문
- 관계 데이터 모델의 개념
-관계 데이터 모델의 기본 개념
1. 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델
2. 하나의 개체에 대한 데이터를 하나의 릴레이션에 저장
-릴레이션(relation)
하나의 개체에 관한 데이터를 2차원 테이블의 구조로 저장한 것
파일 관리 시스템 관점에서 파일(file)에 대응
-열, 속성(attribute)
릴레이션의 열, 애트리뷰트
파일 관리 시스템 관점에서 필드(filed)에 대응
-행, 투플(tuple)
릴레이션의 행, 한 고객에 대한 속성 값을 모아놓은 것으로 고객 개체의 인스턴스이다.
파일 관리 시스템 관점에서 레코드(record)에 대응
-도메인(domain)
하나의 속성이 가질 수 있는 모든 값의 집합
속성 값을 입력 및 수정할 때 적합성 판단의 기준이 됨
일반적으로 속성의 특성을 고려한 테이터 타입으로 정의
-널(null)
특성 투플의 속성 값을 아직 모르거나 해당되는 값이 없음을 표현
-차수(degree)
하나의 릴레이션에서 속성의 전체 개수, 사진에서의 차수는 6이다. 모든 릴레이션은 1 이상의 차수를 유지해야 한다. 잘 변화지 않음(정적)
-카디널리티(cardicality)
하나의 릴레이션에서 투플의 전체 개수, 사진에서 카디널리티는 4이고 투플은 계속 삽입, 삭제가 이뤄져서 자주 변한다.(동적)
- 릴레이션의 구성
-릴레이션 스키마(realation schema)
1. 릴레이션의 논리적 구조
2. 릴레이션의 이름과 릴레이션에 포함된 모든 속성 이름으로 정의 ex) 고객(고객아이디, 고객이름, 나이, 등급, 직접, 적립금)
3. 릴레이션 내포(relation intension)라고도 함
4. 정적인 특징이 있음
-릴레이션 인스턴스(relation instance)
1. 어느 한 시점에 릴레이션에 존재하는 투플들의 집합
2. 릴레이션 외연(relation extension)이라고도 함
3. 동적인 특징이 있음
- 데이터베이스의 구성
-데이터베이스 스키마(database schema)
데이터베이스의 전체 구조
데이터베이스를 구성하는 릴레이션 스키마의 모음
-데이터베이스 인스턴스(database instance)
데이터베이스를 구성하는 릴레이션 인스턴스의 모음
-릴레이션의 특성
1. 투플의 유일성: 하나의 릴레이션에는 동일한 투플이 존재할 수 없다.
2. 투플의 무순서: 하나의 릴레이션에서 투플 사이의 순서는 무의미하다.
3. 속성의 무순서: 하나의 릴레이션에서 속성 사이의 순서는 무의미하다.
4. 속성의 원자성: 속성 값으로 원자 값만 사용할 수 있다.
- 키(Key)
릴레이션에서 투플들을 유일하게 구별하는 속성 또는 속성들의 집합
-키의 특성
유일성(uniqueness): 하나의 릴레이션에서 모든 투플은 서로 다른 키 값을 가져야 함
최소성(minimality): 꼭 필요한 최소한의 속성들로만 키를 구성함
-키의 종류
1. 슈퍼키(super key)
유일성을 만족하는 속성 또는 속성들의 집합
ex) 고객 릴레이션의 슈퍼키: 고객아이디, (고객아디이+고객이름), (고객이름+주소) 등
2. 후보키(candidate key)
유일성과 최소성을 만족하는 속성 또는 속성들의 집합
ex) 고객 릴레이션의 후보키: 고객아이디, (고객이름+주소) 등
3. 기본키(primary key)
후보키 중에서 기본적으로 사용하기 위해 선택한 키
ex) 고객 릴레이션의 기본키: 고객아이디
4. 대체키(alternate key)
기본키로 선택되지 못한 후보키
ex) 고객 릴레이션의 대체키: (고객이름+주소)
5. 외래키(foreign key)
다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
릴레이션들 간의 관계를 표현
1. 참조하는 릴레이션: 외래키를 가진 릴레이션
2. 참조되는 릴레이션: 외래키가 참조하는 기본키를 가진 릴레이션
하나의 릴레이션에는 외래키가 여러 개 존재할 수도 있고 외래키를 기본키로 사용할 수도 있다.
같은 릴레이션의 기본키를 참조하는 외래키도 정의할 수 있다. 그리고 외래키 속성은 널 값을 가질 수도 있다.
-키의 특성과 종류
모든 키가 유일성은 가지고있다.
수퍼키를 4개로 만들었는데 찾아보니 3개로도 만들 수 있다 =>후보키
후보키에서 하나 끄집어 내는게=>기본키
그리고 남는 애들이 대체키
- 관계 데이터 모델의 제약
-무결성 제약조건(integrity constraint)
데이터의 무결성을 보장하고 일관된 생태로 유지하기 위한 규칙
무결성: 데이터를 결함이 없는 상태, 즉 정확하고 유효하게 유지하는 것
-개체 무결성 제약조건(entity integrity constraint)
기본키를 구성하는 모든 속성은 널 값을 가질 수 없는 규칙
-참조 무결성 제약조건(referential integrity constraint)
외래키는 참조할 수 없는 값을 가질 수 없는 규칙
이 그림에서는 cherry라는 고객아이디는 존재하지 않기 때문에 참조 무결성 제약조건을 위반했다.
'학교 > 데이터베이스' 카테고리의 다른 글
관계 데이터 연산 (0) | 2021.09.27 |
---|---|
데이터 모델링 (0) | 2021.09.13 |
데이터베이스 시스템 (0) | 2021.09.12 |
데이터베이스 관리 시스템 (0) | 2021.09.12 |
데이터베이스 기본 개념 (0) | 2021.09.12 |