DB/Oracle 10

Oracle - Object

※ Object의 종류 및 기능오브젝트설 명테이블(Table)행과 열의 조합으로 이루어진 데이터 저장 단위.데이터베이스의 가장 기본적인 저장 형태.시퀀스(Sequence)자동으로 고유 번호를 생성하여, 주로 기본키 값 생성을 자동화한다.인덱스 (Index)데이터를 더 빠르게 조회할 수 있도록 돕는 자료구조.데이터베이스가 검색 속도를 높이기 위해 사용하는 일종의 색인이다.뷰 (View)여러 테이블의 데이터를 논리적으로 결합하여 제공하는 가상의 테이블이다.실제 데이터를 저장하지 않고 조회할 때 편리하게 사용한다.시노님 (Synonym)테이블이나 다른 객체에 대한 별칭을 정의하여, 접근을 단순화하거나 복잡한 이름을 숨길 수 있다.프로그램 유닛 (Program Unit)Procedure, Function, Tr..

DB/Oracle 2024.11.04

Oracle - DCL

Database Security ※ 권한과 역할1.  Privilege (권한)Privilege는 특정 SQL 명령어를 수행하거나 특정 객체에 접근 할 수 있는 허가이다.시스템 권한(System Privileges): 데이터베이스나 시스템 전체에 대한 권한이다.ex) 테이블 생성, 사용자의 역할 관리.객체 권한(Object Privileges): 특정 테이블, 뷰, 시퀀스 등 특정 객체에 대한 접근 권한이다.ex) SELECT, INSERT, DELETE 권한.2.  Role (역할)Role은 여러 권한들을 묶어서 관리하는 개념으로, 관리자가 사용자에게 여러 권한을 한번에 부여할 수 있게 한다.예를 들어, 여러 사용자가 동일한 권한을 가져야 할 경우 각자 개별적으로 권한을 주는 대신 Role로 묶어서 한..

DB/Oracle 2024.11.04

Oracle - DDL

명령어의 종류 및 설명DDL은 데이터 정의 언어로, 데이터베이스의 구조를 정의하거나 수정할 때 사용한다. ※ DDL의 주요 명령어CREATE TABLE: 새로운 테이블을 생성한다.DROP TABLE: 기존 테이블을 삭제한다. 테이블 내의 데이터와 구조가 모두 사라진다.ALTER TABLE: 기존 테이블을 수정하는 명령어이다. 컬럼 추가, 삭제, 데이터 타입 변경, 제약 조건 추가 등이 가능하다.TRUNCATE: 테이블의 구조는 남겨두고, 모든 데이터를 삭제한다.RENAME: 데이터베이스 객체(테이블 등)의 이름을 변경한다.COMMENT: 테이블이나 컬럼에 주석을 추가하여 설명을 붙인다.이 DDL 명령어들은 자동으로 COMMIT이 발생하므로, 한 번 실행하면 ROLLBACK이 불가능 1. 테이블 삭제 (D..

DB/Oracle 2024.11.04

Oracle - Dictionary

※ Dictionary란Dictionary는 데이터베이스의 모든 구조적 정보를 관리하는 데이터베이스 사전이다.Oracle 서버가 자동으로 생성하고 유지하며, 데이터베이스의 구성 요소에 대한 정보를 가지고 있다.이 Dictionary는 읽기 전용으로 제공되며, SYS 사용자가 소유하고 있다. 사용자는 이 Dictionary를 조회하여 테이블, 뷰, 사용자 권한 등의 정보를 확인할 수 있다.  ※ Dictionary의 예Dictionary에 저장된 정보의 예는 다음과 같다.Oracle Server 사용자명: 데이터 베이스에 등록된 사용자의 목록사용자에게 부여된 권한: 각 사용자가 가지고 있는 권한 정보데이터베이스 객체명: Table, Sequence, View, Index 등 객체 정보테이블 제약 조건: 테..

DB/Oracle 2024.11.04

Oracle - Constraint(제약조건)

Constraint는데이터 베이스에 저장된 데이터의 무결성과 일관성을 보장하기 위한 규칙이다.  ※ Constraint 종류제약조건설 명NOT NULL'빈 칸으로 두지 말것'. NULL값을 가질 수 없으며 반드시 값이 있어야 함 UNIQUE고유성을 보장하는 규칙. 중복된 값은 들어올 수 없다.PRIMARY KEY각 레코드를 고유하게 식별하기 위한 조건. 기본적으로 NOT NULL과 UNIQUE 속성을 가짐FOREIGN KEY다른 테이블과의 연결을 나타내는 규칙이. 다른 테이블에 존재하는 값을 참조하도록 하는 조건이다. 이 필드는 반드시 다른 테이블에 존재하는 데이터만 입력할 수 있게 해준다.CHECK값이 특정 조건을 충족해야하는 제약. 설정한 조건에 맞지 않는 값은 허용하지 않는다. Constraint를..

DB/Oracle 2024.11.04

Oracle - Join

Join을 쓰는 목적은 여러 테이블에 분산된 데이터를 연결하여 종합적인 정보를 조회하기 위함이다. Equi Join설명: 두 테이블에서 특정 컬럼의 값이 같을 때 일치하는 데이터를 반환합니다.예시: ON A.ID = B.IDNon-Equi Join설명: 조인 조건에 **비교 연산자(, = 등)**를 사용하여 조건을 만족하는 데이터를 반환합니다.예시: ON A.SALARY > B.MIN_SALARYOuter Join설명: 조인 조건을 만족하지 않는 데이터를 포함하여 한쪽 또는 양쪽 테이블의 모든 행을 반환합니다.종류: LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOINSelf Join설명: 하나의 테이블을 두 번 사용하여 자기 자신과 조인하는 방식입니다.예시: 같은 ..

DB/Oracle 2024.11.01

Oracle - Group by, Having

GROUP BYGROUP BY를 사용할 때, 모든 SELECT 열 중에서 집계 함수(COUNT, SUM 등)를 사용하지 않은 열은 반드시 GROUP BY에 포함되어야 합니다  HAVINGHAVING 절에는 집계 함수(Aggregate Function)를 사용한 조건이나 GROUP BY 절에 포함된 컬럼들만 사용할 수 있다. 집계 함수 외의 개별 컬럼을 직접적으로 HAVING 절에 포함할 수는 없습니다.WHY→ HAVING 절은 그룹화된 데이터에 대해 조건을 적용하기 위해 사용됨. 따라서, 그룹화되지 않은 개별 행의 컬럼을 HAVING 절에서 사용하면 어떤 값을 기준으로 조건을 적용해야 할지 모호해지기 때문에 허용되지 않음.

DB/Oracle 2024.10.31