티스토리 뷰

*공부 기록용으로 하는 블로그입니다.잘못된 개념이나 오타가 있을 수 있습니다. 잘못된 정보알려주시면 수정하겠습니다!*

 

관계형 모델이란?

   -관계형 데이터모델이란 데이터를 테이블로 구성을 한 후 테이블들간의 관계를 정의하여 데이터를 저장,관리하는 모델입니다. 데이터는 테이블로 표현되며 각 테이블은 행렬로 구성이 됩니다. 열은 속성,행은  튜플이라고 하며 이 관계형 데이터 모델은 현재 가장 많이 사용되는 데이터베이스 모델이며 SQL을 사용하여 데이터를 조작하고 관리합니다.

 

 

 

 

관계형 모델 기본 개념
  • 관계(Relation) : 관계는 테이블을 의미합니다. 관계형 모델에선 이러한 테이블을 관계 형식으로 연결하여 데이터르 저장 및 관리 합니다.
  • 튜플(Tuple) : 튜플은 테이블의 한 행(row,가로 줄)을 의미합니다. 이것은 레코드 라고도 불리며 하나이상의 필드(data)로 구성이됩니다.
  • 속성(Attribute) : 속성은 테이블의 열(column,세로 줄)을 의미합니다. 이것은 해당 필드의 이름과 데이터 타입을 정의 합니다. 속성값은 원자값(정수,실수,문자등등...)이여야 한다.
Student_ID Name Gender
1 Alice Female
2 Kain Male
3 Jobs Male
위의 예시를 보시면 관계는 전체 테이블을 의미하고 튜플은 가로줄 하나를 의미합니다.
첫번째 튜플이라고하면 {1,"Alice","Female"} 3개의 필드로 이루어져 있네요. 그다음으로 속성은 테이블의 세로줄을 의미하는데 여기선 Student_ID,Name,Gender 3개의 속성이 있습니다. 

 

 

 

 

데이터 베이스 키

-데이터베이스에서 키는 각 레코드(행)을 구분하고 식별할 수 있는 값입니다. 이 키는 데이터베이스 내에서 데이터를 찾을때 사용이 됩니다.

 

  • 슈퍼 키
       테이블에서 데이터를 유일하게 식별할 수 있는 모든 조합의 집합입니다.슈퍼키는 집합이기 때문에 여러가지 값이 나올 수 있으며 중복된 값도 나올 수 있습니다.(유일성을 만족하면서 최소성은 만족하지 않는 키)

  • 후보 키
    테이블에서 데이터를 유일하게 식별할 수 있는 최소한의 집합입니다. 슈퍼키의 부분집합이며 슈퍼키 중에서 최소성 조건 을 만족하는 키가 후보키가 됩니다. 후보키도 여러개가 존재 할 수 있습니다. (유일성과 최소성을 모두 만족하는 키)

  • 기본 키
    테이블에서 데이터를 구별하기 위해 사용되는 유일한 식별자입니다. 하나의 테이블엔 반드시 하나의 기본키가 존재해야 하며 널값이면 안되고 중복도 안됩니다.(후보키 중에서 선택된 키)

  • 외래 키
    다른 테이블에서 기본키로 사용되는 필드를 자신의 필드로 사용하여 두 테이블간의 관계를 맺을 때 사용합니다.

 

 

 

 

 

데이터 베이스 키 예시
학번 이름 주민등록번호 이메일 학년

테이블에 다음과 같은 칼럼이 존재 한다고 했을때, 각 칼럼은 다음과 같은 특성을 가집니다.

 

학번-학생의 번호,한 학교에선 중복x
이름-학생의 이름, 중복될 수 있음
주민등록번호-중복x
이메일-중복될 수 있음
학년-중복될 수 있음

 

여기서 슈퍼키는 다양합니다. 몇개만 뽑아 보자면 {학번,이름,주민등록번호} , {주민등록번호, 이메일,학년} . {학번,주민등록번호},{학번} 등이 있을 수 있습니다.

 

후보키는 슈퍼키에서 가장 최소한의 값을 고르면되는데 여기서는 학번, 주민등록번호가 있습니다.(조건에따라 2개 이상의 집합이 될 수도 있습니다.)

 

기본키는 이제 후보키에서 유일성과 최소성을 만족하는 키를 고르면되는데 여기선 학번,주민번호가 만족하기에 후보키에서 하나를 고르면 됩니다.

 

즉, 슈퍼키 > 후보키 > 기본키 조건이 성립합니다.

 

 

 

 

 

 

무결성 제약(Integrity Constraint)

-데이터베이스에서 데이터의 무결성을 보장하기 위한 제약조건이며 이 무결성을 보장하기 위해 다양한 제약조건을 사용합니다.

  • Primary Key 제약조건 : Primary Key로 지정된 값은 NULL이 될 수 없고, 중복된값이 입력될 수 없음.
  • Foreign Key 제약조건 : 다른 테이블의 Primary Key를 참조해야함. 또한 Primary Key에 존재하는 값만 입력될 수 있음.

  • Unique 제약조건 : 테이블 내에서 중복된 값을 허용하지않음,중복되면 에러 발생.

  • Check 제약조건 : 입력되는 데이터가 특정한 조건을 만족하는지 검증하는 제약조건.

  • Not Null 제약조건 : 해당값에는 Null 값이 입력될 수 없음.

 

 

 

 

 

참조 무결성 제약 (=Foreign Key 제약조건)

-참조 무결성은 외부키를 참조할때 테이블의 무결성을 보장하기 위한 개념. 다른 테이블의 키를 참조할땐 Primary key여야 하며 Primary Key에 무조건 존재해야만함. 위의 Foreign Key 제약조건과 같은 것임.

 

STUDENT 테이블

NAME GRADE
john 2
cera null
tom 4

GRADE 테이블

GRADE GRADE_N
1 freshman
2 sophomore

 

STUDENT 테이블의 GRADE 속성이 GRADE테이블의 GRADE를 참조한다고 가정을 할때,
tom은 참조테이블에 없는 값을 가지고 있기에 참조 무결성에 어긋나는 데이터임.
반면에 null값은 괜찮음.

'DB' 카테고리의 다른 글

추가 관계 대수  (0) 2023.03.27
기본 관계 대수  (0) 2023.03.27
관계형 데이터베이스 제약조건 (Constraint)  (0) 2023.03.26
데이터베이스 키  (0) 2023.03.26
데이터베이스란?  (0) 2023.03.24
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함