03.14 학습&숙제

한강섭·2025년 3월 14일
1

학습 & 숙제

목록 보기
44/103

03.14 학습! 데이터베이스 모델링 공부! 🟥🟧🟨🟩🟦🟪🟫⬜⬛🫢🔔😎😊🤔😭⭐

모델링🟥

데이터베이스 모델링🟧

데이터의 논리적, 물리적 구조를 정의

🔔효율적인 데이터 저장과 관리가 목표!

😊필요성

데이터 무결성 유지, 중복 최소화, 효율적인 데이터 검색, 유지보수 용이성

😎과정

  1. 요구사항 수집 및 분석 (수집,정리,명세화)

  2. 개념적 데이터 모델링(개념 ERD)

  3. 논리적 데이터 모델링 (정규화 - 데이터 중복 최소화, 논리 ERD)

  4. 물리적 데이터 모델링 (DB에 적재될 수 있도록 역정규화)

  5. 데이터베이스 구축

요구사항 수집 및 분석🟨

각자 롤을 정해서 요구사항을 수집!

저장,관리 할 데이터의 구조, 관계, 제약 조건등을 명확히 정의

🤔비즈니스 규칙 도출 및 분석

ex) 회원제 시스템 -> 회원가입 후 서비스 이용 -> 로그인 기능 -> 로그인 실패시 어떻게? -> 5번까지만 시도가능 -> 실패하면 비번 초기화

😎산출물
요구 사항 명세서, 도메인 용어 사전

개념적 데이터 모델링 (추상화)🟩

개체(엔티티), 속성, 관계 추출

개념 ERD

개체 ------ 객체 (속성 + 기능)

⭐ 영속성을 가짐!

명사형을 추출하는 방법으로 개체 식별 처리

명사형 = 엔티티의 후보, 속성의 후보 -> 도메인 용어 사전 중요!!🫢

유/무형에 따라
유형, 개념, 사건 엔티티

발생 시점에 따라
기본, 중심, 행위 엔티티

🔔 개체 식별
1. 명사로 된 단어 찾기
2. 비즈니스 분석 범위 내의 명사만 찾기
3. 같은 의미로 사용되면서 다르게 표현되는 단어는 버림
4. 여러 개의 속성으로 구성될 수 있는 지 체크
5. 집합을 표현하는 지 체크

개체 검증
CRUD Matrix 상관관계 분석

속성 😊

하나의 엔티티에 종속되는 명사적 단어
엔티티를 표현하는 특성, 상태

기본 속성: 본래의 속성
설계 속성: 인위적으로 추가, 변형한 속성 (회원 탈퇴에 내부적으로 플래그로 처리)
파생 속성: 다른 속성에서 파생되어 계산된 속성

키(Key) 속성 추출 (정규화에서 중요!! -> ⭐키속성과 함수적 종속⭐)
하나의 엔티티를 구성하는 속성 중 엔티티를 유일하게 식별하는 하나 이상의 속성 조합
슈퍼 키, 후보 키, 기본 키(pk 제약 조건), 대체 키(unique 제약조건), 인조 키

관계😎

업무적 상관관계

관계 추출
1. 요구사항 분석에서 동사적 단어 추출
2. 두 엔티티 간의 중복되는 속성이 있는지 체크

관계 검증
Relationship Matrix

개념 ERD 작성 (피터 첸 표기법)

논리적 데이터 모델링 (구체화)🟦

ER모델을 구체화된 업무 중심의 관계형 데이터 모델로 만듦

릴레이션 VS 릴레이션십

😎기본 키 정의

🫢N:M 관계 해소

관계를 릴레이션으로 도출해서 1:N으로 풀어냄
관계 릴레이션의 두

부모와 자식을 구분하는 건 유동적이다

개념상에는 식별관계지만 설계를 위해 비식별로 표현할 수 있다!

정규화
속성 간에 존재하는 함수적 종속성을 기반으로 정제하는 과정

😊비정규 릴레이션
-> 원자값이 아닌 도메인 분해 (다중 속성)
제 1정규형 릴레이션
-> 부분적 함수 종속 제거
제 2정규형 릴레이션
-> 이행적 함수 종속 제거
제 3정규형 릴레이션
-> 모든 결정자는 후보키여야 한다!!
BCNF 릴레이션

물리적 데이터 모델링 (구축)🟪

😎
관계형 데이터 모델 -> DBMS
릴레이션 -> 테이블
속성 -> 컬럼
기본키, 대체키, 외래키 -> 제약조건(PK, UNIQUE, FK)

🤔DBMS의 특성과 성능을 고려
(데이터 타입 및 크기, 인덱스, 파티셔닝, 저장 구조 등 결정)

😊역정규화
테이블을 병합하거나, 조회 속도를 높이기 위해 중복 데이터를 허용하는 작업 포함
쿼리 성능 최적화, 조인 비용 절감이 목적

숙제

링크드 리스트 직접 구현하기 무조건
그걸로 병사관리 코드 직접 짜기
코드 다 직접 한번씩 짜고 시험 잘 봅시다!

profile
기록하고 공유하는 개발자

0개의 댓글