320x100
320x100

관계형 모델

: 실제 세계의 데이터를 관계라는 개념으로 표현한 데이터 모델

 

 

 

관계형 데이터베이스

: 키와 값으로 2차원 형태의 데이터인 테이블로 이루어진 데이터베이스

: 데이터의 종속성을 관계(Relationship)로 표현

 

- 관계형 데이터베이스의 특징

: 데이터의 분류, 정렬, 탐색 속도가 빠름

: 오랫동안 사용된 만큼 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성을 보장

: 기존에 작성된 스키마를 수정하기 어려움

: 데이터베이스의 부하를 분석하기 어려움

 

 

 

 

테이블 (Relation, Entity)

: 키와 값의 관계를 나타내는 데이터 형식

: 테이블은 행(record)과 열(attribute)로 구성

: 행은 테이블 내의 하나의 Entity를 의미하고, 열은 속성을 의미

 

 

 

 

관계 (Relationship)

: 두 개 이상의 테이블 (Entity)들이 어떻게 연결되었는지 설명하는 것

: 테이블들은 기본키와 외래키 같은 제약 조건을 통해 서로 연관시킬 수 있음

: 기본키는 테이블의 중심이 되는 키이며, 테이블에서 각 레코드를 고유하게 식별하게 해줌

: 한 테이블의 기본키가 다른 테이블에 추가되면 해당 테이블의 외래키가 됨

 

- 관계의 종류

: 1:1 관계 / 1:N 관계 / N:M 관계 / self referencing 관계

출처: https://blog.devart.com/types-of-relationships-in-sql-server-database.html

 

 

 

 

 

 

출처: https://velog.io/@gillog/DB-11-1N-NM-%EA%B4%80%EA%B3%84

1:1 관계 (일대일 관계)

: 엔티티의 관점에서 상대 엔티티와 반드시 단 하나의 관계를 가지는 것

: 꼭 필요한 경우가 아니라면 자주 사용하지 않는 관계

: 위 예시에서 남자와 여자 모두 한 명의 상대방만 가질 수 있음

 

 

 

 

 

출처: https://velog.io/@gillog/DB-11-1N-NM-%EA%B4%80%EA%B3%84

1:N 관계 (일대다 관계)

: 한 쪽 엔티티가 관계를 맺은 엔티티 쪽의 여러 레코드를 가질 수 있는 것

: 1에 해당하는 테이블의 PK (기본키)를 N에 해당하는 테이블의 FK (외래키)로 정의하여 관계를 표현

: 가장 많이 사용하는 관계

: 위 예시에서 부모는 여러 자식을 둘 수 있지만 자식은 하나의 부모만 둘 수 있음

 

 

 

 

출처: https://velog.io/@gillog/DB-11-1N-NM-%EA%B4%80%EA%B3%84

N:M 관계 (다대다 관계)

: 양쪽 엔티티 모두에서 1:N 관계를 가지는 것. 서로가 서로를 1:N 관계로 본다

: 서로의 PK를 자신의 FK로 가진다

: 일반적으로 두 테이블의 대표키를 컬럼으로 갖는 또 다른 테이블을 생성해서 관리

: 위 예시에서 학원은 여러 학생을 가질 수 있지만, 학생도 여러 학원을 가질 수 있음

 

 

 

출처: https://hanamon.kr/%EA%B4%80%EA%B3%84%ED%98%95-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%84%A4%EA%B3%84-%EA%B4%80%EA%B3%84-%EC%A2%85%EB%A5%98/

Self Referencing Relationship (자기 참조 관계)

: 자기 자신의 PK를 FK로 참조하는 관계

: 1:N 관계와 유사한 형태

: 위 예시에서 사용자는 유일하지만 추천인은 중복될 수 있다

 

 

 

 

 

 

 

 

Reference

 

[RDBMS] DBMS 에서 Relation 과 Relationship 의 차이점

나는 나름대로 MySQL 을 다뤄봤다고 생각했다.

jee00609.github.io

 

관계형 데이터베이스 설계 (관계 종류 1:1 / 1:M / N:M ) - 하나몬

⚡️ 스키마(Schema) & 쿼리 디자인(Query Design) ❗️스키마(schema)란? 스키마란 데이터베이스를 구성하는 레코드의 크기, 키(key)의 정의, 레코드와 레코드의 관계, 검색 방법 등을 정의한 것을 말한다

hanamon.kr

 

[DB] 1:1, 1:N, N:M 관계

관계형 데이터베이스(Oracle, MySQL, MS-SQL, SQLite 등등)는 엔티티끼리 관계를 맺을 수 있어서 관계형 DB라는 이름이 붙었다.엔티티(Entity) : DataBase에 표현하려고 하는 유형, 무형의 객체로서 서로 구별

velog.io

 

Relationships in SQL - Complete Guide With Examples - Devart Blog

The article provides a detailed guide on types of relationship in a database with examples of how to create different types of relationships in a SQL Server database.

blog.devart.com

 

300x250
728x90

'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