2022.05.06
국비지원교육 DB구현 인터넷강의 5강
관계형 모델의 개념
관계형 모델의 이해
1.MySQL Workbench에서의 데이터베이스 모델링 과정
-MySQL Workbench : model과 EER Diagram을 통해 데이터베이스 모델링 지원
-차별점 : 일반적인 모델링 툴과는 달리 개념적, 논리적, 물리적 데이터 모델링을 한 단계에서 수행
-사전지식 : 데이터베이스 모델링을 수행하기 전 관계형 모델의 개념에 대한 학습이 요구
2.논리적 데이터 모델링 : DBMS에서 사용하는 특정 데이터 모델에 맞추어 데이터를
표현하는 과정으로 데이터 정의 언어로 기술된 논리 스키마 생성하는 단계
-데이터의 일관성을 확보하고 중복을 제거하여 속성들이 가장 적절한 개체에 배치되도록 함으로써
신뢰성 있는 데이터 구조 생성이 주 목적
3.관계형 모델의 정의 : 1969년 에드가 F 코드(Edgar F. Codd)가 기존 데이터베이스
제품이 가지고 있는 데이터 중복, 약한 데이터 무결성, 물리적 구현에 의존 등의 문제를 해결하기 위해 제안된 모델
-술어논리와 집합론의 수학적으로 정돈된 이론을 바탕으로 릴레이션(Relation)이라는 구조를 사용하여 데이터를 표현하는 모델
-데이터 표현이 단순하고 직관적이기 때문에 현재 대다수 DBMS의 기초가 되고 있어 논리적 데이터
모델링 단계에서 사용
-관계형 모델을 사용하는 예 : Oracle, DB2, Postgre sql, MySQL, MSSQL
4.릴레이션의 정의 : 2차원 표 형태의 구조에 데이터와 데이터간의 관련성을 표현하는
모델로 속성들과 레코드들이 어떤 관계에 의해 모여진 집합
5.관계형 모델의 용어와 의미
-논리적 데이터 모델링 단계에서 관계형 모델을 위해 별도의 용어를 사용하고 있으며 여러 대체 용어가 혼용
릴레이션 : 2차원 표 형태의 데이터 저장 구조 => 테이블
레코드 : 하나의 항목하는 데이터 => 튜플, 행
컬럼 : 레코드의 한 속성 => 필드, 열, 속성
영역 : 컬럼이 가질 수 있는 값의 범위 => 도메인
차수 : 릴레이션에 존재하는 속성의 개수 => 테이블
6.관계형 모델의 특징 : 2차원 표 형태의 구조에 데이터와 데이터간의 관련성을 표현하는 모델
-릴레이션은 구조적으로는 표와 유사하지만 일반적인 표와 다른 네 가지의 특징이 있음
7.릴레이션의 특징
레코드의 유일성 : 중복된 레코드가 존재하지 않음
레코드의 무순서성 : 한 릴레이션에 포함된 레코드의 순서는 정해져 있지 않음
컬럼의 무순서성 : 컬럼은 순서가 없고, 이름과 쌍으로 구성
컬럼 값의 원자성 : 모든 값들은 나눌 수 없는, 단 하나의 의미만을 갖는 원자 값으로 구성
키
키의 개념
1.키(Key)의 정의 : 릴레이션의 레코드를 유일하게 식별하는 값을 위한 속성
2.키의 특
-유일성 : 하나의 키 값은 하나의 레코드만을 유일하게 식별
-최소성 : 두 개 이상의 속성으로 구성된 키의 경우, 속성 하나를 제거하면 유일성이 파괴되는 속성, 하나의 키 값은 하나의 레코드만을 유일하게 식별키의 종류
1.기본키(Primary Key : PK)
-릴레이션의 레코드를 유일하게 식별하는 값을 위한 컬럼
-후보키 중에서 선택한 키 = 주키(Main key)
-Null 값을 가질 수 없음
tip : 기본키로 정의된 컬럼에는 동일한 값이 중복되어 저장될 수 없음
2.수퍼키(Super key)
-한 릴레이션 내에서 유일성을 만족시키는 컬럼들의 집합으로 구성
-릴레이션을 구성하는 모든 레코드 중 수퍼키로 구성된 컬럼의 집합과 동일한 값은 나타나지 않음
tip : 릴레이션을 구성하는 모든 레코드에 대해 유일성은 만족시키지만, 최소성은 만족시키지 못함
3.후보키(Candidate key)
-릴레이션을 구성하는 컬럼들 중에서 레코드를 유일하게 식별하기 위해 사용하는 컬럼(수퍼키)들의
부분집합
-릴레이션에 있는 모든 레코드에 대해서 유일성과 최소성 만족
tip : 기본키로 사용할 수 있는 컬럼들관계의 표현
1.관계
-두 릴레이션에 포함된 레코드 간 연관성을 표현
-한쪽의 릴레이션의 기본키를 다른 쪽의 릴레이션에서 참조
2.외래키(Foreign key)
-관계(Relationship)를 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 컬럼
tip : 외래키로 지정되면 참조 릴레이션의 기본키에 없는 값은 입력 불가능
제약조건
제약조건의 이해
1.제약조건의 정의 : 모든 릴레이션 인스턴스들이 만족해야 하는 조건
-데이터의 무결성 유지가 목적
-릴레이션 스키마에 데이터베이스 언어를 통해 직접 표현이 가능
2.제약조건의 종류
-영역 제약조건
-키 제약조건
-개체 무결성 제약조건
-참조 무결성 제약조건
3.관계형 모델의 제약조건
-영역 제약조건 : 각 컬럼의 값이 반드시 해당 컬럼의 영역에 속한 값의 집합에 포함, 영역이란 속성이 가질 수 있는 원자 값들의 집합이며 데이터 타입으로 표현
-키 제약조건 : 키는 레코드를 고유하게 구별하는 값으로만 구성됨을 표현, 어떤 두 레코드도 릴레이션의 모든 컬럼에 대해 같은 값들의 조합을 가질 수 없음을 표현하는 조건
-개체 무결성 제약조건 : 어떠한 기본키 값도 널(null) 값이 될 수 없음, 기본키는 곧 릴레이션의 속성을 정의할 때 not null임을 명시
-참조 무결성 제약조건 : 다른 제약조건과 달리 참조 무결성은 두 릴레이션에 대한 제약조건, 한 릴레이션에서 기본키 참조 시, 존재하는 키만을 참조할 수 있음