DB 8

1. 데이터베이스(DataBase)

데이터베이스(DataBase) 데이터베이스 사용하는 이유와 특징 데이터베이스를 사용하는 이유: 데이터베이스가 사용되기 이전에는 파일 시스템을 이용했으나 데이터 종속성, 중복성, 데이터 무결성 문제가 있었다. 데이터베이스의 특징 독립성 물리적 독립성: 데이터베이스 사이즈를 늘리거나 데이터 파일 늘리거나.. 해도 관련된 응용 프로그램을 수정할 필요 없다. 논리적 독립성: DB는 논리적 구조로 다양한 응용 프로그램의 논리적 요구를 만족시킬 수 있다. 무결성(integrity): 여러 경로를 통해 잘못된 데이터가 발생하는 경우의 수를 방지하는 기능, 데이터의 유효성 검사를 통해 무결성 유지 무결성은 정확성, 일관성, 유효성이 유지되는 것을 의미한다. 보안성: 인가된 사용자들만 데이터베이스에 접근 가능하도록 유지..

[6주차] 강의노트 DML (Data Manipulation Language)

1. 6주차 세션 리뷰 1.0. 지난 과제 리뷰 - 엔지니어로 근무하기위해 SQL은 기본이다. - WITH절 쓰면 CTE라고 한다. - 재귀함수에서 1초가 넘어가면 거기까지만 출력한다. - SQL에서 피벗 기능은 가장 높은 수준이고 많이 쓰인다. - 피벗은 행렬에서 transpose (전치)의 개념과 비슷하다. - 집단함수 Vs 윈도우함수 -> GROUP BY + SUM => 집단함수 (통계치를 구한다.) -> SUM(noOfCustomers) OVER (PARTITION BY office) => 윈도우함수 - 적용되는 범위마다의 합을 투플마다 모두 나타낸다. - 윈도우함수에서 프레임이 가장 중요하다. - 프레임 정의하는 방법이 어렵다. (ROWS절: 행의 개수 / RANGE절: ORDER BY절의 ) ..

Chapter 09 DML : 서브쿼리(Subquery)

Def) 서브 쿼리: SQL문 (주로 SELECT문) 안에 포함되는 SELECT문 - 질의문 / 갱신문 위치에 사용가능하다. 1. 주의 사항 1) 컬럼참조 시 주의 사항: 메인쿼리에서 볼 때, 서브쿼리는 블랙 박스 - inline view(FROM절 서브쿼리)의 경우, 메인쿼리는 inline view의 컬럼을 자유롭게 참조한다. 2) ORDER BY절 사용 제한 - WHERE절 서브쿼리에서는 ORDER BY절을 사용하지 못한다. - inline view의 경우, 사용 가능. - WHERE절 서브쿼리 1) 단일값 서브쿼리 (scalar sunquery) 2) 다중값 서브쿼리 (column subquery): ANY | SOME | ALL 3) 다중행 서브쿼리 (table subquery): 여러 개의 투플..

[4주차] 강의노트 DML(다중 테이블 쿼리)

2022-03-19 프로그래머스 4주차 강의 1. 3주차 세션 리뷰 1.0. 지난 과제 리뷰 - DB에서 가장 중요한 개념 "JOIN"을 활용하는 문제로 구성됐다. - JOIN을 완벽히 이해해야 서브쿼리 알 수 있다. - 99%의 조인은 PK, FK 사이에서 이뤄진다. - 프로그래밍에서 for반복문이 중첩되서 돌아가는 것과 같다. - where절 조인은 검색 조건과 조인 조건이 섞여 있어서 가능하다면 FROM절 조인을 쓰는 게 좋다. - 과제할 때 WHERE절에 조인 조건을 깜빡해서 오답이 있었다. - LEFT JOIN에 WHERE 절을 적용하면 조인의 의미가 사라진다. -> customers LEFT JOIN payments ... 하면 결제액 없는 고객도 출력 - OUTER JOIN에 WHERE절을 ..

Chapter 08 DML : 조인 연산을 사용한 검색문 (다중 테이블 검색문)

- WHERE절 조인: INNER JOIN만 제공 - FROM절 조인 1) (INNER) JOIN -> ON절/ USING절 2) NATURAL JOIN 3) LEFT/RIGHT/FULL (OUTER) JOIN -> ON절/ USING절 4) CROSS JOIN - CTAS로 저장 -> ON절 조인을 CTAS로 저장하려면 에러가 난다. (office code가 두 개) -> USING절 조인은 정상 실행된다. (office code가 한 개) - OUTER조인: 조인 조건을 만족하지 않는 투플도 결과에 포함된다. -> FULL [OUTER] JOIN: LEFT 및 RIGHT JOIN 결과의 합집합(UNION) -> MySQL은 FULL [OUTER] JOIN을 지원하지 않는다. - CROSS JOIN: ..

[3주차] 강의노트 DML- Function & Update

2022-03-12 프로그래머스 3주차 강의 1. 3주차 세션 리뷰 1.0. 지난 과제 리뷰 - GROUP BY절 주의사항 - PPT 10쪽 ->productLine을 기준으로 GROUP BY 했지만 name, scale을 select할 수 는 있다. -> 이 부분에 대해 MySQL에서는 에러 여부 옵션 설정이 가능. (ONLY_FULL_GROUP_BY) -> MySQL의 디폴트 SQL mode 중 하나인 ONLY_FULL_GROUP_BY: GROUP BY란? -> ONLY_FULL_GROUP_BY: GROUP BY 기준 컬럼 혹은 기준 컬럼에 종속되지 않은 컬럼이 SELECT, HAVING, OREDER BY절에서 사용되면 질의 실행을 거부한다. -> 표준SQL에서는 에러이다. - 윈도우 함수(중요!)..

Chapter 06 DML : 내장 함수와 갱신문

1. 단일행 내장함수(Single-Row Built-In Functions) 1-1. SQL 내장 함수 - 단일행 내장 함수(SINGLE-ROW BUILT-IN FUNCTIONS): 함수의 입력이 단일 행 -> 각 행에 대해 개별적으로 적용, 단 하나의 결과를 리턴 (SELECT, ORDER BY, WHERE절에 사용) -> 함수의 인자(argument)로 컬럼명, 표현식, 상수가 가능 -> 함수의 인자로 함수를 사용하는 함수의 중첩(nesting)이 가능하다. Ex) 문자형 - ASCII(char), CHAR(integer): 아스키 코드 값, 아스키 문자를 리턴 - INSTR(str, substr): str에서 첫번째 나타나는 substr의 시작위치를 리턴 - SUBSTR(str, position[,..

[2주차] 강의노트 DDL & DML

2022-03-05 프로그래머스 2주차 강의 0. 지난 과제 리뷰 - 표준 SQL 기능은 여러 프로그램에서 사용할 수 있다. - 내가 쓰는 기능이 표준인지 파악한다. - 고정길이 문자열(항상 n개 문자를 저장) / 가변길이 문자열의 차이() -> CHAR(n): 최대 255문자 / VARCHAR(n): 최대 65,535문자 -> 고정길이는 데이터를 읽어내는 게 빠르다. 단점: 디스크의 낭비? -> 가변길이는 디스크의 낭비가 적다. 단점: - NOT NULL -> 컬럼제약방식이 가장 적합 -> 그 외 -> ???방식 - Constraint는 수정이 안 된다. - 컬럼별칭은 표준 SQL에서는 '출력 용도'로만 사용한다.(SELECT, ORDER BY 절에 사용가능) -> MySQL에서는 GROUP BY절에서..