요구조건분석
개념적 설계
- 정보 모델링, 개념화
- 통신을 위해 추상적 개념으로 표현하는 과정
- 개념 스키마, 트랜잭션 모델링 병행 수행
- E-R 다이어그램 작성
- 개념 스키마 설계
논리적 설계
- 데이터 모델링
- 현실→논리적 자료구조(컴퓨터의 이해) 변환하는 과정
- 종속적인 논리적 스키마 설계
- 관계형 DB : 테이블 설계
- 목표 DBMS에 맞는 스키마 설계
- 트랜잭션의 인터페이스 설계
- 스키마 평가 및 정제
물리적 설계
- 데이터 구조화
- 파일의 저장 구조, 액세스 경로 결정
- 저장 레코드 양식 설계
- 레코드와 같은 정보를 사용하여 데이터가 컴퓨터에 저장되는 방법 묘사
- 고려사항 : 처리량, 응답시간, 용량, 저장공간 효율화 등…
- 레코드 집중의 분석 및 설계
구현
구성 요소 : 개체, 속성, 관계
종류 : 개념적, 논리적, 물리적
표시할 요소 : 구조, 연산, 제약조건
개체, 관계, 속성
릴레이션(표) → 개체 릴레이션, 관계 릴레이션
구조
후보키 : 기본키로 사용할 수 있는 속성들 (유일성 O, 최소성 O)
기본키 : NULL 값이 있으면 X
대체키 : 기본키를 제외한 후보키 : (보조키)
슈퍼키 : 속성들의 집합. 유일성 O, 최소성 X
외래키 : 다른 릴레이션의 기본키를 참조하는 속성 or 집합
개체무결성(entity integrity, 실체 무결성) - 정확도와 관련!
도메인무결성(영역무결성)
참조무결성
사용자 정의 무결성
*트리거 : 데이터에서 삭제, 수정 등의 이벤트가 발생할 때마다 자동으로 수행되는 SQL
순수관계 연산자
일반 집합 연산자
관계 해석
- For all : 뒤집힌 A
- There Exists : E 뒤집
두(도)부이걸다조?
1NF, 2NF, 3NF, BCNF, 4NF, 5NF
도메인은 원자값으로 이루어짐
부분종속 제거
이행적 종석 제거
결정자면서 후보키가 아닌 것 제거
다치종속 제거
조인 종속성 이용
중복테이블 추가 : 집계, 진행, 특정부분
== 데이터 사전
저장된 정보 : 메타 데이터
특징 : 일반 이용자도 SQL로 검색 가능. 테이블로 구성됨. 자동 갱신.
data directory : 시스템 카탈로그와 다르게 사용자는 접근 X
상태 : 활동, 상태, 부분완료, 완료, 실패, 철회
무결성 보장을 위한 특성 : 원자성, 일관성, 독립/격리/순차성, 영속/지속성
CRUD 분석(create, read, update, delete)
정의할 땐 CREATE, 제거할 땐 DROP
종류
- 범위 분할
- 해시 분할
- 조합 분할
- 목록 분할
- 라운드 로빈 분할
구성 요소 : 분산 처리기, 분산 데이터베이스, 통신 네트워크
테이블!!
drop : 스키마, 도메인, 뷰, 인덱스 삭제
delete : 튜플(행) 삭제
테이블 수정 : alter