관리구문DML (Data Manipulation Language)데이터의 삽입(INSERT), 수정(UPDATE), 삭제(DELETE), 병합(MERGE).저장(commit) 혹은 취소(rollback) 반드시 필요.INSERT테이블에 행을 삽입할 때 사용.한 번에 한 행만 입력 가능.(SQL Server - 여러 행 동시 삽입 가능)하나의 컬럼에는 한 값만 삽입 가능.컬럼 별 데이터타입과 사이즈에 맞게 삽입.INTO 절에 컬럼명을 명시하여 일부 컬럼만 입력 가능. 작성하지 않은 컬럼은 NULL이 입력된다. (NOT NULL 컬럼의 경우 오류 발생.)전체 컬럼에 대한 데이터 입력 시 테이블명 뒤의 컬럼명 생략 가능.UPDATE데이터 수정할 때 사용. 컬럼 단위 수행. 다중 컬럼 수정 가능.DELETE데이..
SQL 활용WINDOW FUNCTION서로 다른 행의 비교나 연산을 위해 만든 함수. GROUP BY를 쓰지 않고 그룹 연산 가능. LAG, LEAD, SUM, AVG, MIN, MAX, COUNT, RANK 등. 문법더보기SELECT 윈도우함수([대상]) OVER([PARTITION BY 컬럼][ORDER BY 컬럼 ASC/DESC][ROWS/RANGE BETWEEN A AND B])PARTITION BY, ORDER BY, ROWS 등... 절 전달 순서가 중요! (ORDER BY를 PARTITION BY 전에 사용 불가.)그룹 함수의 형태SUM, COUNT, AVG, MIN, MAX 등. OVER 절을 사용하여 윈도우 함수로 사용 가능. 반드시 연산할 대상을 그룹함수의 입력값으로 전달.SUM OVE..
SQL 활용서브쿼리하나의 SQL문 안에 포함되어 있는 또 다른 SQL문을 말한다. 반드시 괄호로 묶어야 한다. ex. SELECT 안에 SELECT문, INSERT, UPDATE, DELETE 안의 SELECT문.서브쿼리 사용 가능한 곳SELECT 절FROM 절WHERE 절HAVING 절ORDER BY 절기타 DML(INSERT, DELETE, UPDATE) 절GROUP BY 절 사용 불가!서브쿼리 종류동작하는 방식에 따라UN-CORRELATED(비연관) 서브쿼리: 서브쿼리가 메인쿼리 컬럼을 가지고 있지 않은 형태의 서브쿼리. 메인쿼리에 서브쿼리가 실행된 결과 값을 제공하기 위한 목적으로 사용.CORRELATED(연관) 서브쿼리: 서브쿼리가 메인쿼리 컬럼을 가지고 있는 형태의 서브쿼리. 일반적으로 메인쿼..
SQL 기본데이터베이스(Database)와 DBMS(Database Management System)데이터베이스 : 데이터의 집합. 꼭 형식을 갖추지 않아도 엑셀 파일을 모아 둔다면 그것 또한 데이터베이스.DBMS : 데이터를 효과적으로 관리하기 위한 시스템. 개인이 파일을 여러 개 묶어서 폴더에 보관하면 데이터를 찾고 관리하는데 많은 비용이 발생. 이를 보다 시스템 적으로 작동하게 만든 시스템을 DBMS라고 한다. (Oracle, MySQL 등)관계형 데이터베이스 구성 요소계정 : 데이터의 접근 제한을 위한 여러 업무/시스템별 계정이 존재한다.테이블 : DBMS의 DB 안에서 데이터가 저장되는 형식.스키마 : 테이블이 어떠한 구성으로 되어있는지, 어떠한 정보를 가지고 있는지에 대한 기본적인 구조를 정의..
데이터 모델과 SQL정규화모델링 시 최대한 중복 데이터를 허용하지 않아야 저장공간의 효율적 사용과 업무 프로세스의 성능을 기대할 수 있다. 이러한 중복 데이터를 허용하지 않는 방식으로 테이블을 설계하는 방식을 정규화라고 한다. 정규화(DB Normalization)의 개념하나의 엔터티에 많은 속성을 넣게 되면, 해당 엔터티를 조회할 때마다 많은 양의 데이터가 조회될 것이므로 최소한의 데이터만을 하나의 엔터티에 넣는 식으로 데이터를 분해하는 과정을 정규화라고 한다. 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 과정. 데이터의 중복을 제거하고 데이터 모델의 독립성을 확보한다. 데이터 이상현상을 줄이기 위한 데이터 베이스 설계 기법. 엔터티를 상세화하는 과정으로 논리 데이터 모델링 ..
SQLD 기본 및 활용SQL 기본데이터베이스(DataBase, DB): 데이터를 일정한 형태로 저장해 놓은 것. ex. 엑셀도 하나의 데이터베이스데이터베이스관리시스템(DataBaseManagementSystem, DBMS): 기존 데이터베이스 기능에 추가로 데이터 손상을 방지 및 복구(백업), 인증된 사용자만 접근 등 추가 기능을 지원하는 관리 시스템관계형 DBMS (Relational DBMS, RDBMS): 테이블로 데이터를 관리하고 테이블 간 관계를 이용해 데이터를 정의하는 방식으로 대부분의 기업이 사용하며 지금 공부하는 Oracle도 RDBMS 중 하나.테이블(Table): RDBMS에서 실제 데이터가 저장되고 조회되는 2차원 배열 형태의 저장소 공간. 엔터티, 속성, 인스턴스가 각각 DB가 이해..