모델 - 특정 목적을 위해 실제 세계를 모방해 만든 것
현실의 복잡성을 컴퓨터에 담을 수 있는 방법론
DB 생명주기 - 요구사항 수집 및 분석 > 설계 > 구현 > 운영 > 감시 및 개선 > 요구사항 수집 및 분석 ...
요구사항 수집 및 분석 - 요구사항 분석해 데이터베이스 구축 범위 정함
설계 - 분석된 요구사항을 기초로 주요 개념과 업무 프로세스 등 식별(개념적 설계)
사용하는 dbms 종류에 맞게 변환(논리적 설계), 데이터 베이스 스키마 도출(물리적 설계)
구현 - 설계 단계에서 생성한 스키마를 dbms에 적용해 테이블 및 관련 객체(뷰, 인덱스 등) 만듦
운영 - 구현된 데이터베이스를 기반으로 소프트웨어 구축해 서비스 제공
감시 및 개선 - 운영에 따른 시스템 문제 관찰 후 문제점 파악해 개선함

요구사항 수집 방법
•실제 문서 수집 후 분석
•담당자와 인터뷰나 설문조사를 통해 직접 수렴
•비슷한 업무를 처리하는 데이터베이스 분석
•각 업무와 관련된 모든 부분을 살펴봄

개념적 모델링
• 요구사항 수집 및 분석한 결과를 토대로 업무의 핵심적인 개념을
구분하고 뼈대를 만듦
• 개체(엔티티)를 추출하고 각 개체들 간 관걔를 정의해
er 다이어그램 만드는 과정까지

논리적 모델링
• er다이어그램을 사용하는 dbms에 맞게 사상(매핑)해 실제 db로
구현하기 위한 모델을 만드는 과정
과정
• 개념적 모델링에서 상세 속성들 모두 추출 (엔티티 > 테이블)
• 정규화 수행 (attribute > column)
• 데이터 표준화 수행 (relation > pk, fk)

물리적 모델링
• 작성된 논리적 모델을 컴퓨터에 저장하기 위한 물리적 구조 정의 및 구현
dbms 특성에 맞게 저장 구조를 정의해야 ㅇb가 최적의 성능을 냄
고려사항
• 응답시간 최소화
• 트랜잭션을 동시에 얼마나 발생시킬 수 있는지 검토
• 데이터가 저장될 공간 효율적으로 배치
ER모델 - 세상의 사물을 개체(entitiy)와 개체 간 관계(relation)로 표현
개체 - 독립적인 의미를 지니고 있는 유무형의 사람 또는 사물
개체의 특성을 나타내는 속성(attribute)에 의해 식별됨 > 개체끼리 관계 가짐

개체 타입의 er 다이어그램 표현
사각형 - 강한 개체 타입 / 이중 사각형 - 약한 개체 타입
강한 개체 - 다른 개체 도움 없이 독자적으로 존재 가능함
약한 개체 - 독자적으로 존재할 수 없고 반드시 상위 개체 타입 가짐
속성 - 개체가 가진 송질
기본적으로 타원으로 표시 > 개체를 나타내는 사각형과 실선으로 연결
이름은 타원 중앙에 표현
+ 속성의 기본키(유일하게 식별)는 이름에 밑줄
관계 - 개체 사이에 연관성을 나타냄
관계 타입 - 개체 타입 간 연결 가능한 관계 정의
관계 집합 - 관계로 연결된 집합

1진관계 - 한 객체가 자기 자신과 관계 맺음
2진관계 - 두 객체가 관계 맺음
3진관계 - 세 객체가 관계 맺음
관계 대응수 - 두 개체 타입의 관계에 실제로 참여하는 개별 개체 수
1:1 - 좌측 개체 타입에 포함된 개체가 우측 개체 타입에 포함된 개체와 일대일 대응
1:n / n:1 - 한쪽 타입 개체가 다른 쪽 개체 타입의 여러 개체와 관계 맺음
n:m - 각 개체 타입 객체들이 서로 임의의 개수의 개체들과 서로 복합적인 관게 맺음
최솟값 최댓값 - 1,n,m 이 각 개체가 관계에 참여하는 최댓값을 의미함
isa 관계 - 상위 개체 타입의 특성에 따라 하위 개체 타입 결정
참여 제약 조건
개체 집합 내 모든 개체가 관계에 참여함 여부에 따라 전체 참여와 부분 참여로 구분
전체 - 개체 내 모든 개체 (최솟값 1이상 모두 참여) // 부분 - 일부 (최솟값이 0 이상)
역할 - 개체 타입 간 관계 표현 시 각 개채는 고유한 역할 담당

순환적 관계 - 하나의 개체 타입이 동일한 개체 타입(자기 자신)과
순환적으로 관계 가짐
식별자 - 약한 개체 타입의 개별 개체를 고유하게 식별하는 속성 (부분키)

개체 타입 사상(매핑) - 실제 DB로 구축하기 위해 모델링 단계 거침

1 - 강한 개체 타입 - 한 객체에 대응하는 관계 생성
2 - 약한 개체 타입 - 자신의 키와 함께 강한 개체를 외래키로 사상해 기본키 구성
3 - 1:1 일 경우 모든 유형으로 매핑 가능(개체가 가진 정보 유형에 따라 판단)
4 - 1:N 일 경우 N의 위치에 따라 판단
5 - N:M일 경우 방법 4 >
이상현상
삭제이상 - 투플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상
수정이상 - 투플 수정 시 중복된 데이터의 일부만 수정되어 데이터 불일치 발생
삽입이상- 투플 삽입 시 특정 속성에 해당하는 값이 없어 null로 입력하는 현상
함수 종석성
종속관계 - a 속성의 값을 알면 b 속성의 값이 유일하게 정해지는 의존관계
b는 a 에 종속함 / a는 b를 결정함 > a->b a는 b의 결정자
함수 종속성 - 데이터베이서에서 항상 유지되어야 할 필수조건
함수 종속성 다이어그램
릴레이션 - 직사각형
속성 간 함수 종속성 - 화살표
복합 속성 - 직사각형으로 묶어 그림
완전 함수 종속 - 중복키가 pk일 경우 둘 다 알아야 하며 한쪽만 알아서는 값을 알 수 없는 경우
부분 함수 종속 - 중복키인 pk일부만 알아도 알 수 있는 경우 > 후에 제2정규화 필요

기본규칙
부분집합 규칙 > if ⊆ x , then x→ y
증가 규칙 > if x→ y , then xz → yz
이행 규칙 > if x→ y and y → z, then x → z
부수적 규칙
결합 규칙 > if x → y and x → z, then x →yz
분해 규칙 > if x → yz, then x → y and x → z
유사이행 규칙 > if x v y and wy → z, then wx → z
함수 종속성 파악 > 기본키 찾기
기본키는 릴레이션의 모든 속성에 대한 결정자
이상현상은 한 개의 릴레이션에 두개 이상의 정보가 포함되어 있을 경우 발생
> 기본키가 아니면서 결정자인 속성이 존재
이상현상 제거
릴레이션 분리 - 분해할 부분 릴레이션의 결정자는 원래 릴레이션에 두기 > 관계형성 위함

정규화 - 관계형 데이터베이스 설계에서 중복 최소화해 데이터를 구조화 하는 프로세스
(테이블을 정규형에 부합하게 만들어감)
이상이 있는 릴레이션을 분해해 이상현상 제거
함수 종속성에 따라 등급 구분 > 정규형이 높을 수록 이상현상 적음
제 1정규형 - 릴레이션 r의 모든 속성 값이 원자값을 가짐
> 한 속성에 값이 2개 이상 있으면 분해 (복수 > 단수)
제 2정규형 - 릴레이션 r이 제1정규형이고 기본키가 아닌 속성이 기본키에 완전 함수 종속일 경우
>a와 b가 r의 속성이고 a>b종속성이 성립
+ b가 a의 속성 전체에 함수 종속하고 부분 집합 속성에 종속x
제 3정규형 - 릴레이션 r이 제2정규형이고 기본키가 아닌 속성이 기본키에 비이행적 종속할 때
이행적 종속 - a>b이고 b>c 일때 a>c성립
bcnf (boyce codd normal form)
3정규형을 만족하는 릴레이션에 후보키가 여럿인 경우 bcnf 불만족
릴레이션 r에 함수종속성 x>y성립 시 모든 결정자 x가 후보키일 경우 bcnf 만족
무손실 분해 - r을 r1과 r2로 분해할 때 r1 ▷◁ r2 = r인경우
'kosta_이론' 카테고리의 다른 글
25.04.03 Mung 프로젝트 db 연결 (0) | 2025.04.03 |
---|---|
25.04.02 트랜잭션 (0) | 2025.04.02 |
25.03.31 뷰, 인덱스 (1) | 2025.03.31 |
25.03.28 sql 고급 (0) | 2025.03.28 |
25.03.27 sql + 연습문제 (1) | 2025.03.27 |