본문 바로가기
SQL

1/3 - SQL 심화학습 6일차

by PETRA_94 2024. 1. 3.

[기억할 개념] - SQLD 자격증 대비반 엔터티 (Entity)
1. 엔터티란?:  사물의 본질적인 성질을 '속성', 관련 있는 속성들이 모여서 의미 있는 하나의 정보 단위를 
이룬 것이 바로 개체에 해당됨 => 개체 사이의 연관성을 '관계'라고 함 => 개체와 관계를 나타낸 모델을 '개체 관계 모델(Entity-Relationship model)'
 
2. 엔터티와 인스턴스

  • 인스턴스(Instance)란?: 데이터베이스 테이블에 저장된 특정한 데이터 내용의 전체 집합 즉, 하나의 row(행)를 의미
  • 하나의 인스턴스가 갖는 각각의 특징을 속성(attribute)이라고 하고 / 이는 테이블의 세로(column) 영역에 해당함

 
3. 엔터티의 특징

  • 업무적으로 의미를 갖는 인스턴스가 식별자에 의해 한 개씩만 존재하는지 검증해야 한다.
  • 엔터티는 기본적으로 2개 이상의 인스턴스로 구성되어 있어야  한다.
  • 주식별자만 존재하고 일반 속성은 전혀 없는 경우 엔터티가 아니다.
    엔터티를 설명할 수 있는 속성이 존재해야 의미를 갖는다.
  • 엔터티가 도출되었다 => 해당 업무에서 어떠한 연관성을 갖고 다른 엔터티와의 연관성이 있음

 
4. 엔터티의 분류

  • 유/무형에 따른 분류
유형 엔터티- 물리적인 형태가 존재하는 엔터티
- 안정적이고  지속적
- ex. 상품, 강사, 병장
개념 엔터티- 관리해야 할 개념적인 정보로 구분되는 엔터티
- ex. 학과, 코스닥  종목
사건 엔터티특정한  이벤트에  종속되는  엔터티입니다.
- 업무  수행에  따라  발생되는  엔터티로  비교적  발생량 과다
- 각종  통계에  이용되는  엔터티
- ex. 이벤트  응모, 주문

 

  • 발생 시점에 따른 분류
기본/키 엔터티 (Basic Entity)- 관계가 아닌 독립적인 생성이  가능
- 다른  엔터티의  부모  엔터티  역할  
  => 고유한  주식별자를  갖는다는  의미
- ex. 고객, 상품
중심 엔터티 (Main Entity)- 기본 엔터티로부터 발생하고 업무에서 중심적인  역할
- 처리해야 하는 데이터의 양이 과다
- 다른 엔터티와의 관계를  통해  많은  행위  엔터티를 생성
- ex. 주문, 취소
행위  엔터티 (Activie Entity)- 두 개 이상의 부모 엔터티로부터 발생  
- 자주 내용이 바뀌거나 데이터의 양이 증가  
- ex. 주문 내역, 취소 내역

 

  • 엔터티 분류 방법의 예시 

 
5. 엔터티의 이름짓기 방식

 
 
[특강 - 느낀 점]

  1. 데이터 리터러시: 사실 대행사에서 근무하면서, 제안 시즌이나 브랜드 혹은 타겟 조사할 때, 많이 듣던 용어들이어서 쉽게 들었다. MECE 구조나 AARRR 구조, CTR, LTV, KPI, 등등. 마케팅을 한다면, 필수로 알아야 할 용어들과 그리고 문제와 가설을 설정하고 목표를 어떻게 구체적으로 만들어 가는지에 대한 방법론 위주의 강의이다. 특강 목록은 아니지만, IT 계열 직무들이 꼭 이해하고 데이터를 관리했으면 좋겠는 바람이 드는 알찬 강의이다.

  2. 개인과제 해설 실제 정답(=결과) 값이 어떻게 나오는지에 따른 구조가 아닌, '얼마나 논리적인가'에 관점을 두고 문제를 내신 것 같다. 허나, 실제로 수강생이 궁금한 것은 '결과 값이 이렇게 나와야 하고, 그에 따른 논리는 이런 구조다.'라는 것이다. 그리고 다른 수강생들이 맞춘 답안을 공유해주면서, 서로 어떤 코드와 로직으로 썼는지 알게 된다면, 실력 향상에 조금 더 도움이 되지 않을까 싶다. 고로, 해설 강의가 다소 아쉽다는 평이라는 이야기.
    *스파르타코딩클럽_개인과제 해설: 바로가기

 
[고민사항]

  • 지금 SQLD 자격증 대비반 수강 목록이 16주차까지 있어, 듣기가 조금 빡센 상황
    개인과제까지 있어서 진도를 많이 못 뺐음
  • 게다가 개인과제 과락한 사람들은 Python 대신 SQL에 집중하라는 메인 매니저님의 공지가 있어 혼란스러움
  • 추가로 금일 발의된 데이터 리터러시와 Python 기초까지 듣게 되면 자격증 대비반 수강을 할 수 있을지 의문이 들어, 담임 매니저에게 문의드림
담임 매니저님 답변) 데이터 리터러시는 최대 1시간 30분 정도 소요된다. 오늘 바로 들어도 무방함. Python 기초는 어디까지나 기초이기에,  개인과제에서 과락했다고 해도 따라가기에 무리인 커리큘럼은 아니다.
또한, SQLD는 자격증 대비반 코스이기에, 필수로 들어야 하는 강의이기도 하고, 만약 개인과제에서 과락했다고 해도 SQL에 더 집중하라는 의미이지, 하나를 포기하라는 의미는 아니다.
∴ 고로, SQL>Python에 비중을 더 두되, SQLD 자격증 대비반 코스는 강의가 많기에 틈틈이 듣는 것을 추천!

 
 
[배운 점]

  • 어제 하루 개인과제에 머리를 많이 썼더니 오늘 거의 시체였다.
  • SQL을 알면 알수록 어렵다는 생각이 든다. 쿼리문을 길게 쓰는 법, 특히 from 구문을 길게 늘어뜨리는 법을 잘 모른다.
  • 내일부터 Python 개인과제가 시작된다. Python 개념이나 함수는 해당 카테고리에서 TIL를 쓸 예정이다. (개인과제 벌써 두렵다...)
  • SQL 개인과제를 한번 더 풀어봐야 하는데, 오늘 시간이 없어서 못 풀었다. 남은 평일 4일은 Python에 주력하고, 주말에 다시 풀어야할 것 같다.