DataBase 9

[DDL] CREATE (TABLE/CTAS/VIEW)

0. DDL이란?Data Definition Language 의 약자로, 데이터 정의어이다.DDL 문에는 CREATE, ALTER, DROP, RENAME, TRUNCATE, COMMENT 가 있다. DDL문을 사용하여 데이터베이스 오브젝트를 생성, 변경, 삭제한다.(* 데이터베이스 오브젝트에는 대표적으로 테이블, 인덱스, 뷰, 시퀀스 등이 있다.)  1. CREATE TABLE테이블을 생성한다. 이때, 테이블 이름을 정한다.컬럼 이름 및 데이터 타입도 정해야한다.TABLESPACE 지정하며, 지정하지 않는 경우 해당 유저에 대한 DEFAULT SPACE 에 저장한다.테이블을 생성하기 전에, 현재 접속 유저에게 테이블을 생성 할 수 있는 권한이 있는지 확인해야 한다.CREATE TABLE 시스템 권한 테..

DataBase/Oracle 2024.11.14

[Admin] Database startup (nomount/mount/open)

startup Oracle Database 시작한다. 내부적으로 nomount → mount → open 단계 순으로 진행된다. 1. 명령어startup 명령어만 실행하면 [open] 단계까지 [read write]가 기본값으로 설정되어 시작한다.startup [open] [read write]------------------------------------------SQL> startupORACLE instance started.Total System Global Area 711430144 bytesFixed Size 1367004 bytesVariable Size 469763108 bytesDatabase Buffers 234881..

DataBase/Oracle 2024.11.10

[Admin] User 관리하기 - 생성/수정/삭제

1. 권한 유저 관리에 대해 알아보기 전에 권한에 대해서 정리를 하고 넘어가보자. 권한이란 특정한 SQL문을 수행할 수 있는 권리이다.예를 들어, 사용자에 따라서 SELECT만 가능하고, UPDATE, DELETE 등을 사용하지 못하도록 하는 것이다.이렇게 권한을 제어한 이유는 데이터베이스의 보안 목적이 가장 크다. 권한에는 시스템 권한과 객체 권한이 있다.시스템 권한데이터베이스에 영향을 줄 수 있는 권한객체 권한객체(테이블, 프로시저 등)를 사용할 수 있는 권한 데이터 베이스에 영향을 준다는 것은 변화가 생긴다는 것을 의미한다.예를 들어, 해당 유저에 대해서 세션을 접속하거나, 어떠한 테이블이든 볼 수 있는 권한을 줄 수 있다. 객체는 테이블, 프로시저, 시퀀스 등이 있으며, 이 객체들을 사용할 수 있..

DataBase/Oracle 2024.09.03

[함수] NULL 함수 - NVL, NVL2, COALESCE, NULLIF

테이블 속에 저장된 데이터 중에 종종 NULL인 경우가 있다.이러한 경우에는 다양한 함수를 통해서 NULL을 대신하여 대체값을 출력되도록 하거나 그대로 두기도 한다. 오늘은 NULL을 처리하기 위해 사용되는 다양한 함수에 대해서 알아보자.    1. NVLnvl(컬럼, 실제값), nvl(인수, 인수)null 값을 실제값으로 리턴하는 함수이다.nvl 함수 사용 시에는 두 인수의 타입이 일치해야 한다. 즉, 해당 컬럼이 int 데이터 타입이면 null에 대한 대체값으로도 int 값이이어야 한다는 의미이다. SELECT employee_id , salary , commission_pct , ((salary * 12) + (salary * 12 * commission_pct)) AS anual_..

DataBase/Oracle 2024.06.14

[Procecure] 저장 프로시저 개발 시 유용한 설정

저장 프로시저를 개발 할 때 사용하면 도움이 되는 설정들이 있다.도움이 되는 설정들의 종류와 각각의 의미이다. SET ANSI_NULLS ONNULL 값에 대한 비교 처리를 표준에 따를 것인지 구분(IS NULL이 표준)SET QUOTED_IDENTIFIER ON따옴표 처리를 표준에 따를 것인지 여부(작은 따옴표가 표준)SET NOCOUNT ON쿼리문 또는 프로시저의 영향을 받은 행 수를 나타내는 메시지가 결과 집합의 일부로 반환되지 않도록 하는 것SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED트랜잭션 격리 수준(Commit 되지 않은 데이터도 읽기 가능)UNIQUEIDENTIFIERGUID(Globally Unique Identifier) 역할을 하는 16바이트 ..

DataBase/SQL Server 2024.06.03

[SQL] 데이터 타입 변환 함수 - to_date(), to_char(), to_number()

SQL문을 사용시 데이터가 저장된 타입에 따라서 컬럼들을 WHERE, GROUP BY에 사용하기 위해 형변환 함수를 사용해야 할 때가 종종 있다. 오늘은 형변환시 자주 사용하는 함수들에 대해서 정리해보겠다. to_date() 문자를 날짜형(date)으로 변환하는 함수이다. to_date(문자(날짜),'날짜모델요소') SELECT to_date('20231012','yyyymmdd') FROM dual; SELECT to_date('2023-10-12 13:45:30','yyyy-mm-dd hh24:mi:ss') FROM dual; SELECT * FROM hr.employees -- 연도 4자리 / 월 / 일 -- 날짜는 꼭 to_date () 형변환 함수 사용 하도록 ★★ WHERE hire_date ..

DataBase/Oracle 2024.04.15

[Arch] 초기화 파라미터 종류와 인스턴스와 세션 레벨에서 변경

초기화 파라미터 종류 파라미터 설정값에 변경된 사항이 인스턴스 레벨에서 반영되는 방법에 따라 나눌 수 있다. 1. Static Parameter 초기 파라미터 파일에서만 변경할 수 있다. instance 를 재시작해야 변경한 설정값이 적용된다. 수정 레벨: 세션 레벨 (ALTER SESSION SET), 인스턴스 레벨(ALTER SYSTEM SET) SELECT * FROM v$parameter WHERE issys_modifiable = 'FALSE'; 2. Dynamic Parameter 데이터베이스 온라인 상태인 동안 변경 가능 수정 레벨: 세션 레벨 (ALTER SESSION SET), 인스턴스 레벨(ALTER SYSTEM SET) 세션 기간 또는 scope 설정에 따른 기간 동안 유효할 수 있도..

DataBase/Oracle 2024.02.28

[Arch] 서버 파라미터 파일(초기 파라미터 파일) - Spfile, Pfile

서버 파라미터 파일이란? 초기 파라미터 파일(Initialization Parameter File)이라고도 불리며 '초기화 파라미터'라 불리는 설정값을 저장한다. Oracle에 관한 특성을 결정하는 파라미터를 저장하여 중요한 역할을 맡고있다. 인스턴스가 기동할 때 읽혀지는 파일이다. 해당 파일이 존재하지 않거나, 읽는 과정에서 문제가 생기면 인스턴스 기동단계에서 실패한다. 서버 파라미터 파일 종류 1. Spfile - 서버 파라미터 파일 - 일반적으로 사용되는 초기 파리미터 파일 유형이다. - 오라클 서버가 읽고 쓸 수 있는 이진 파일(binary file) 형식이며, 편집기(vi)로는 수동으로 수정해서는 안된다. - Spfile은 오라클이 실행되는 서버에 있으며 종료 및 시작과 관계 없이 계속 유지된다..

DataBase/Oracle 2024.02.28

[함수] 사용자 정의 함수 - 스칼라 함수/인라인 테이블 값 함수/다중문 테이블 값 함수

1. 사용자 정의 함수란? 매개 변수를 받아 복잡한 계산이나 쿼리문을 수행하여 결과를 반환 2. 장점 1. 모듈식 프로그래밍 함수를 한 번 만들어 저장한 후에는 여러 번 호출 할 수 있다. 데이터 베이스 안에 함수의 형태로 로직이 존재하게 되므로, 함수의 로직만 수정하면 모든 응용프로그램에 수정 없이 영향을 받을 수 있다. 2. 성능 향상 실행 계획을 프로시저 캐시에 저장 반복 실행 시에는 캐시를 다시 사용함으로써 쿼리문에 대한 컴파일 비용 절감 3. 네트워크 트래픽 감소 복잡한 쿼리문을 네트워크를 통해 전송할 필요 없이 함수만 호출하면 된다. 3. 사용자 정의 함수의 종류 스칼라 함수(Scalar Functions) 인라인 테이블 값 함수(Inline Table-valued Functions) 다중문 ..

DataBase/SQL Server 2024.02.15