RDB를 생성하고 수정, 관리할수 있는 DBMS
RDB(Relational DataBase)는 관계형 데이터 모델에 기초를 둔 데이터베이스 이며
모든 데이터를 2차원 테이블 형태로 표현한다.
관계형 모델을 기반으로 하는 DBMS 유형
정규화를 통해 데이터의 중복성을 최소화하며 트랜잭션을 수행하는 것이 더 쉽다.
데이터의 원자성, 일관성, 격리 및 내구성을 유지하며 데이터 무결성을 높인다.
DBMS | RDBMS |
---|---|
데이터를 파일로 저장 | 데이터를 테이블 형식으로 저장 |
계층형 형식 또는 탐색 형식으로 저장 | pk 식별자가 있고 데이터의 값들은 데이블 형식으로 저장 |
표준화가 없음 | 표준화 |
데이터보관에 있어 보안을 제공하지 않음 | ✔ ACID를 위한 무결성 제약을 정의 |
파일시스템을 사용, 떄문에 테이블간의 관계가 없음 | 데이터에 접근하기 위해 데이터의 테이블 형식 구조를 지원 |
적은 데이터를 처리👍 | 많은 데이터를 처리👍 |
✔ ACID
- ACID는 DB관리 시스템에서 상호작용이 안전하게 수행된다는 것을 보장하기 위한 성질을 가리키는 약어
- A : Atomocity 원자성
- C : Consistency 일관성
- I : Isolation 고립성
- D : Durability 지속성
👀 DB설계는 위 그림과 같다.
DB설계는 실세계에 존재하는 추상적인 것들을 정의하고 분석하는 단계를 지나 ERD를 통해 개념적으로 표현하고
여러 개체와 속성들의 관계를 나타낸 논리적인 관계 모델로 표현한다, 그후 물리적인 공간에 저장할수 있게 표현하는 순서이다.
ERD, 직역하면 개체(Entity)-관계(Relationship) 모델이다.
테이블 간의 관계를 설명해주는 다이어그램 이라 보면 된다.
E-R model은 1976년 피터첸이 만들었고 개체는 사각형, 관계는 마름모, 속성은 타원으로 표기한다.
😒 ERD를 설명하기 전에 개체가 무엇이고 관계가 무엇인지 설명이 먼저인 것 같다.
DB를 생성할때 개체, 속성, 관계로 나뉘게 된다.
이 3가지는 데이터를 구성하는 데이터 모델의 3요소이다.
📂 데이터 모델의 3요소?
✔ 개체(Entity)
- 데이터베이스 분야에서 개체란 데이터베이스에 데이터로 표현하려고 하는 현실 세계의 대상체
- 개체는 현실 세계에 대해 사람이 생각하는 개념과 정보의 단위로서 의미를 지닌다
- 개체는 독립적인 특성을 갖는다
- 관리 대상이 되는 정보를 갖고 있는 사람, 사물, 사건, 개념 등을 의미하고 일반적으로 명사형으로 표현
✔ 속성 (Attribute)
- 속성은 저장할 필요가 있는 개체(Entity)에 관한 정보를 의미하며, 파일 구조상 데이터 필드(항목)에 해당
- 데이터베이스를 구성하는 최초의 논리적 단위다.
- 하나의 개체는 한 개 이상의 속성으로 구성되고 각 속성은 개체의 특성, 상태 등을 기술한다.
✔관계 (Relationship)
- 개체간의 연관성을 관계라고 하며, 일반적으로 동사형으로 표현된다.
👀 ERD 표기법에는 2가지 표기법이 존재한다. 첫번째는 피터첸 표기법과 두번째는 정보공학 표기법이다.
☝ 피터챈 표기법
위와 같이 사각형, 마름모, 타원 등 도형을 이용해 각각 객체와의 관계를 나태내는 방식이다.
✌ 정보공학 표기법
정보공학 표기법은 테이블 형태를 나태내며 각 객체 별 관계를 기호로 나태난다.
ERD를 표기하는 방식에 있어 중요한것은 1:1, 1:N, N:M 등 관계의 표현이다.
- 엔터티를 그린다.
- 엔터티를 적절하게 배치한다.
- 엔터티간 관계를 설정한다
- 기본 키로 속성이 상속되는 식별자 관계를 설정한다.
- 중복되는 관계가 있으면 안된다.
- Circle 관계가 발생하면 안된다.
- 관계명을 기술한다.
- 현재형을 사용한다.
- 지나치게 포괄적인 용어는 사용하지 않는다.
- 정보공학 표기법에서는 링크마다 각각의 관계를 기술한다.
- 관계의 참여도를 기술한다.
- 관계의 필수여부를 기술한다.
👏 포스팅 끝!