
엔티티 (Entity)
: 데이터베이스에서 저장할 수 있는 객체 또는 개체를 의미
: 명사를 그룹지어서 대표되는 단어
ER (Entity-Relationship)
: ER 모델(Entity-Relationship Model)의 약자로 데이터베이스를 설계할 때 엔티티(Entity)와 엔티티 간의 관계(Relationship)를 표현하는 방법
: 주로 ER 다이어그램(ERD, ER Diagram) 형태로 시각화
: 엔티티(사각형), 애트리뷰트(타원), 관계(마름모) 등의 도형을 사용
애트리뷰트 (Attribute)
: 엔티티가 가지는 속성(특성)
: 엔티티를 설명하는 정보의 항목
1) 요구사항 분석
: 데이터베이스를 구축하기 전에 사용자의 요구사항을 분석하는 단계
: 어떤 데이터를 관리해야 하는지 파악하고 비즈니스 룰(Business Rule) 을 정의하며 필요한 데이터를 정리한다.
: 결과물은 요구사항 명세서이다.
2) 개념적 설계 (Conceptual Design)
: 요구사항을 바탕으로 ER 모델(ERD) 을 작성하는 단계
: 엔티티(Entity), 속성(Attribute), 관계(Relationship) 등을 정의하며 기술적인 요소(DBMS 등)는 고려하지 않고 사용자 중심의 데이터 모델을 만든다.
: 결과물은 ER 다이어그램(ERD)이다.
3) 논리적 설계 (Logical Design)
: 개념적 설계를 DBMS에서 구현할 수 있는 관계형 데이터 모델로 변환하는 단계
: 정규화(Normalization)를 통해 중복을 제거하고 무결성을 유지하도록 설계하고 테이블, 속성, 기본 키/외래 키, 관계 등을 구체적으로 정의한다.
: 결과물은 논리적 데이터 모델(테이블 스키마 설계)이다.
4) 물리적 설계 (Physical Design)
: 논리적 설계를 실제로 구현 가능한 형태로 변환하는 단계
: DBMS(MySQL, PostgreSQL 등)에 맞춰 데이터 타입을 지정하고 인덱스, 파티션, 트랜잭션 등을 고려한다.
: 성능 최적화를 위해 인덱스(Index), 저장소 구조, 분산DB 구성 등을 설계한다.
: 결과물은 물리적 데이터 모델(SQL 스키마, 인덱스 설정, 성능 튜닝 계획)이다.
1) 명사 정제하기
2) 명사 그룹짓기
3) 엔티티 추출하기
4) 엔티티에 대해 정의 내리기
5) 엔티티 표기하기
6) 카디날리티(Cardinality) 설정
: 엔티티 간의 관계 유형을 정의하고 대응수를 정한다.
7) 애트리뷰트 결정하기
8) 애트리뷰트 유형 재정리
9) 관계 정의 및 추가 요구사항 반영
카디널리티(Cardinality)는 데이터베이스에서 엔티티(Entity) 간의 관계에서 한 엔티티가 다른 엔티티와 가질 수 있는 연관된 개수(대응 수)를 의미한다.
하나의 엔티티가 다른 엔티티와 얼마나 연결될 수 있는지를 나타내는 개념이다.
: 한 줄을 전부 차지하며 자동으로 줄바꿈이 발생한다.
: 내부에 다른 블록 요소나 인라인 요소를 포함할 수 있다.
: 주로 레이아웃을 구성하는 요소로 사용된다.
: p 태그에는 위아래 마진이 있다.

: 자신이 필요한 만큼만 공간을 차지하며 줄바꿈이 자동으로 발생하지 않는다.
: 블록 태그 안에서 사용되며 주로 텍스트나 작은 요소를 감싸는 역할을 한다.
: 블록 요소를 포함할 수 없고 다른 인라인 요소만 포함 가능하다.

3줄 요약
1. DB 모델링 순서는 요구사항 분석 -> 개->논->물이다.
2. 각태그 에는 디폴트 마진과 디폴트 폰트크기 및 디폴트 값이 있다.
3. 태그에는 인라인 태그와 블록태그로 나눌수 있다.
오늘은 거의 오전 수업만 하고 오후엔 프로젝트 발표가 있었다.
나 이제 12시에 잘 수 있어...
드디어 끝!!!
