Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

멋쟁이 사자처럼 강의 내용

1일차 강의 내용: document(2025년 3월 25일)

  • ex1-dom

2일차 강의 내용: MVC, FLUX(2025년 3월 26일)

  • ex2-mvc

  • ex3- flux, ex4-flux-class

3일차 강의 내용: Closure, Node.js(2025년 3월 27일)

  • ex5-closure, ex6-node, ex7-nodeprj

4일차 강의 내용: 타입스크립트, 객체지향 프로그래밍(2025년 3월 28일)

  • ex8-typed, ex9-oop

5일차 강의 (2025년 3월 31일)

데이터베이스 모델링: 시스템 + 데이터베이스

시스템

시스템이란?

  • 유기적으로 역할자들이 연결된 집합체(업무 시스템, 관리 시스템) => 개발자가 하는 건 업무 시스템을 위한 관리 시스템 만들기

  • 하나를 만들더라도 똑바로 만들기가 중요

  • 데이터베이스 모델링을 위해 꼭 필요함

데이터베이스(Data + Base)

  • 데이터베이스와 DBMS의 개요

  • Hierarchical DBMS

  • Network DBMS

  • Object-Oriented DBMS

  • Relational DBMS(이것을 주로 사용함)

데이터 모델링 과정

  • Concept Design: 업무적인 흐름에서 DB에 저장할 데이터를 선별하는 과정
  • 데이터+베이스 => 정규화된 데이터 => 액터의 행위
  • Logical Design: Entity와 Relation을 R-DB의 테이블 형태로 사상시키는 과정
  • 데이터 레코드 하나가 엔티티. 레코드가 여러개면 엔티티 집합

  • 행위자의 행위는 관계(Relation)임.

  • DB는 결국 엔티티와 관계로 이뤄짐 => ERD(Entity-Relation-Diagram)

  • 키의 종류

키의 종류 설명
주키 엔티티 식별하기 위한 키, 자주 노출되어야만 함
후보키 주키가 될 수 있을 만한 키
대체키 후보키 중 주키가 되지 못한 나머지 키
대리키 새로 만들어서 주키 대신 자주 쓰는 키(아이디, 일련번호)
수퍼키(복합키) 외래키를 합쳐서 주키로 사용되는 키
외래키 다른 테이블에서 가져온 주키
  • N 대 N의 관계의 경우 어느 엔티티로도 갈 수 없으므로 새로운 독립적인 테이블을 만든다.

  • 식별자를 꼭 대리키로만 해야하는가?(행위들은 대리키를 자주 안쓰는게 좋음) 그럼 행위가 가진 속성들을 합쳐서 복합키로 만들기도 한다.

  • 정규화: 데이터베이스 내에서의 중복을 제거하는 과정

  • 1정규화: 원자값이 아닌 도메인을 분해하는 것(도메인: 속성, 원자값: 속성에 들어갈 단 하나의 값)

  • 여러개가 있을 수 있는 애들이 짤려나갈 때 참조키는 짤려나간 쪽이 가지고 있고 관계는 1대 다이다.
  • 2정규화: 부분적으로 함수 종속을 제거하는 것(함수: 키)
  • 함수 종속: 키로 식별되는 속성들
  • 부분적 함수 종속: 식별관계를 가지는 테이블에서 복합키의 일부분으로만 식별되는 속성들
  • 주키로만 식별이 되는게 아니라 주키와 다른 속성을 합쳐야 식별되는 속성들을 분리하는 것
  • Physical Design: Logical Deisgn의 결과물을 특정 DBMS의 테이블 형태로 사상시키는 과정

6일차 강의 (2025년 4월 1일)

3정규화

  • 사전적 정의
  • 이행(적 함수)종속을 없애는 것
  • 이행(적 함수) 종속
  • 전이적 관계: X > y 이고, y > z 이면 x > z 이다.

  • 이행적 함수 종속을 제거한다는 것은, 위의 표현을 빌리자면 x > y 이고, y > z 일때 x > z 는 당연하므로 없애는 것이다.

  • 주키로 식별이 되는 속성으로도 식별되는 다른 속성을 분리하는 것

BCNF(Boyce -Codd normal form)

  • 3.5 정규화

  • 모든 결정자가 후보키 이어야만 한다.(결정자: 어떤 값을 기준으로 다른 값을 유일하게 정할 수 있는 속성(또는 속성의 조합), 후보키: 튜플을 식별할 수 있는 최소 속성 집합)

  • 키가 아닌 모든 것들이 결정자(후보키 아닌 결정자가 있으면 안됨.)

  • 복합키(후보키)로 결정되는 속성(결정자)이 복합키중 하나의 후보키를 결정하면 안된다.

4정규화

  • 다치 종속을 제거
  • 다치 종속: 한 속성이 복수의 값을 가질 때, 다른 속성과 "곱" 형태로 튜플이 증식하는 현상
  • 쉽게 말해서 N:N 관계를 테이블 분리 하지 않을 때 발생함.

  • 테이블을 늘어나면 안되지만 키의 튜플을 계속 늘어나도 됨.

실습

도메인 제약 조건건

  • 속성에 도메인이 아닌 값이 올 수 없도록 하는 제약조건

  • Not Null: Null 값 금지

  • Default: 시작전 미리 초기화

  • Check: 특정 구간의 값을 제어하는 제약조건

엔티티 제약 조건

  • Primary key 제약조건건: 엔티티 내에서 다른 엔티티를 식별하기 위한 것

  • Unique 제약조건

릴레이션 제약 조건

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages