본문 바로가기

728x90
반응형

분류 전체보기

(315)
[R]데이터 저장 방법(행 방향 저장? 열 방향 저장?) 보통 행정기관의 자료를 받아보면 엑셀에 이런 형식으로 데이터가 저장되어 있다. 예) 강남 상가의 연도별 매출액 2023 2022 2021 2020 2019 ........ 스타벅스 바나에스프레소 이 경우는 자료가 행방향으로 저장되는데 이러한 자료를 와이드 형식이라고 한다. 이러한 와이드 형식의 자료가 DB로 들어오는 경우 JOIN도 되지 않고 GROUPING도 되지 않는다. 한 컬럼을 추출하게 되면 2023년도의 각각 다른 상가들의 자료가 추출되어 효율적이지 않다. 스타벅스 자료를 읽으려면 모든 행열의 자료를 다 불러와야하기 때문에 DISK I/O도 크다. 스타벅스 바나에스프레소 2023 2022 2021 2020 2019 이런 컬럼형으로 된다면 한 가게 당 데이터를 추출할 수 있기 때문에 자료를 더 효..
[R]key-value를 이해하기 위한 과정 key-value를 이해하기 위해서는 앞에서 공부해온 sql의 table과 비교가 필요할 것 같다. oracle인 RDBMS는 행 기반으로 자료를 찾는다. RDBMS에서 테이블이라고 부르는 구조는 R과 Python에서는 데이터 프레임이라고 한다. RDBMS는 key-value 구조가 아니다. 위에서 언급하였듯이 RDBMS는 자료를 찾을 때 한 행씩 읽어가며 자료를 가져오는데, 한 행에는 다양한 형식을 가진 데이터가 존재한다. 이름은 문자, 학번은 숫자, 가입일은 날짜 등등. 그렇게 자료를 읽어오게되면 속도가 느린 반면 column 별로 자료를 읽게 되면 한 column은 데이터 타입이 하나 이기 때문에 빠른 속도로 자료를 불러올 수 있다. R에서의 데이터 프레임이 key-value 구조로 이루어졌다. c..
[실습문제] 2023. 11. 21.(화) (2문제) 실습문제 1. emp.csv 파일을 읽고 1) 10번 부서원의 이름을 출력하여라 2) 이름이 SMITH 또는 SCOTT의 이름, SAL, HIREDATE를 출력하여라 3) 10번 부서원 중 급여가 2000 이상이면서 입사일이 81년 8월 31일 이후인 사람의 이름, 입사일, 부서번호, 급여를 출력하여라 4) 월요일에 입사한 사람의 전체 컬럼 정보를 출력하여라(단, mgr, deptno 컬럼 제외) 이 문제에서 mgr, deptno 컬럼을 제외하기 위해서는 각 컬럼 위치를 하나씩 세어서 번호를 알아낸 뒤에 - 를 붙여야 했다. 선생님께서 더 편한 방법을 알려주셨는데 이는 아래와 같다. 여기서 이해가 안 되었던 게 대괄호의 콤마 뒤 컬럼을 불러오는 곳에서 항상 c를 붙이고 컬럼 이름을 불러왔는데, 이는 컬럼..
2일차 - [1일 1문제] 등급 구하기(SQL) EMP, DEPT 테이블을 이용하여 사원번호, 이름, 부서이름을 출력하여라 첫 번째 풀이는 JOIN을 이용하여 풀었다. 다음은 스칼라 서브쿼리를 이용한 풀이이다.
1일차 - [1일 1문제] 등급 구하기(SQL) EMP 테이블과 SALGRADE 를 이용하여 사원번호, 이름, 각 SAL에 대한 등급을 구하여라. 첫 번째 풀이 두 번째 풀이 스칼라 서브쿼리로 작성하였다.
[복습] R(programming language) 의 자료구조(벡터, 데이터 프레임) + 복습후기(20231121) R의 자료구조에는, 0. 스칼라 1. 벡터 2. 리스트 3. 행렬 4.배열 5. 데이터 프레임 이 있다. 오늘은 벡터와 데이터 프레임에 대하여 배웠다. 이와 비교하여 먼저 스칼라란, 하나의 상수로 자료의 구조를 선택할 필요가 없다. 자료의 구조를 그릇이라고 가정했을 때 하나의 상수는 하나의 그릇에 굳이 담을 필요가 없는 것으로 이해하면 되겠다. 1. 벡터 벡터는 1차원(나열형)이다. 1차원은 단방향으로 축이 진행되는 것이다. 여러 개의 데이터를 담는 것이 목적이며, 단 하나의 데이터타입만 정의가 가능하다. Line 1 처럼 벡터는 c함수로 묶어서 선언하여야 하며, 단 하나의 데이터 타입으로만 정의가 가능하다. Line 3처럼 4를 문자로 묶어서 전달하게 되면, 모든 숫자들이 문자가 되어 전체 문자로 출력..
[복습] R(programming language) 변수 생성 및 형 변환 함수(as.character, as.numeric, as.Date, strftime, strptime) 변수란 값을 저장하여 선언하는 객체이다. R에서는 변수 선언 시
[복습] SQL | Oracle 행의 순서 출력 ROWNUM과 FETCH + 복습후기(20231120) ROWNUM 먼저 살펴보자. 이렇게 출력해서 나오는 세 개의 행은 데이터가 입력된 순서의 행이다. ORDER BY로 EMPNO대로 정렬해도 위와같이 나온다. 이렇게 추출된 세 데이터 내에서 이름 순으로 정렬될 뿐 BLAKE라는 사원은 나오지 않는다. 참고로 ROWNUM = 3으로 하여 세 번째 행을 추출할 수도 없다. 데이터는 SELECT 절에서 출력할 때 임시번호가 붙여지는 것이지 실제로 WHERE 절에서는 3번 줄이라는 것을 알 수가 없다. 이게 ROWNUM의 단점이다. 서브쿼리가 들어가는 경우 정렬 순서대로 데이터가 순서대로 출력이 가능하다. 이름 순으로 뽑으니 BLAKE가 추출되었다. 인라인뷰로 데이터를 테이블화 하여 새롭게 정렬된 데이터를 불러오는 것이다. 이것을 FETCH 절에서 인라인뷰를 사..
[복습] SQL | Oracle 문자열의 규칙 찾기, 문자열의 일반화인 정규식 표현식(2) 지난 번 게시글에 이어서 정규식 표현식의 정리노트이다. https://metime.tistory.com/91 [복습] SQL | Oracle 문자열의 규칙 찾기, 문자열의 일반화인 정규식 표현식 + 복습후기(20231117) 정규식 표현식이란 문자열의 일반화 규칙을 표현하는 방법으로, 오라클에서는 정규식 표현식 사용가능한 문자함수를 제공하고 있다( REGEXP_REPLACE, REGEXP_SUBSTR, REGEXP_INSTR,... 이런 식으로) 정규식 metime.tistory.com [정규식 표현식] 1. REGEXP_REPLACE REGEXP_REPLACE(대상, 찾을문자열, 바꿀문자열, 검색위치, 발견횟수, 옵션) 총 이렇게 들어간다. 전 시간에는 바꿀문자열까지만 배웠었다. (abc......ab..
[실습문제] 2023. 11. 17.(금) (2문제) 실습문제 1. SEOUL_NEW 데이터에서 게시물번호, 작성날짜, 조회수를 각각 출력하여라. 데이터는 이런 형식으로 되어있다. 띄어쓰기로 구분되어 있으며 차례대로 게시글번호, 글제목, 작성날짜, 조회수 이다. 먼저 내 풀이는 아래와 같다. 게시글 번호와 작성날짜는 무난하게 추출하였다. 선생님 방법이 더 간단하지만.. 조회수를 추출할 때 뒤의 번호를 추출하는 것이 번거로워서 데이터를 뒤집어 앞 두자리를 추출한 다음 추출한 번호를 다시 뒤집었다. 그런데 더 간단하게 추출하는 방법이 있었으며, 선생님 풀이는 아래와 같다. LINE 7은 어제 내가 구글링해서 공부한 방법으로 푸셨고 이 방법은 수업시간에 설명해주셔서 따로 여기서 설명은 안 하도록 하겠다. 실습문제 2 PROFESSOR 테이블에서 ID의 값을 확인..

728x90
반응형