주니어 기초 코딩공부/Database 기초 37

GROUP FUNCTION 의 3가지 ROLLUP, CUBE, GROUPING SETS

GROUP FUNCTION 의 3가지 ROLLUP, CUBE, GROUPING SETS 1. 소그룹 간의 소계를 계산하는 ROLLUP, 2. 다차원적인 소계를 계산하는 CUBE, 3. 특정항목에 대한 소계를 계산하는 GROUPING SETS 함수 총 3가지가 있습니다. ROLLUP과 GROUPING SETS의 차이점? 오라클에서 소계, 합계, 총계의 쿼리(SQL)를 작성할 때는 ROLLUP을 많이 사용한다. ROLLUP의 경우 나열된 컬럼의 단계별로 소계, 합계를 자동으로 집계를 한다. 그에 반해 GROUPING SETS는 여러 그룹핑 쿼리를 UNION ALL 한 것과 같은 결과를 만들 수 있어 조금 더 유연하게 소계, 합계를 집계할 수 있다. SELECT job , deptno , COUNT(*) cn..

오라클 맥북 프로 m2 scott 계정 생성하기

sqlplus 접속하기 먼저 sqlplus에 관리자 권한으로 접속하기 위해 다음 명령어를 입력합니다. docker exec -it oracle11g bin/bash docker exec -it oracle11g bin/bash root@6251d1456415:/# sqlplus /nolog SQL> conn sys/oracle as sysdba Connected. 저는 이부분을 그냥 오라클에서 하였습니다. 그냥 도커로 안하고 시스템 계정에 접속해서 CREATE USER scott IDENTIFIED BY tiger DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp; GRANT CONNECT, RESOURCE, DBA TO scott; 이렇게 하고 스콧으로 접속하였..

[데이터베이스] 커넥션 풀 Connection Pool (feat. mySQL)

보통 데이터베이스와 연결된 커넥션을 미리 만들어서 풀(pool) 속에 저장해 두고 있다가 필요할 때에 커넥션을 풀에서 가져다 쓰고 다시 풀에 반환하는 기법  특징 • 커넥션을 생성하는 데 드는 연결 시간이 소비되지 않는다. • 커넥션을 재사용하기 때문에 생성되는 커넥션 수가 많지 않다. 메모리를 많은 쓰면 안되기 때문에 데이터 베이스에 연결되는 클라이언트에 대한 커넥션을 제한을 걸어둡니다. 데이터베이스의 서버의 용량에 따라서 제한을 둡니다. 생각보다 커넥션의 메모리의 양이 적습니다. 안 그러면 무한적 허용하게 되면 서버가 죽기 때문에 이렇게 적은 메모리를 할당하는 것입니다. DBCP를 이용해서 커넥션 풀 사용하기 아파치에서 제공하는 커넥션 풀 관련 클래스입니다. (1) 필요한 jar 파일 복사하기  ..

맥북 오라클 설치 방법 SQLDeveloper & DOCKER & Colima

안녕하세요 jju_developer입니다~ 오늘은 맥북에 오라클을 설치하는 방법을 공유드리겠습니다~ 그 전에 저의 뉴 맥북을 소개해드리겠습니당 💕 m2 맥북 프로 2022년형입니다~ m1은 오라클 설치 방법이 있어도 m2는 없어서 여기저기 많이 찾아보고 다운로드 하였습니다. 이 글이 꼭 도움이 되셨으면 좋겠습니다~! 1. SQLDeveloper 설치파일 다운로드 및 설치 https://www.oracle.com/tools/downloads/sqldev-downloads.html 여기서 Mac OSX with JDK 11 included를 다운 받아줍니다. 오라클 라이센스 동의 허용 체크 후 다운로드 버튼이 활성화되면 클릭합니다. 보통 Finder 에 sqldeveloper-~-macosx.app.zip ..

21장 커서(CORSOR)_처리 결과가 여러 개의 행으로 구해지는 SELECT문 설명 및 예제(SQL 오라클)

안녕하세요 JJU_DEVELOPER입니다. 이번 시간에는 21강 이어서 COURSOR에 대해 설명드리겠습니다. ✔ 처리 결과가 여러 개의 행으로 구해지는 SELECT 문 대부분의 SELECT문은 수행 후 반환되는 행의 개수가 한 개 이상입니다. 처리 결과가 여러 행으로 구하려면 SELECT문을 처리하면서 커서를 이용해야 합니다. 커서는 실행 결과 테이블을 한 번에 한 행씩 처리하기 위해서 테이블의 행을 순서대로 가리키는 데 사용합니다. ✔ 커서와 관련된 키워드 키워드 역할 CURSOR IS 커서를 생성 -- 형식 CURSOR cursor_name IS select_statement; -- 예 CURSOR C1 IS SELECT * FROM DEPT; OPEN 커서의 사용을 시작 -- 형식 OPEN cur..

21장 저장 함수 사용하기 (SQL 오라클)

✔ 목차 저장함수 사용하기 [실습] 저장함수 작성하기 1 [실습] 저장함수 작성하기 2 지난 시간 저장프로시저 확인하기 ==> https://jju240.tistory.com/103 21장 저장 프로시저, 저장 함수, 커서, 트리거 개념 및 예제 (SQL 오라클) ✔ 저장 프로시저 (STORED PROCEDURE)? 오라클은 사용자가 만든 PL/SQL 문을 데이터베이스에 저장할 수 있도록 저장 프로시저(stored procedure)라는 것을 제공합니다. 이렇게 저장 프로시저를 사용하면 복 jju240.tistory.com ✔ SQL 저장함수 사용하기 저장함수는 저장 프로시저와 거의 유사한 용도로 사용합니다. 저장 프로시저의 내용은 위 링크에서 확인해주세요~! 저장함수 (Stored function)는 ..

21장 저장 프로시저, 저장 함수, 커서, 트리거 개념 및 예제 (SQL 오라클)

✔ 저장 프로시저 (STORED PROCEDURE)? 오라클은 사용자가 만든 PL/SQL 문을 데이터베이스에 저장할 수 있도록 저장 프로시저(stored procedure)라는 것을 제공합니다. 이렇게 저장 프로시저를 사용하면 복잡한 DML 문들 필요할 때마다 다시 입력할 필요 없이 간단하게 호출만 해서 복잡한 DML 문의 실행 결과를 얻을 수 있고, 하나의 스크립트마다 해석 할 필요가 없고, 미리 구문을 저장을 했기 때문에 저장 프로시저를 사용하면 성능도 향상되고, 호환성 문제도 해결됩니다. 호환성: MySQL, Oracle...등등 신텍스가 서로 다릅니다. -- 형식 CREATE [OR REPLACE ] PROCEDURE procedure_name ( argument1 [mode] data_taye,..

20장 PL/SQL 기초 (SQL 오라클)

✔ PL/SQL? PL/SQL 은 Oracle's Procedural Language extension to SQL의 약자입니다. 즉 오라클에서 사용한느 절차적 언어를 SQL에서 사용하는 것입니다. SQL에는 없는 기능은 아래와 같습니다. • 변수 선언 • 비교 처리 • 반복 처리 이러한 SQL의 단점을 보완해줄 수 있는 것이 PL/SQL 언어입니다. no PL/SQL은 블록(BLOCK) 구조의 언어로서 크게 3 부분으로 나눌 수 있습니다. 1 선언부(DECLARE SECTION): PL/SQL에서 사용하는 모든 변수나 상수를 선언하는 부분으로서 DECLARE로 시작한다. 2 실행부(EXECUTABLE SECTION): 절차적 형식으로 SQL문을 실행할 수 있도록 절차적 언어의 요소인 제어문, 반복문, ..

19장 데이터베이스 동의어 개념 (SQL 오라클)

✔ 동의어 SYNONYM? SYNONYM 쉽게 말해서 ALIAS 같이 이름을 줄여주는 역할을 합니다. 시노님(Synonym)은 테이블의 이름을 설정해 주는 것이다. 보통 다른 유저의 객체(테이블, 뷰, 프로시저, 함수, 패키지, 시퀀스 등)를 참조할 때 많이 사용한다. 실제로 SYNONYM을 이용하는 이유는 다른 유저의 객체를 사용할 때 유저의 이름과 객체의 실제 이름을 사용하는데, 그 두 개를 감춤으로써 데이터베이스의 보안을 개선하기 위해 사용된다. CREATE [ PUBLIC ] SYNONYM [ 시노님 이름 ] FOR [ 객체 이름 ] * PUBLIC은 모든 사용자가 접근이 가능하도록 설정해주는 것입니다. * PUBLIC을 선언해주지 않으면 기본값으로 PRIVATE가 선언됩니다. 우선 예제에 앞서서..

16장 오라클 인덱스의 의미 및 총 정리 (조회 속도 비교,인덱스 정의, 사용 방법)

안녕하세요 jju_developer입니다. 오늘은 오라클의 인덱스의 의미 및 총정리 (조회 속도 비교, 인덱스 정의, 사용 방법)에 대해 소개하는 시간을 갖겠습니다. ✔ 목차 인덱스란? 인덱스 정보 조회 조회 속도 비교하기 인덱스 생성 및 제거하기 인덱스를 사용해야 하는 경우 판단하기 ✔ 인덱스의 개요? 데이터베이스를 빠르게 찾기 위한 하나의 자료구조입니다. 우리가 데이터를 찾아가는 방법 중 빠른 방법에 대한 여러 가지 알고리즘이 있습니다. 인덱스란 SQL 명령문의 처리 속도를 향상하기 위해서 칼럼에 대해서 생성하는 오라클 객체입니다. 인덱스 장점 인덱스 단점 • 검색 속도가 빨라진다. • 시스템에 부하를 줄여서 시스템의 전체 성능을 향상시킵니다. • 데이터베이스의 모든 블록을 다 읽지 않고, 목표 데이..