코딩기록 저장소 🐕/데이터베이스 13

데이터베이스) index란? 예제

DB 쿼리 속도를 높이는데 너무나도 중요한 것이 바로 index입니다. 1. INDEX 란? 데이터베이스에서 인덱스(INDEX)는 쓰기 속도가 느리고 저장 공간이 늘어나는 대신 검색 작업의 속도를 향상시키는 데이터 구조입니다. 인덱스의 가장 큰 특징은 데이터들이 정렬이 되어있다는 점입니다 . 이 특징으로 인해 인덱스를 사용하면 DBMS(데이터베이스 관리 시스템)가 조건 검색을 할 때, 테이블에서 특정 데이터 행을 매우 빠르게 찾고 검색할 수 있습니다. 인덱스를 사용하는 이유 (장점) 인덱스의 가장 큰 특징은 데이터들이 정렬이 되어있다는 점입니다. 이 특징으로 인해 조건 검색이라는 영역에서 굉장한 장점이 됩니다. 아래 세 가지 이유 모두 데이터들이 정렬되었다는 장점을 관통하는 내용들입니다. WHERE 절 ..

SQL질의어⭐

SQL(Str uctured Query Language) 데이터베이스에서 데이터를 관리하고 조작하기 위한 표준화된 언어입니다. SQL을 사용하여 데이터베이스에서 정보를 검색, 삽입, 갱신, 삭제하는 등 다양한 작업을 수행할 수 있습니다. SQL 질의어는 이러한 작업을 수행하기 위한 명령어나 문장을 의미합니다. ✔️데이터 정의 언어 DDL (Data Define Language) 데이터베이스의 데이터를 정의하는 언어로, DB관리자가 주로 사용한다. 스키마, 도메인, 테이블, 뷰, 인덱스 등을 정의하거나 변경, 삭제하는 기능을 가지고 있다. CREATE 데이터베이스, 테이블, 뷰 등을 생성할 때 사용합니다. DROP 데이터베이스, 테이블, 뷰 등을 삭제할 때 사용합니다. ALTER 데이터베이스 객체(테이블,..

{ PL/SQL }

사실 아직 이해가 안된 PL/SQL입니다. 기초데이터 준비 HR 계정의 EMPLOYEES 테이블을 GD 계정으로 복사해서 사용 DROP TABLE EMPLOYEES; CREATE TABLE EMPLOYEES AS ( SELECT * FROM HR.EMPLOYEES ); -- 기본키/외래키 제약 조건은 복사가 되지 않는다. ALTER TABLE EMPLOYEES ADD CONSTRAINT PK_EMP PRIMARY KEY(EMPLOYEE_ID); • PL/SQL 1. 오라클 문법이다. 2. 프로그래밍이 가능한 SQL문 작성 방법이다. 3. 프로시저, 사용자 함수, 등의 기반이 되는 언어이다. 4. 항상 블록을 잡고 실행한다. 5. 형식 [DECLARE 변수 선언] BEGIN 실행문 END; • 변수 선언하..

{집합, 인덱스, 뷰,...}

신나는 주말을 지나 월요일이 왔습니다. 오늘은 집합의 대해서 배워봤습니다. • 집합 1. 2개 이상의 테이블을 한 번에 조회하는 방식 중 하나이다. 2. 모든 SELECT 절의 칼럼 순서와 타입이 일치해야 한다. 3. 종류 1) UNION : 합집합, 중복 값은 한 번만 조회 2) UNION ALL : 합집합, 중복 값도 그대로 조회 3) INTERSECT : 교집합, 중복 값은 한 번만 조회 4) MINUS : 차집합, 첫번째 SELECT 결과에서 두 번째 SELECT 결과를 뺀다. 4. 형식 SELECT 칼럼1, 칼럼2, ... FROM 테이블1 집합연산자 SELECT 칼럼1, 칼럼2, ... FROM 테이블2 [ORDER BY 정렬] ▶ 합집합 SELECT 1, 2 FROM DUAL UNION SE..

{서브쿼리 WITH 콩}

역대급 졸린 오늘입니다. 외우자 싸우자 나가자 이기자 • 서브쿼리 (SUB QUERY) 1. 메인 쿼리에 포함되는 하위쿼리를 서브쿼리라고 한다. 2. 서브 쿼리를 먼저 실행해서 그 결과를 메인쿼리에 전달한다. 3. 종류 1) SELECT 절 : 스칼라 서브쿼리 2) FROM 절 : 인라인 뷰( INLINE VIEW) 3) WHERE 절 : 단일 행 서브쿼리 (결과가 1개) 다중 행 서브쿼리 (결과가 N개) • 단일 행 서브쿼리 (SINGLE ROW SUB QUERY) 1. 결과가 1행이다. (1개이다.) 2. 단일 행 서브쿼리인 경우 1) WHERE 절에서 사용한 칼럼이 PK 또는 UNIQUE (중복이없는 칼럼 동등 비교 했을때) 칼럼인 경우 2) 통계 함수를 사용한 경우 3. 단일 행 서브쿼리 연산자 ..

{DQL마무리, 조인}

오늘은 힘들지만 조금씩 신나는 목요일입니다. SELECT 구문에서 마지막으로 오늘 GROUP BY, HAVING절을 배우는 시간입니다. • 기본 구문 SELECT 칼럼1, 칼럼2, ... FROM 테이블_이름 [WHERE 조회_조건] [GROUP BY 그룹_칼럼 [HAVING 그룹_조건] [ORDER BY 정렬_칼럼] • GROUP BY 절 ① 같은 값을 가진 데이터들을 하나의 그룹으로 묶어서 처리한다. ② 통계를 내는 목적으로 사용한다. (합계, 평균, 최댓값, 최솟값, 갯수 등) ③ SELECT 절에서 조회하려는 칼럼은 "반드시" GROUP BY 절에 명시되어 있어야 한다. 가지고있는 값이 같으면 모인다!! (통계함수랑 같이씁니다.) 모아서 계산을 해봤더니 이렇더라~ (sum, avg, max, mi..

7{ 날 힘들게 하는 함수 }

머리 터져터져 데이였습니다만.. • 함수 정리 절대값 ABS 제곱근(루트) SQRT 부호 판별 SIGN 제곱 POWER 나머지 MOD 정수로 올림 CEIL 정수로 내림 FLOOR 원하는 자릿수로 반올림 ROUND 원하는 자릿수로 절사 TRUNC ex) 1. 절대값 → ABS SELECT ABS(-5) -- -5의 절대값 5 FROM DUAL; 2. 제곱근(루트) → SQRT SELECT SQRT(25) --루트 FROM DUAL; 3. 부호 판별 → SIGN SELECT SIGN(5) --양수는 1 , SIGN(-5) --음수는 -1 , SIGN(0) --0은 0 FROM DUAL; 4. 제곱 → POWER SELECT POWER(2, 10) --2의 10제곱 1024 FROM DRAL; 5. 나머지 →..

{ DML, DQL }

오늘은 어제 마무리하지 못했던 DML을 마무리 정리하겠습니다. UPDATE : 데이터, 행 수정 작성법 → UPDATE 테이블명 SET 업데이트할 내용, 업데이트할 내용 WHERE 조건식 (어떤것들을 업데이트할것인가?) ex) 부서번호가 2인 부서의 근무하는 모든 사원들의 연봉을 500000 증가시켜보자 UPDATE EMPLOYEE_T SET SALARY = SALARY + 500000 --SET절의 등호는 대입연산자(=) WHERE DEPART = 2; --WHERE절의 등호는 동등비교연산자 DELETE : 데이터, 행 삭제 작성법 → DELETE FROM 데이블명 WHERE 조건식 ex) 지역이 '인천'인 부서를 삭제하시오. DELETE FROM DEPARTMENT_TT WHERE LOCATION =..

{ DDL, DML }

데이터베이스에서는 모든 작업을 SQL문을 이용합니다. SQL문은 다루는 객체나 용도에 따라서 그룹핑 하여 나눌 수 있습니다. 종류는 DDL, DML, DCL • DDL( Data Dfinition Language ) → 데이터베이스를 정의하는 언어를 말하며 데이터를 생성하거나 수정, 삭제 등 데이터의 전체 골격을 결정하는 역할의 언어를 말합니다. 데이터베이스 객체를 다루는 언어 트랜잭션 대상이 아니다.(작업을 취소할 수 없다.) CREATE 데이터베이스 객체 생성 ALTER 데이터베이스 객체 수정 DROP 데이터베이스 객체 삭제 TRUNCATE 데이터베이스 객체 데이터 및 저장 공간 삭제 실행 후에는 작업을 취소할 수 없습니다. 테이블 수정하기(잘사용하지않음) 1. 칼럼 추가 : ALTER TABLE 테..