Cute Blinking Unicorn

할 일/아침조회

12/5 데이터베이스 아침 수업 > ADT

민밥통 2023. 12. 5. 10:17

ADT 추상이 abstract
데이터 추상화 (추상 데이터 타입)
 \

자료구조는 잘 저장해서 빼야지.
알고리즘은 그렇게 하는데 자료구조 자체는 어떻게 저장할 것 인가에 집중된 부분

Abstract Data Type( 이해 ADT )는 어떤 문제(Problem)를 쉽게 해결하기 위한 노력에서 부터 출발합니다.

1. 문제 다루기(Handing Problem)
우리는 어떤 문제가 있을 때, 그 문제를 해결하기 위해 그것과 관련된 여러 가지 상상을 합니다. 그 다음에 해결하기 위해 필요한 것들과 필요 없는 것들로 분리한 후, 필요한 정보를 가지고 그 문제를 해결하기 위해 노력합니다. 이렇게 '필요한 것을 분리해 내는 것'이 바로 문제를 해결하기 위한 모델(Model or Abstract View)을 만드는 작업입니다. 
(Abstract = 추상적인 뽑아내는 것 > 어디에 있는 걸 액기스 뽑아낸다 대표적인 특징을 꺼내는 게 Abstract 라고 한다. )

모델은 문제(Provlem_에만 관련돼 있고 문제와 관련된 속성들(Properties)로 구성됩니다. 이 속성들은 다음과 같은 것들을 포함합니다.
1. 문제에 영향을 주는 데이터(Data)
2. 문제와 관련된 작업(Operation)

직원들을 관리하기 위해 > 키 몸무게 나이 목소리 눈의 크기 얼굴 생김새 좋아하는 색 등 매우 많은 특성들이 있는데, 직원들을 관리하기 위해서는 이런 모든 정보가 필요하진 않습니다. 필요한 것들만 정리해보면 이름, 새연ㄴ월일, 주민등록번호, 부서, 취미 정도가 될 것입니다. 
이렇게 문제 해결을 위해 모아둔 정보를 모델(Model)의 데이터(Data)라고 합니다. 

데이터만 있으면 문제를 해결할 수 있을까요?
ㄴ 이 데이터를 처리하는 작업(Operation) 이 필요.

키가 되는 값들은 변경이 되면 큰일 나기 때문에. 그런데 부서는 바뀌어? 안바뀌어?
ㄴ 바뀌는걸 트래킹해야한다고 하면 경력 관리를 위해서 어떻게 해야 돼?
주민등록번호를 키로 잡고 주민번호부에 키를 잡고 그 다음에 씨리얼 하나를 잡고 > 시작 일자 끝일자 부서 이렇게 잡으면 됨
부서 이름 잡고 시작일자 끝일자 이게 교차 엔티티

데이터 베이스를 
bcnf

필요에 따라서 한다. (필요한 경우는?)
자주 쓰인다. 취미는 계속 부서 하나는 부서를 띄워놨더니 하나는 있어야 한다. (현재 부서) 
역정규화????????