나의 개인적인 멘토님, 신모씨께서 나에게 과제 몇개를 내주셨는데 흐린 눈 할 순 없기에.. 공부를 시작해봅니다.
멘토님 보고 계시죠?
ERD란?
Entity Relationship Diagram의 약자로 시스템의 엔티티들이 무엇이 있는지 어떤 관계가 있는지를 나타내는 다이어그램
개체-관계 모델
ERD 다이어그램 사용법
- 데이터 베이스 모델링
- 소프트웨어 엔지니어링
ERD의 요소
Entity
테이블을 구성하는 객체 구성 성분
모든 Entity는 하나 이상의 식별자 (UID)를 지녀야 하며, UID가 없다면 Entity
존재하는 다른 엔터티에 의존적인 엔티티를 Weak Entity라고 한다. 그 자식의 속성들에 의해 식별할 수 없는 엔티티다.
Attribute
Atttribute는 Entity를 구성하고 있는 구성 요소이다. 데이터 타입을 반드시 같이 명시해줘야 한다.
특성, 엔티티의 성격, 관계 또 다른 속성이다.
Key Attributte: 다른 객체들과 중복되지 않는 고유한 값을 가진 Attribute로 객체를 식별하는 데 사용
Composite Attribute: 독립적인 Attribute들이 모여서 생성된 Attribute를 의미한다.
Multi-valued Attribute: 한 값 이상의 값을 가진 Attribute
Derived Attribute: 다른 Attribute가 갖고 있는 값으로부터 기초한 속성
Relationship
엔티티 간의 상호작용을 표현한다.
두 Entity 간에 선을 긋고, 관계 명칭을 기록하게 된다.
- 선택 사항을 표시한다.
- 관계 형태를 표시한다.
ERD 작성법
1. 모든 엔티티들을 정의한다.
2. 엔티티 간 관계들을 정의한다.
3. 속성들을 추가한다.
* Entity와 Attribute 추출
* 개체들 간의 관계 추출
* 각 개체의 속성들의 데이터 타입이 어떻게 될지 판단하고, ERD를 작성한다.
* Key 제약 조건과 무결성 제약 조건 등을 추가해준다.
제약 조건
데이터의 무결성을 지키기 위해, 데이터를 입력 받을 때 실행되는 검사 규칙을 의미한다.
CREATE 문으로 데이터를 생성할 때나, ALTER 문으로 필드를 추가할 때도 설정할 수 있다.
NOT NULL
제약 조건 설정 시, 해당 필드는 NULL 값을 저장할 수 없다. 즉, 제약 조건이 설정된 필드는 무조건 데이터를 가지고 있어야 한다.
UNIQUE
제약 조건 설정 시, 해당 필드는 서로 다른 값을 가져야 한다. 이 제약 조건이 설정된 필드는 중복된 값을 가질 수 없다.
PRIMARY KEY
Primary key 제약 조건을 설정하면, 해당 필드는 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가진다.
따라서 이 제약 조건이 설정된 필드는 NULL 값을 가질 수 없으며, 또한 중복된 값을 가져서도 안된다.
PK라고도 부른다.
FOREIGN KEY
외래키라고도 부른다. 한 테이블을 다른 테이블과 연결해주는 역할을 한다.
외래키가 설정된 테이블에 레코드를 입력하면, 기준이 되는 테이블의 내용을 참조해서 레코드가 입력된다.
즉, FOREIGN KEY 제약 조건은 하나의 테이블을 다른 테이블에 의존하게 만든다.
FOREIGN KEY 제약 조건을 설정할 때 참조되는 테이블의 필드는 반드시 UNIQUE나 PRIMARY KEY 제약 조건이 설정되어 있어야 한다.
FOREIGN KEY는 연결된 값이므로 해당 테이블이 변경 될 경우, 혹은 삭제될 경우 본 필드를 어떻게 해야할지 지정해줘야 한다.
참고 자료
https://mslilsunshine.tistory.com/164
https://velog.io/@kjhxxxx/DataBase-ERD%EB%9E%80
'📚CS' 카테고리의 다른 글
[영어 CS 스터디] Git (0) | 2024.01.09 |
---|---|
단어 표기법, 명명규칙 케이스 (0) | 2023.11.06 |
Controller - Service - Repository 구조 (0) | 2023.10.31 |
HTTP 기본 (1) | 2023.10.31 |
JWT (0) | 2023.10.12 |