Python : 관계형 데이터 베이스

Jinsung·2021년 11월 8일
0
post-custom-banner

관계형 데이터베이스

관계형 데이터베이스란 테이블(table)로 이루어져 있으며, 이 테이블은 키(key)와 값(value)의 관계를 나타냅니다.
이처럼 데이터의 종속성을 관계(relationship)로 표현하는 것이 관계형 데이터베이스의 특징입니다.

특징

  1. 데이터의 분류, 정렬, 탐색 속도가 빠릅니다.

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

  3. 기존에 작성된 스키마를 수정하기가 어렵습니다.

  4. 데이터베이스의 부하를 분석하는 것이 어렵습니다.

스키마 : 데이터베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것

속성

  • 원자성은 완전한 데이터베이스 트랜잭션을 구성하는 모든 요소를 정의합니다.
  • 일관성은 트랜잭션 후 데이터 포인트를 올바른 상태로 유지하기 위한 규칙을 정의합니다.
  • 고립성은 혼란을 피하기 위해 트랜잭션이 커밋될 때까지 트랜잭션의 효과가 다른 사람에게 보이지 않게 해줍니다.
  • 내구성은 트랜잭션이 커밋되면 데이터 변경 사항이 영구적이 되도록 합니다.

관계

1 대 1

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

1 대 n(다수)

1:N 관계는 한 쪽 엔티티가 관계를 맺은 엔티티 쪽의 여러 객체를 가질 수 있는 것을 의미한다.
현실세계에는 1:N관계가 많이 있는데, 실제 DB를 설계할 때 자주 쓰이는 방식이다.

1:N 관계는 N:M 관계처럼 새로운 테이블을 만들지 않는다.

n(다수) 대 n(다수)

N:M 관계는 관계를 가진 양쪽 엔티티 모두에서 1:N 관계를 가지는 것을 말한다.
즉, 서로가 서로를 1:N 관계로 보고 있는 것이다.

N:M 관계는 서로가 서로를 1:N 관계, 1:M 관계로 갖고 있기 때문에, 서로의 PK를 자신의 외래키 컬럼으로 갖고 있으면 된다.

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

스타벅스 erd 구성

post-custom-banner

0개의 댓글