DataBase/Oracle
-
SQL 사용자,권한,롤 관리DataBase/Oracle 2023. 9. 5. 12:08
1. 사용자 관리 1.1 사용자란? - 오라클 DB로 새로운 서비스를 구축한다면, 테이블을 비롯한 여러 객체가 필요할 것이다. - 오라클 데이터 베이스에서는 데이터 베이스에 접속하여 데이터를 관리하는 계정을 사용자로 표현한다. - 사용자 관리가 필요한 이유는 여러 종류의 서비스를 한 사용자가 관리하기에는 너무 방대하다. 따라서 업무 분할 효율 보안 등등을 고려하여 업무에 따라 여러 사용다를 나눈다. - 오라클에서는 테이블,인덱스,뷰 등 여러 객체가 사용자 별로 생성되므로, 업무별 사용자를 생성한 후 각 사용자 업무에 맞는 데이터 구조를 만들어서 사용할 수 있다. 1.2 데이터베이스 스키마란? - 데이터베이스에서 데이터 간 관계, 데이터 구조, 제약 조건 등 데이터를 저장 및 관리하기 위해 정의한 데이터베..
-
SQL - 제약 조건DataBase/Oracle 2023. 9. 5. 11:34
1. 제약조건의 종류 1.1 제약조건이란? - 오라클에서 제약 조건은 테이블의 특정 열에 지정 - 제약 조건을 지정한 열에 제약 조건에 부합하지 않는 데이터를 저장할 수 없다. - 제약 조건 지정 방식에 따라 기존 데이터의 수정 혹은 삭제 가능 여부도 영향을 받는다. NOT NULL 지정한 열에 NULL 허용 X (데이터 중복 허용) UNIQUE 지정한 열이 유일한 값을 가져야 합니다. (중복될 수 없다) NULL 가능 PRIMARY KEY 지정한 열이 유일한 값, NULL x, 테이블에 하나만 지정 FOREIGN KEY 다른 테이블의 열을 참조하여 존재하는 값만 입력할 수 있다. CHECK 설정한 조건식을 만족하는 데이터만 입력 가능 * 데이터 무결성이란? 데이터베이스에 저장되는 데이터의 정확성과 일관..
-
SQL - 데이터 정의어 (DDL)DataBase/Oracle 2023. 9. 4. 15:22
1. 객체를 생성, 변경, 삭제하는 데이터 정의어 - 데이터 정의어는 데이터 베이스 데이터를 보관하고 관리하기 위해 제공되는 여러 객체의 생성 변경 삭제와 관련 기능 수행 1.1 데이터 정의 사용시 유의점 - 데이터 정의어 실행시 자동으로 COMMIT되기 때문에 이전에 사용한 조작어가 영구 반영된다. - 따라서 사용시 주의를 기울여야 한다. CREATE: 객체 생성 ALTER : 객체 변경 DROP : 객체 삭제 2. 테이블을 생성하는 CREATE - CREATE는 테이블 뿐 아니라 여러 객체를 생성할 수 있다. CREATE TABLE 소유계정.테이블이름( 열이름 열자료형, 열이름 열자료형, 열이름 열자료형 ) - 소유계정을 생략하고 테이블을 생성하면, 현재 접속한 계정 소유의 테이블이 만들어진다. * ..
-
SQL - 트랜잭션 제어와 세션DataBase/Oracle 2023. 9. 4. 12:51
1. 하나의 단위로 데이터를 처리하는 트랜잭션 1.1 트랜잭션이란? - 더 이상 분할할 수 없는 최소 수행 단위를 뜻한다. - 하나의 작업 또는 밀접하게 연관된 작업을 수행하기 위해 한 개 이상의 데이터 조작어로 이루어진다. - 트랜잭션은 하나의 트랜잭션 내에 있는 여러 명령어를 한 번에 수행하여 작업 완료 or 모든 작업 취소한다. (이를 트랜잭션의 ALL OR NOTHING 원자성이라고도함) - 이러한 트랜잭션을 제어하는 명령어를 TCL이라고 한다. - 트랜잭션은 SCOTT같은 데이터베이스 계정을 통해 접속하는 동시에 실행된다. - 트랜잭션이 종료되기 전까지 여러 SQL문을 실행하고 트랜잭션 제어하는 TCL을 실행할 때 기존 트랜잭션이 끝난다. 2. 트랜잭션을 제어하는 명령어 - 하나의 트랜잭션에 묶..
-
SQL - DMLDataBase/Oracle 2023. 9. 1. 16:47
- INSERT,UPDATE,DELETE 1. 테이블 데이터 추가 1.1 테이블 생성 CREATE TABLE DEPT_TEMP AS SELECT * FROM DEPT; DROP TABLE 테이블명; CREATE TABLE EMP_TEMP AS SELECT * FROM EMP WHERE 11; -- 급하게 테이블 떠야할때 (데이터 뺴고 틀만) - > 테이블 복사 및 삭제 1.2 INSERT INSERT INTO 테이블명 [(열,열,열)] VALUES (데이터,데이터,데이터) - 지정한 열 개수와 데이터 개수가 일치 x , 자료형 일치x, 열길이 초과시 입력 x - 열지정을 생략하면, 모든 열에 데이터를 입력해줘야함 - 열을 지정하면 , 열에 맞는 데이터 넣으면됨 - null입력은 명시적으로 null을 입력..
-
오라클 sql - 인라인 뷰를 사용한 TOP-N SQLDataBase/Oracle 2023. 9. 1. 09:08
- CREATE문 외에 SQL문을 사용하여 일회성으로 만드는 뷰를 인라인 뷰라고 함 (서브쿼리) - WITH절에 미리 이름을 정의해두고 사용하는 SELECT문이 이에 해당함 - 인라인 뷰와 ROWNUM을 사용하면 ORDER BY절을 사용해 최상위 데이터 몇개만 추출 가능 SELECT ROWNUM, E.* FROM EMP E; -> ROWNUM이란 의사열이라는 특수열이다. 실제 테이블에 존재하지 않지만, 특정 목적을 위해 사용되는 열 -> ROWNUM은 테이블에 저장된 행이 조회된 순서대로 매겨지는 일련번호이다. SELECT ROUWNUM,E.* FROM EMP E ORDER BY SAL DESC; -> SAL을 기준으로 ORDER BY 해도 그냥 SELECT문의 행 번호와 같은 번호로 매겨짐 -> ROW..
-
SQL 레벨업 (1) DBMS 아키텍처DataBase/Oracle 2023. 8. 31. 22:55
학습목표: RDB 내부적인 동작 모델 이해 (데이터 캐시, 워킹 메모리,저장소 구조 등) 실행 계획과 옵티마이저 알아보기 1.DBMS 아키텍처 개요 - RDB별 아키텍처는 조금씩 다르긴하지만, 기본 구조는 모두 동일하다. - 이러한 공통구조를 이해한다면, DBMS가 가지는 특징도 쉽게 이해할 수 있을 것 - 사용자로부터 전달된 SQL은 DBMS에서 다양한 처리를 거치고, 저장 장치(SSD,HDD)에 있는 데이터에 접근해서 데이터를 읽고 쓴다. > 쿼리 평가 엔진: 계획을 세우고 실행하는 DBMS 핵심 기능 담당 모듈 SQL 분석, 실행계획 수립 * 실행계획을 기반으로 데이터에 접근하는 방법을 접근 메서드라고 부른다. * 성능 향상 관점에서 매우 중요하다. > 버퍼매니저 : DBMS는 버퍼라는 특별한 용도..
-
오라클 - 객체 종류DataBase/Oracle 2023. 8. 31. 16:57
- 오라클 데이터 베이스는 데이터 보관 및 관리를 위한 여러 기능 과 저장 공간을 객체를 통해 제공함 - 테이블은 SQL문과 더불어 오라클에서 가장 많이 사용하는 객체 중 하나 - 테이블 외 데이터 사전, 인덱스, 뷰, 시퀀스, 동의어 등 사용빈도가 높은 객체를 살펴보자 1. 데이터 사전 (테이블 객체) - 오라클에서 테이블은 사용자 테이블과 데이터 사전으로 나뉜다. - 데이터 사전은 데이터베이스를 구성하고 운영하는 데 필요한 모든 정보를 저장하는 특수 테이블 데이터베이스가 생성되는 시점에 자동으로 만들어 진다. - 데이터 사전에는 메모리,성능,사용자,권한,객체 등 운영에 중요한 데이터가 보관되어 있다. - 데이터 사전 뷰를 통해 정보를 열람해 보자 * 열람할 수 있는 데이터 사전 보기 SELECT * ..