본문 바로가기

통계

(96)
[Kaggle] 타이타닉 예제에서 막대그래프로 범주 살펴보기 2020/11/07 - [연습장] - [Kaggle] 파이썬에서 함수 정의해서 파이차트 만들기 (Titanic 예제 활용) 저번 포스팅에 이어서 오늘은 막대그래프를 그려보기로 한다. cyc1am3n.github.io/2018/10/09/my-first-kaggle-competition_titanic.html 캐글 타이타닉 생존자 예측 도전기 (1) 이번에는 캐글의 입문자를 위한 튜토리얼 문제라고 할 수 있는 Titanic: Machine Learning from Disaster 의 예측 모델을 python으로 풀어보는 과정에 대해서 포스트를 할 것이다. cyc1am3n.github.io (※이번 포스팅은 위의 깃허브 코드를 사용했습니다.) 오늘 공부할 코드 #SibSp, Parch 변수를 보기 위해 ba..
[Kaggle] 파이썬에서 함수 정의해서 파이차트 만들기 (Titanic 예제 활용) cyc1am3n.github.io/2018/10/09/my-first-kaggle-competition_titanic.html 캐글 타이타닉 생존자 예측 도전기 (1) 이번에는 캐글의 입문자를 위한 튜토리얼 문제라고 할 수 있는 Titanic: Machine Learning from Disaster 의 예측 모델을 python으로 풀어보는 과정에 대해서 포스트를 할 것이다. cyc1am3n.github.io (※ 타이타닉 예제를 공부하면서 위 깃허브에서 공유한 코드를 사용했습니다.) 이번 포스팅은 def() 를 활용해 파이차트를 보여주는 위 깃허브의 코드를 분석해보고자 한다. 이번에 사용할 데이터는 캐글의 튜토리얼 데이터인 titanic 예제 데이터이다. www.kaggle.com/c/titanic/da..
[기본] SQLD 2과목 2장 공부 정리 3 (절차형 SQL, PL/SQL, T-SQL, 프로시져와 트리거 개요 ) 과목 Ⅱ. 데이터모델링의 이해 2장 SQL 활용 7절 절차형 SQL 1. 절차형 SQL 개요 일반적인 개발 언어처럼 SQL에도 절차 지향적인 프로그램이 가능하도록 DBMS 벤더별로 PL/SQL (Oracle), SQL/PL (DB2), T-SQL (SQL Server) 등의 절차형 SQL을 제공하고 있다. 절차형 SQL을 이용하면 SQL문의 연속적인 실행이나 조건에 따른 분기처리를 이용해 특정 기능을 수행하는 저장 모듈을 생성할 수 있다. 2. PL/SQL 개요 2-1. PL/SQL 특징 Oracle의 PL/SQL은 블록 구조로 되어있고, 블록 내에는 DML문장과 쿼리, 절차형 언어(IF, LOOP) 등을 사용할 수 있으며, 절차적 프로그래밍을 가능하게 하는 트랜잭션 언어다. 여기서 저장 모듈이란, PL..
[기본] SQLD 2과목 3장 공부 정리 (옵티마이저, 인덱스, NESTED LOOP, SORT MERGE, HASH 조인) 과목 Ⅱ. 데이터모델링의 이해 3장 SQL 최적화의 원리 1절 옵티마이저와 실행 계획 1. 옵티마이저 - 옵티마이저 : SQL의 실행계획을 수립하고 SQL을 실행하는 DBMS의 소프트웨어 2. 옵티마이저 특징데이터 딕셔너리에 있는 오브젝트 통계, 시스템 통계 등의 정보를 사용해 예상 비용 산정여러 실행계획 중 최저 비용 계획 선택3. 옵티마이저의 필요성 - 옵티마이저는 SQL실행계획을 PLAN_TABLE에 저장 (Oracle)-> PLAN_TABLE을 조회해 실행계획 확인 MySQL은 실행계획을 보려면 ## EXPLAIN SQL문 ## 으로 가능하다. #Oracle에서 실행계획 보는 법 DESC PLAN_TABLE; #MySQL에서 실행계획 보는 법 EXPLAIN SELECT ENAME, DNAME, S..
[기본] SQLD 2과목 2장 공부 정리 2 (그룹 함수, 윈도우 함수, 순위 함수, 행 순서 관련 함수, 비율 관련 함수, 파티션 기법) 과목 Ⅱ. 데이터모델링의 이해 2장 SQL 활용 4절 그룹 함수 그룹 함수는 GROUP BY문에 대한 SUBTOTAL을 계산해준다. 1. ROLLUP GROUP BY ROLLUP(칼럼1, 칼럼2) : (칼럼1별 합계), (칼럼1별 칼럼2별 합계), (전체 합계)를 계산 ※ ROLLUP (칼럼1, 칼럼2) = ROLLUP (칼럼1, (칼럼1, 칼럼2)) 2. GROUPING SETS GROUP BY GROUPING SETS(칼럼1, 칼럼2): (칼럼1별 합계), (칼럼2별 합계)를 계산 3. CUBE GROUP BY CUBE(칼럼1, 칼럼2): (전체 합계), (칼럼1별 합계), (칼럼2별 합계), (칼럼1별 칼럼2별 합계) 계산 ROLLUP, GROUPING SETS, CUBE 함수는 한 번에 비교해서 ..
[기본] SQLD 2과목 2장 공부 정리 1 (EQUI/INNER/OUTER/CROSS/NATURAL JOIN, UNION/UNION ALL/I 과목 Ⅱ. 데이터모델링의 이해 2장 SQL 활용 1절 조인(Join) 1. 조인 1-1) EQUI 조인: 두 테이블 간 일치하는 것을 조인#EQUI 조인 SELECT * FROM EMP, DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO; 조인문에 조건 및 정렬을 추가할 수 있음#EQUI 조인하면서 조건문 SELECT * FROM EMP, DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO #부서번호를 기준으로 조인하고 AND EMP.ENAME LIKE '%시%' #직원이름 중 '시'가 포함되는 사람을 조회하는데 ORDER BY SAL #조회할 때는 연봉을 기준으로 오름차순 정렬해서 조회해주세요 ; ※ 해시조인은 EQUI조인(동등조인)일 때에만 사용가능하다. ※ HASH 조인에..
[기본] SQLD 2과목 1장 공부 정리 7 (GRANT, REVOKE, COMMIT, ROLLBACK, SAVEPOINT) 과목 Ⅱ. 데이터모델링의 이해 1장 SQL 기본 9절 DCL(Data Control Language) 1. GRANT문 : 사용자에게 DB에 대한 권한을 부여 GRANT 권한 ON 데이터베이스.테이블 TO 사용자명; 권한 설명 SELECT 조회 권한 INSERT 입력 권한 UPDATE 변경 권한 DELETE 삭제 권한 REFERENCES 제약조건 생성 권한 ALTER 수정 권한 INDEX 인덱스 생성 권한 ALL 모든 권한 GRANT 옵션 설명 WITH GRANT OPTION - 특정 사용자에게 해당 권한을 부여할 수 있는 권한 부여 WITH ADMIN OPTION - 테이블에 대한 모든 권한 부여 #GRANT문 #thon 데이터베이스의 emp 테이블에 대한 조회, 입력, 변경, 삭제 권한을 test라는..
[기본] SQLD 2과목 1장 공부 정리 6 (문자형/숫자형/날짜형 함수, DECODE/CASE문, ROWNUM/ROWID, WITH구문) 과목 Ⅱ. 데이터모델링의 이해 1장 SQL 기본 9절 내장형 함수 1. 내장형 함수 ex) 형변환 함수, 문자열 및 숫자형 함수, 날짜형 함수 등 2. DUAL 테이블 : Oracle DB에 의해 자동으로 생성되는 테이블 (Dummy table) #MySQL에서는 desc로 dual테이블 조회가 안되는 듯 #Dual 테이블 조회 - Oracle Desc dual; 3. 내장형 함수의 종류 문자열 함수 설명 SUBSTR(문자열, m, n) 문자열의 m번째 위치에서 n개를 표시 CONCAT(문자열1, 문자열2) 문자열1, 2 결합 LOWER(문자열) 영문자를 소문자로 변환 UPPER(문자열) 영문자를 대문자로 변환 LENGTH(문자열) OR LEN(문자열) 문자열의 길이를 알려줌 (공백 포함) LTRIM(문..
[기본] SQLD 2과목 1장 공부 정리 5 (Where문, 각종 연산자, GROUP BY문, HAVING문, 암시적 형변환과 명시적 형변환) 과목 Ⅱ. 데이터모델링의 이해 1장 SQL 기본 5절 WHERE문 1. Where문에 사용하는 연산자 비교 연산자 설명 부정 비교 연산자 설명 = 같은 것 조회 != 같지 않은 것 조회 = 크거나 같은 것 조회 Not 칼러명> 크지 않은 것 조회 ※ 비교연산자 뒤에는 단일 행 함수가 나와야 함. 만일 다중행 함수(ex. MAX, SUM 등)가 나오면 에러 논리 연산자 설명 AND 조건을 모두 만족해야 True OR 조건 중 하나만 만족해도 True NOT 참이면 False, 거짓이면 True ※ 만약 WHERE 구문1 OR 구문2 AND 구문3 이라는 조건이 있다면? : "구문1"이거나 "구문2이면서 구문3인 것" 조회 SQL 연산자 설명 LIKE '%비교 문자열%' 비교 문자열을 조회 ('%'는 모든 ..
[기본] SQLD 2과목 1장 공부 정리 4 (Insert문, Update문, Delete/Truncate문, Select문 기본, Order 과목 Ⅱ. 데이터모델링의 이해 1장 SQL 기본 4절 DML(Data Manipulation Language) 1. Insert문 먼저 DML문에서 M은 Manipulation으로, 조작을 의미한다. 우리가 할 수 있는 조작은 데이터 입력/수정/조회가 있다. 조회에 들어가서 조건문으로 상세한 설정을 이용한 조회가 가능한데 이는 나중에 알아보자. Insert문은 데이터를 입력하는 DML문이다. 1-1) 기본 데이터 입력 Insert into 테이블(칼럼명1, ... , 칼럼명n) values (값1, ... , 값n); ※ 만일 값에 NULL값으로 입력한다면, 칼럼에 DEFAULT 설정이 돼있어도 NULL로 저장됨 # 데이터 입력 insert into emp values (100, '홍설이', 1000, ..
[기본] SQLD 2과목 1장 공부 정리 3 (테이블명 변경, 칼럼 추가/삭제/변경, 테이블 삭제, 뷰 생성/조회/삭제) 과목 Ⅱ. 데이터모델링의 이해 1장 SQL 기본 3절 DDL(Data Definition Language) 2. 테이블 변경 : 테이블명 변경, 칼럼 추가/변경/삭제를 할 수 있다. 기본적인 구문은 ## ALTER TABLE 테이블명 ~ ; ## (Alter문은 "수정"이 아니라 "변경"이라는 단어를 쓴다는 점 명심하자.) 빠르게 달려보자. 2-1) 테이블명 변경 alter table 테이블명 rename to 새로운이름; #테이블명 변경 (Oracle, MySQL 동일) alter table emp rename to new_emp; 공부 속도를 위해 굳이 캡처는 하지 않기로 했다. 2-2) 칼럼 추가 새로운 칼럼을 추가 alter table 테이블명 add (칼럼명 데이터형식(n) 옵션); #칼럼 추가..
[기본] SQLD 2과목 1장 공부 정리 2 (DDL문에서 create table, constraint 설정, on delete cascade 옵션) 과목 Ⅱ. 데이터모델링의 이해 1장 SQL 기본 3절 DDL(Data Definition Language) 1. 테이블 생성 : DB 사용을 위해서는 먼저 테이블을 생성해야함 ※ SQL 구문을 적을 때 대문자 소문자 구분은 필요없음 ※ 테이블명으로 무조건 문자가 먼저 오고 뒤에 숫자, _ $, #까지 허용 Create Table : 새로운 테이블 생성 (기본키, 외래키, 제약사항(Constraint) 설정 가능) Alter Table : 생성된 테이블 변경 (칼럼 추가, 변경, 삭제, 기본키, 외래키 설정도 가능) Drop Table : 해당 테이블 삭제 (데이터 구조 & 저장된 데이터 모두 삭제) 1-1) 기본적인 테이블 생성문 테이블 만드는 데 한참동안 애를 먹다가 뒤늦게야 알아냈다. 공부하고 있는 ..
[기초] 사용자 추가, MySQL DB 생성, 사용자 권한 부여 futurists.tistory.com/11 (MySQL) 1장 시작하기. (DB 생성, 테이블 생성, SELECT) 데이터 베이스를 공부하면서 공부 내용을 포스트 해보려 합니다. mySQL을 사용했으며, 버전은 5.7.15 for MAC 입니다. (버전 확인 : mysql --version) 목차 데이터 베이스 생성 (CREATE DATABASE) 데이터 베이스�� futurists.tistory.com nickjoit.tistory.com/144 mysql 사용자추가/DB생성/권한부여 서버 관리를 하다보면 mysql 사용자 계정을 추가해 줄때가 있다. MySQL 접속 및 데이터 베이스 추가 # mysql -u root -p 사용자 계정을 추가하기 전에 먼저 현재 생성된 사용자 계정을 확인한다. mys..
[기본] SQLD 2과목 1장 공부 정리 1 (관계형 DB의 정의, SQL문의 종류, 트랜잭션의 특성) 과목 Ⅱ. 데이터모델링의 이해 1장 SQL 기본 1절 관계형 데이터베이스 (Relation DB) 1. 관계형 DB : 현재 기업에서 가장 많이 사용하는 DB Oracle, MS-SQL, MySQL, Sybase 등의 DBMS가 모두 관계형 DB를 지원한다. (DBMS : DataBase Management System, 데이터베이스 관리 시스템) - DB와 DBMS의 차이 DB는 데이터를 어떠한 형태의 자료구조로 사용하느냐에 따라 달라짐 - 계층형 DB : 트리형태의 자료구조에 데이터를 저장하고 관리 (1:N 관계 표현) - 네트워크형 DB : 오너와 멤버 형태로 데이터를 저장하고 관리 (1:N, M:N 표현) - 관계형 DB : 릴레이션에 데이터를 저장하고 관리 DBMS는 DB를 관리하기 위한 소프트..
[기본] SQLD 1과목 2장 공부 정리 (정규화, 반정규화, 분산 DB) 과목Ⅰ. 데이터모델링의 이해 2장 데이터 모델과 성능 1절 정규화 1. 정규화(Normalization) : 데이터의 일관성, 중복 최소화, 데이터 유연성 최대화를 위한 방법 (= 데이터를 분해하는 과정) - 정규화 수행시 업무에 변화가 발생해도 데이터 모델의 변경을 최소화할 수 있음 정규화 절차 설명 제1정규화 기본키 설정 (속성의 원자성 확보 = 속성의 중복값 제거) 제2정규화 부분 함수 종속성 제거 (기본키가 2개 이상) 제3정규화 이행 함수 종속성 제거 (기본키를 제외한 칼럼 간 종속성 제거) BCNF 복수의 후보키가 있고 후보키가 복합속성이며, 서로 중첩 제4정규화 다중값 종속성 제거 (안 중요) 제5정규화 조인에 의한 종속 분해 (안 중요) ※ 한 개의 속성으로 유일성이 만족되지 않을 경우, ..
[기본] SQLD 1과목 1장 공부 정리 (데이터모델링, 3층스키마, 엔터티, 속성, 관계, 식별자) 과목Ⅰ. 데이터모델링의 이해 1장 데이터모델링 1절 데이터모델링의 이해 1. 데이터 모델링 ① 데이터 모델링: 현실세계를 데이터베이스로 표현하기 위해 추상화하는 것 ② 데이터모델링의 특징 1) 추상화 : 공통적 특징을 간략히 표현 2) 단순화 : 누구나 이해할 수 있게 3) 명확화 : 의미가 모호하지 않고 명확 ③ 모델링 단계(C-L-P) 1) 개념적 모델링(Conceptual Data Modeling) : 업무중심적, 포괄적, 추상화 수준이 가장 높음(추상적) 전사적 관점 엔터티-속성 도출, 엔터티-관계 다이어그램 작성 2) 논리적 모델링(Logical Data Modeling) : 식별자, 관계, 속성 등을 정확히 표현 정규화 수행 각 단계 중 재사용성이 가장 높음 3) 물리적 모델링(Physical..