엔티티 = 스키마 = 테이블
기본키 일부에 의해서 결정될때, 부분함수종속
완전함수종속으로만 테이블이 구성되어야 더 정교한 테이블
제 1 정규화
- 각 칸에 들어가는 데이터는 오직 하나
제 2 정규화
- 부분 함수 종속을 없애서 완전 함수 종속으로만 이루어지게 만드는것
- 완전 함수 종속(기본키에 의해서 다른 함수들의 값이 정해지는 것)
ex) 학번 과목명 성적 이름
-> 학번으로 이름을 알 수 있음(부분함수종속)
-> 학번 과목명으로 성적을 할 수 있음(완전함수종속)
-> 학번 이름 / 학번 과목명 성적으로 테이블 2개로 나눔
제 3 정규화
-> 이행적 함수 종속
-> A -> B -> C A->C (x)
-> A-> B / B-> C 끝
정규화
1,2,3,BCNF,4,5
데이터베이스 설계
- 데이터베이스 : 컴퓨터 세계에 데이터로 변환하기 위한 데이터베이스 모델링 과정
데이터베이스 생명주기
- 요구조건 분석 ( 사용자의 니즈 파악 )
- 개념적 설계 ( E-R모델 ERD ) - 개념 스키마, 트랜잭션 모델링, E-R모델
- 논리적 설계 ( IE공학 표기법 ) - 목표 DBMS에 맞는 스키마 설계
- 물리적 설계 - 목표 DBMS에 맞는 물리적 구조의 데이털
- 구현 - 특정 DBMS의 DDL(CREATE, ALTER, RENAME, DROP)로 데이터베이스 생성
정보공학 표기법 (IE표기법)
엔티티
- 업무의 관심 대상이 되는 정보를 갖고 있거나, 그에 대한 정보를 관리할 필요가 있는 유형
- 무형의 사물(엔티티- 테이블)
엔티티 도출 - 기본키 설정- 관계
관계형 엔티티 (RDBMS) - 하나 이상의 공통된 컬럼이 있어야됨
외래식별자 정의
논리적 데이터 모델
- 데이터베이스 관리 시스템의 종류에 따라 관계 데이터 모델, 네트워크 데이터 모델, 계층 데이터 모델
- 걔념적 스키마(E-R스키마) -> 논리적 데이터 모델 - > 논리적스키마, 관계 데이터베이스 스키마
ISA ( 파생 관계 )
물리적 설계 단게
- 사용 DBMS 결정
- 데이터 타입 크기 결정
- 데이터 용량 및 설계 및 업무 프로세스 분석
- 역정규화(데이터베이스 성능을 위해서 용량을 포기)
- 무결성 제약조건 정의
- 인덱스 정의(색인)
- 데이터베이스 생성
인덱스 실사용 (https://www.youtube.com/watch?v=GiDSXaaHoWA)
- 이미 생성되어있는 인덱스 확인명령어
- SElECT * fROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL, NULL, 'ALLSTATS LAST'));
- 위 명령어는 user권한으로 들어갔을 경우 select안됨 DBA 계정으로 들어가야됨
물리적 저장이란
- 실제로 하드디스크에 어떻게 어떤방식으로 저장할건지 결정하는 방식
역정규화
- 시스템 성능을 고료해서 기존 설계를 재구성하는 것
칼럼 역정규화(데이터의 중복허용)
- 테이블 간의 조인을 줄이고자 데이터의 중복을 허용하는 방법
SQL기본
ERD (엔티티 관계 다이어그램)
식별, 비식별 관계
영상출처 : https://www.youtube.com/watch?v=yzyqg5k7lMM