관계형 모델
: 실제 세계의 데이터를 관계라는 개념으로 표현한 데이터 모델
관계형 데이터베이스
: 키와 값으로 2차원 형태의 데이터인 테이블로 이루어진 데이터베이스
: 데이터의 종속성을 관계(Relationship)로 표현
- 관계형 데이터베이스의 특징
: 데이터의 분류, 정렬, 탐색 속도가 빠름
: 오랫동안 사용된 만큼 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성을 보장
: 기존에 작성된 스키마를 수정하기 어려움
: 데이터베이스의 부하를 분석하기 어려움
테이블 (Relation, Entity)
: 키와 값의 관계를 나타내는 데이터 형식
: 테이블은 행(record)과 열(attribute)로 구성
: 행은 테이블 내의 하나의 Entity를 의미하고, 열은 속성을 의미
관계 (Relationship)
: 두 개 이상의 테이블 (Entity)들이 어떻게 연결되었는지 설명하는 것
: 테이블들은 기본키와 외래키 같은 제약 조건을 통해 서로 연관시킬 수 있음
: 기본키는 테이블의 중심이 되는 키이며, 테이블에서 각 레코드를 고유하게 식별하게 해줌
: 한 테이블의 기본키가 다른 테이블에 추가되면 해당 테이블의 외래키가 됨
- 관계의 종류
: 1:1 관계 / 1:N 관계 / N:M 관계 / self referencing 관계
1:1 관계 (일대일 관계)
: 엔티티의 관점에서 상대 엔티티와 반드시 단 하나의 관계를 가지는 것
: 꼭 필요한 경우가 아니라면 자주 사용하지 않는 관계
: 위 예시에서 남자와 여자 모두 한 명의 상대방만 가질 수 있음
1:N 관계 (일대다 관계)
: 한 쪽 엔티티가 관계를 맺은 엔티티 쪽의 여러 레코드를 가질 수 있는 것
: 1에 해당하는 테이블의 PK (기본키)를 N에 해당하는 테이블의 FK (외래키)로 정의하여 관계를 표현
: 가장 많이 사용하는 관계
: 위 예시에서 부모는 여러 자식을 둘 수 있지만 자식은 하나의 부모만 둘 수 있음
N:M 관계 (다대다 관계)
: 양쪽 엔티티 모두에서 1:N 관계를 가지는 것. 서로가 서로를 1:N 관계로 본다
: 서로의 PK를 자신의 FK로 가진다
: 일반적으로 두 테이블의 대표키를 컬럼으로 갖는 또 다른 테이블을 생성해서 관리
: 위 예시에서 학원은 여러 학생을 가질 수 있지만, 학생도 여러 학원을 가질 수 있음
Self Referencing Relationship (자기 참조 관계)
: 자기 자신의 PK를 FK로 참조하는 관계
: 1:N 관계와 유사한 형태
: 위 예시에서 사용자는 유일하지만 추천인은 중복될 수 있다
Reference
'Database > MySQL' 카테고리의 다른 글
MySQL 자동 증가와 주의점 (0) | 2023.09.23 |
---|---|
데이터베이스 정규형 완전 정리 (0) | 2023.08.27 |
MySQL JSON 데이터 다루기 (0) | 2023.08.13 |
MySQL 이스케이핑 방법 (0) | 2023.08.13 |
MySQL 시스템 변수 확인 및 변경 (0) | 2023.08.13 |