Data에 맥락과 의미가 부여되면 정보 information DIKW 피라미드 -action/Wisdom(행동/지혜) : 통찰을 바탕으로 의사 결정을 내리는 것 ex)30도 넘었으니 발주 2배 늘리자 -knowledge/insight(지식/통찰) : 정보에서 패턴을 찾아내고 이유를 이해하는 것 ex) 기온이 30도 이상일 때, 아이스 음료 매출이 급격히 오르는 상관관계가 있다. -Information(정보):데이터에 맥락과 의미가 부여된 상태 예)작년 대비 기온이 5도 높았고, 커피 판매량은 20%증가했다 -Data - 사실, 수치, 기호의 나열 ex)30도, 아이스 아메리카노 100잔 판매
IT 회사의 데이터 분석 프로세스 데이터 생성 : 데이터 생성은 FE, BE, DATA 엔지니어가 데이터 수집, 처리, 가공, 저장, 관리, 추출은 : 데이터 엔지니어, 데이터 사이언티스트, mL 엔지니어 시각화 및 분석에는 데이터 엔지니어, 데이터 사이언티스트, 데이터 분석가
전반적으로 진두지휘는 PM이(프로덕트 매니저)
전반적으로 데이터를 읽고 볼 수 있어야 하는 역량이 있어야 함.
데이터를 볼 때 이런 상관관계가 있으니 이러한 방향성으로 가자고 말하는 데 활용됨 의사결정자 설득하는데에 쓰임 의사결정자라는 부분은 함께 일하는 팀원 등 포함
데이터분석 프로세스
-
문제정의(가장 중요) 막연한 현상을 구체적 가설로 변환 매출하락을 20대 여성 재구매율이 하락해서일 것이라는 식으로 가설 설정하는 것 즉 맞는 방향인지 WHY를 가져 가져가야 함 진짜 문제를 찾는 것이 가장 중요
-
DATA 수집 문제를 풀기 위한 재료 확보/ 정의된 문제를 해결하기 위한 사내 DB, 로그데이터, 외부 트렌드 데이터 등 가설 검증에 필요한 데이터 확보 사내 정보가 가장 확실한데, SQL 안다면 이런 데이터를 뽑아갈 수 있다. SQL을 뽑기 원하는 형태로 가져오려면 원하는 상관관계를 알 수 있으려면 SQL을 기본적인 역량으로 필요로 하는 경우 많다. 사내 DB에 접근하기 위해 SQL을 배운다고 생각하면 됨.
-
데이터 전처리 원하는 데이터가 아닐 경우가 더 많은데 결측치 이상치 등 데이터 오류를 수정함. 이 데이터를 다듬는 데 업무시간의 70~80%걸리는데 어떤 방향성으로 가야할 지 그거대로 쿼리를 쓸 수 있도록 쉬워짐 그래도.
-
데이터 모델링 :“숨겨진 패턴 발견” 근거가 될 패턴 찾아내기
-
시각화 및 탐색 시각화(Visualization) - 복잡한 분석결과를 그래프나 차트로 직관적으로 표현 탐핵은 시각화된 결과를 보며 숨겨진 인사이트를 추가로 발견하는 절차임
즉 pm의 판단에 확신을 더하는 일이기에 배운다 직관 아닌 근거로 의사결정하고, 이해관계자들을 설득하기 위해 사용자의 실제 행동을 읽고, 제한된 리소스를 우선순위에 맞게 쓰기 위해 새 기능, 개선효과를 가설 검증(A/B 테스트 등)으로 객관저긍로 확인하기 위해 데이터 분석을 진행하게 된다.
[#DB 와 sql] DB는 테이블 DBMS는 데이터베이스 관리 운영하는 소프트웨어 시스템 DB 다룰 줄 아냐고 할 때 보통 DBMS를 다룰 줄 아냐는 의미 DBMS통해 가져와서 추출해서 볼 수 있게 되는거
DBMS 중 관계형 데이터베이스 Relational database가 많이 쓰이고 있는데 최근에는 nosql도 올라오고 있긴 함.
관계형 데이터베이스는 데이터를 table 형태로 저장하는 db 여러 테이블은 공통된 키로 서로 연결될 수 있다. 키 값을 통해 여러개의 테이블을 연결해서 사용할 것.
하나의 큰 테이블이 아니라 여러개의 작은 테이블로 조각조각 나눠져 있다. 만약 데이터를 1개의 테이블로 관리하면 비어있는 null값이 기본적으로 많게 된다 효율적으로 관리하기 위해 여러개의 작은 테이블로 서로 연결되게 하는것.
sql은 관계형 DBMS를 위한 표준 언어 SQL로 하는 것은 CRUD 데이터를 추가 데이터를 조회 데이터를 수정 데이터를 제거
[DB]
테이블 구조에서 열(애트리뷰터) ; 세로/ 행(튜플) ; 가로
한 행은 한 사람 혹은 한 개체에 대한 정보

피쳐 속성값도 애트리뷰트
직무관련된 것 한 컬럼에 저장되게 됨.
하나의 셀 값이 애트리뷰트값
릴레이션 =테이블
튜플 = 행, ROW, 레코드 (한 개체에 대한 정보)
애트리뷰터=열
스키마는 이미 정해져 있는 구조(쉽게 변하지 않는 것) 전체적인 테이블 구조를 스키마라 함.
EX. Department 내에 deptno, 속성값 을 미리 정해놓은 걸 테이블 스키마라고 얘기하심.
한 번 결정되면 잘 변하지 않음. / 내포 intension 이라 부름
(미리정해진 것) 스키마
데이터는 (인스턴스) 시간에 따라 추가되기도 하고 변화되기도 함. 외연 extension이라고도 부름
[테이블 특성] 각 테이블은 튜플 (행)들의 집합
하나의 칼럼에는 하나의 데이터형태값만 가진다 ex 하나의 칼럼에 이름 : 문자열 열의 순서가 큰 의미를 갖진 않는다.
튜플은 유일해야 함. ex. 동명이인이라 하더라도 empno로 구분지어서 하는데 “키값”할당 : 인간에게는 주민등록번호 부여해서 구분하듯
각 행은 기본키(primary 키를 갖는다) =>empno가 pk!!!! primarykey
각 애트리뷰트(열)은 오직 하나의 원자값을 갖는다. 하나의 셀에 여러 값을 넣는 것은 허용되지 않음 한 셀에 하나만(다른 스타일의 nosql?에는 여러값 포함하기도 하는데 기본적으로 sql에선 한 셀에 하나만)
각 애트리뷰트(열) 이름은 테이블 내에서 고유해야 함 같은 테이블 안에서는 중복된 열 이름을 사용할 수 없음
튜플(행)순서가 바뀌더라도 동일한 행으로 이해(ex 영업 행이 1에 있든지 순서가 아래로가든지)
-테이블의 key란 보통 기본키(#primarykey ):각 튜플(행)을 고유하게 식별하는 하나 이상의 속성 -중복될 수 없고 null 값 가질 수 없음
-외래키(foreign key) -다른 테이블의 기본키를 참조하는 속성 -테이블 간의 관계를 정의함. ex 학교에 선생님이 1반 담임선생님, 2반의 담임선생님, 3반의 담임선생님 이럴때 1반의 담임선생님은 1반의 다른 키과 관계될 듯.
[null] “알려지지 않음” “적용할 수 없음” ex. 고객 테이블에 새로운 고객에 관한 행을 입력할 때 고객의 생년월일을 입력받지 못했을때 null이다.
0과 null 처리는 완전 다른데 0은 존재하지 않는게 아니라 값이 0으로 부여된건데 null은 값이 아예 없는것

플러그 모양 눌러서 mysql로 가기
해당화면에서 publickey부분을 false에서 true로 바꿔두기



다운로드 받은 파일을 넣기

인코딩을 EUC-KR로 바꾸기

굵은 글씨 있는 부분들의 옆 부분을 n, [v],[v]로 바꿈

새 sql 편집기까지 켜기

ctrl + enter 눌러서 밑의 자료들을 가져온다.
같지 않다 <> 말고 !=도 같은 뜻

한글 넣을 경우에는 ’ ‘나 ” “로 감싸고 꼭 엔터

ctrl + 엔터면 실행된다.
문자형, 날짜, 시간형의 경우 모두 따옴표를 사용 - 연월일은 하이픈(-)으로 구분하고, 시각은 콜론(:)으로 구분
- 숫자형 상수 : 1, 100, -30
- 문자열형 상수 : “ABC”, 박’ 준용’ - 날짜시간형상수: ‘2024-07-05’ “2024-07-05 18:00:00”
왜 생일이 null이라고 치면 안나올까?
[NULL처리]
null 은 is null로 쳐야 나옴
= null 이 아니라 is null로

주석처리할때 # 뭐라고 적으면 주석처리 된다.
[SQL에서의 비교연산자] = :좌 변과 우변의 값이 같을 경우 참 <> : 좌변과 우변의 값이 다를 경우 참 > :좌 변값이 우변 값보다 클경우 참 >= : 좌변값이 우변 값보다 크거나 같을 경우 참 < :좌 변값이 우변 값보다 작을 경우 참 <= : 좌변값이 우변 값보다 작거나 같을 경우 참
크거나 작거나 할때 같다는 표시는 =은 뒤로 간다.
select *
from sample21
where address is null;
안나옴, 주소가 다 적혀 있기에

and or *여러개의 조건 조합을 할때 조건을 조합할 때 and 를 사용함. and 는 모든 조건이 TRUE 여야만 출력이 됨.

OR는 하나만이라도 TRUE면 true 된다.
where grade 3 or major = ‘컴퓨터공학’ ;
전체가 나온다.
portfolio

주의할 부분은 and or를 동시에 쓴다면 and가 먼저 실행되는데 ()로 묶어줘야 함
보통을 <>나 != 로 not a = 0 을 표시한다
ex
where not a = 0; 대신에 where a <> 0 로 표기
이렇게 전반적으로 ()로 감싸주자
sample database도 “data 내보내기”로 가져오기

데이터를 가져온 후에는 localhost 와 gangdong으로 바꿔야
*어떤 데이터를 먼저 가지고 있는지 쫙 보신 후에 진행하시는 편

[테이블 검색] LIKE에서 사용할 수 있는 메타문자
패턴 매칭에 의한 검색(LIKE)
- 활용사례 - 이메일 검색 - 특정 도메인 또는 이름을 포함하는 이메일 찾기 - 제품명 찾기 - 제품 데이터베이스에 서특정 키워드가 포함된 제품을 검색
it’s 라면 “it”s”로 하기도 함.
대소문자 관계없이 love로 검색하면 Love랑 love 다 검색한다

실행순서가 FWGHSO From Where Group by Having Select Order by(오더바이는 무조건 제일 나중에)
“the%“만 찾고 싶다면
"the %"이렇게 공백까지 같이 포함시켜서 like "the %"로 가자!!!
is로 연결하려 하는 부분들이 있었는데 is null로 하는거 외에는 a=1 이런식으로 합시다!