iknowahra / cspiEdu

CSPI OJT
0 stars 0 forks source link

2021.10.18 교육내용 정리 #29

Open iknowahra opened 2 years ago

iknowahra commented 2 years ago

2021.10.18

RDBMS : 관계형 데이터 베이스

정규화(Normalization)


제 1 정규화

테이블 컬럼이 atomic value = 하나의 값을 갖도록 테이블을 분해하는 것이다.

예시)

장소 물건
회사 의자, 책상, 마우스
학교 의자, 교탁


장소 물건
회사 의자
회사 책상
회사 마우스
학교 의자
학교 교탁



제 2 정규화

제 1정규화를 진행한 테이블에 대해 완전 함수 종속을 만족하도록 테이블을 분해하는 것이다.

=> 완전 함수 종속 : 기본키의 부분집합이 결정자가 되어선 안되다는 것? (무슨 의미 일까 내일 물어보자...!)

학생번호 강좌이름 강의실 성적
11011 데이터베이스 공학관 110 a+
11011 경영학 경영관 203 a
12012 데이터베이스 공학관 110 b+
12012 자료구조 공학관 302 c

학생번호 + 강좌이름이 PK며, 강의실을 결정하고 있다.

강좌이름은 강의실을 결정하고 있다.

학생번호 강좌이름 성적
11011 데이터베이스 a+
11011 경영학 a
12012 데이터베이스 b+
12012 자료구조 c


강좌이름 강의실
데이터베이스 공학관 110
경영학 경영관 203
자료구조 공학관 301



제 3 정규화


제 2정규화한 테이블에 대해 이행적 종속을 없애도록 테이블을 분해하는 것이다.

A -> B, B-> C일 때, A->C가 되지 않도록 하는 것이다 .

강좌이름 수강료
데이터베이스 20000
경영학 10000
자료구조 15000

학생번호 -> 강좌 이름, 강좌이름 -> 수강료 일 떄, 학생번호 -> 수강료가 되지 않도록 하는 것


테이블 만들기


CREATE TABLE TEST;
// CREATE DATABASE TEST;


참고사항:



PRIMARY KEY : NOT NULL + UNIQUE

: MEMORY에 올라감(SSD -> MEMORY를 생략해서 속도가 빠르다)

<ㅡ> FOREIGN KEY


JOIN : 관계 맺기

INNER JOIN

//INNER JOIN
SELECT P.PLACE, O.OBJECT
FROM PLACE P, OBJECT O
WHERE P.PLACE = OBEJCT.PLACE


WHERE로 다 처리하기 보단 INNER JOIN을 쓰는게 표준

SELECT 
    P.PLACE, O.OBJECT
FROM 
    PLACE P, OBJECT O
INNER JOIN OBJECT O
ON
    P.PLACE=O.PLACE
WHERE P.PLACE='SCHOOL';



LEFT JOIN

SELECT 
    P.PLACE, O.OBJECT
FROM 
    PLACE P, OBJECT O
LEFT JOIN OBJECT O
ON
    P.PLACE = O.PLACE;


JOIN은 여러번 쓸 수 있다.



컴퓨터 구조

출력(I/O장치)- CPU - 메모리(PRIME KEY) - 저장장치(SSD- HARDDISK ; DB 위치)

메모리에서 저장장치로 가는 시간이 느리다. 반면에 메모리에서 CPU로 가는 속도는 빠르다.



컴퓨터의 5대 구성 요소

  1. 제어장치
  2. 기억장치 (RAM, HARD DISK)
  3. 입력장치
  4. 출력장치
  5. 연산장치 (CPU)
seulgi9834 commented 2 years ago

정리 너무 완벽해요! 이렇게 완벽한 정리 자료를 공유해주셔서 감사합니다!