2020. 6. 22. 23:10ㆍ데이터베이스/Oracle
관계형 데이터베이스
관계형 데이터베이스는 데이터 항목 간에 사전 정의된 관계가 있을 때 그러한 데이터 항목들의 모음을 가리킵니다. 이들 항목은 열과 행으로 이루어진 테이블 집합으로 구성됩니다. 테이블은 데이터베이스에 표시할 해당 객체들에 관한 정보를 수록하는 데 사용됩니다. 테이블의 각 열은 특정 종류의 데이터를 수록하며 필드는 속성의 실제 값을 저장합니다. 테이블의 행은 한 객체 또는 엔터티와 관련된 값들의 모음을 나타냅니다. 테이블의 각 행은 기본 키라고 부르는 고유 식별자로 표시할 수 있고 여러 테이블에 있는 행들은 외래 키를 사용하여 상호 연결될 수 있습니다. 이 데이터는 데이터베이스 테이블 자체를 재구성하지 않고도 여러 가지 방법으로 액세스할 수 있습니다.
SQL
구조화 질의 언어(Structured Query Language) 또는 SQL은 관계형 데이터베이스와 통신하는 데 사용되는 기본 인터페이스입니다. SQL은 1986년에 미국표준협회(ANSI)의 표준이 되었습니다. 널리 사용되는 모든 관계형 데이터베이스 엔진에서 표준 ANSI SQL을 지원하며, 이러한 엔진 중 일부는 해당 엔진의 고유 기능을 지원하는 확장된 ANSI SQL을 보유하고 있습니다. SQL은 데이터의 행을 추가, 업데이트 또는 삭제하고, 트랜잭션 처리 및 분석 애플리케이션용 데이터의 하위 집합을 검색하며, 데이터베이스의 모든 측면을 관리하는 데 사용됩니다.
데이터 무결성
데이터 무결성이란 데이터의 전체적인 완전성, 정확성 및 일관성을 의미합니다. 관계형 데이터베이스는 일련의 제약 조건을 사용하여 데이터베이스 내에서 데이터 무결성을 적용합니다. 이러한 제약 조건들은 기본 키, 외래 키, 'Not NULL' 제약 조건, ‘Unique’ 제약 조건, ‘Default’ 제약 조건 및 ‘Check’ 제약 조건을 포함합니다. 이러한 무결성 제약 조건들은 데이터의 정확성과 안정성을 보장하기 위해 테이블의 데이터에 비즈니스 규칙을 적용할 때 도움이 됩니다. 또한 대부분의 관계 데이터베이스에서는 데이터베이스의 작업을 기반으로 하여 실행되는 트리거에 사용자 지정 코드를 포함시킬 수도 있습니다.
트랜잭션
데이터베이스 트랜잭션은 하나의 논리적 작업 단위를 구성하는 일련의 데이터베이스 작업으로 실행되는 하나 이상의 SQL 문입니다. 트랜잭션은 "전부 아니면 무" 명제를 제공합니다. 즉, 전체 트랜잭션이 하나의 단위로 완료되어 데이터베이스에 기록되거나 아니면 어떠한 트랜잭션의 개별 구성 요소도 통과되지 않아야 합니다. 관계 데이터베이스 용어상, 트랜잭션은 커밋(COMMIT) 또는 롤백(ROLLBACK)을 초래합니다. 각 트랜잭션은 다른 트랜잭션과 상관없이 일관적이면서도 안정적인 방식으로 처리됩니다.
ACID 규정 준수
모든 데이터베이스 트랜잭션은 데이터 무결성을 보장하기 위해 ACID 규정을 준수하거나 원자성, 일관성, 격리성 및 내구성을 갖추어야 합니다.
원자성을 갖기 위해서는 트랜잭션이 모두 성공적으로 실행되거나 트랜잭션 일부가 실패할 때 전체 트랜잭션이 무효화되어야 합니다. 일관성을 갖기 위해서는 트랜잭션의 일부로서 데이터베이스에 작성된 데이터가 모든 정의된 규칙 및 제한 사항(제약 조건, 캐스케이드 및 트리거를 포함)을 준수해야 합니다. 격리는 동시성 제어를 실현하는 데 있어 중요한 관건이 되며 각 트랜잭션이 독립적인지 확인합니다. 내구성을 갖기 위해서는 트랜잭션이 성공적으로 완료된 상태에서 데이터베이스에 대한 모든 변경 사항을 영구적으로 보존해야 합니다.
sql 종류
1.TCL(Transaction Control Language):TRANSACTION CONTROL LANGUAGE 로 트랜잭션을 제어하는 언어입니다.
트랜잭션은 데이터베이스의 논리적 연산단위입니다.
하나의 트랜잭션에는 하나 이상의 SQL 문장이 포함되며 분할할 수 없는 최소의 단위입니다. 즉 ALL OR NOTHING 입니다.
종류 | 역할 |
COMMIT | 입력한 자료나 수정한 자료에 대해서 또는 삭제한 자료에 대해서 전혀 문제가 없다고 판단되었을 경우 COMMIT 명령어를 통해서 트랜잭션을 완료합니다. |
ROLLBACK |
COMMIT 이전에는 변경 사항을 취소 할 수 있는데 데이터베이스에서 ROLLBACK 기능을 사용합니다. ROLLBACK 은 데이터 변경 사항이 취소되어 데이터의 이전 상태로 복구되며, 관련된 행에 대한 잠금이 풀리고 다른 사용자들이 데이터를 변경 할 수 있습니다. |
SAVEPOINT |
저장점을 정의하면 롤백할 때 트랜잭션에 포함된 전체 작업을 롤백하는 것이 아니라 현 시점에서 SAVEPOINT 까지 트랜잭션의 일부만 롤백할 수 있습니다. 복수의 저장점을 정의할 수 있으며, 동일이름으로 저장점을 정의했을 때는 나중에 정의한 저장점이 유요합니다. |
2.DDL(Data Definition Language) :데이터베이스를 정의하는 언어이며, 데이터리를 생성, 수정, 삭제하는 등의 데이터의 전체의 골격을 결정하는 역할을 하는 언어 입니다.
종류 |
역할 |
CREATE |
데이터베이스, 테이블등을 생성하는 역할을 합니다. |
ALTER |
테이블을 수정하는 역할을 합니다. |
DROP |
데이터베이스, 테이블을 삭제하는 역할을 합니다. |
TRUNCATE |
테이블을 초기화 시키는 역할을 합니다. |
3.DCL(Data Control Language):데이터 조작 언어은 데이터베이스 사용자 또는 응용 프로그램 소프트웨어가 컴퓨터 데이터베이스에 대해 데이터 검색, 등록, 삭제, 갱신을 위한, 데이터베이스 언어 입니다.
종류 | 역할 |
GRANT | 데이터 베이스 사용자에게 권한을 부여합니다 |
REVOKE | 데이터 베이스 사용자에게 권한을 삭제합니다. |
4.DML(data Manipulation Language):정의된 데이터베이스에 입력된 레코드를 조회하거나 수정하거나 삭제하는 등의 역할을 하는 언어를 말합니다.
종류 |
역할 |
SELECT |
데이터를 조회하는 역할을 합니다. |
INSERT |
데이터를 삽입하는 역할을 합니다. |
UPDATE |
데이터를 수정하는 역할을 합니다. |
DELETE |
데이터를 삭제하는 역할을 합니다. |
'데이터베이스 > Oracle' 카테고리의 다른 글
조인 (0) | 2020.06.26 |
---|---|
무결성 제약 조건 (0) | 2020.06.25 |
단일행 함수 (0) | 2020.06.24 |
수정, 삭제, 조회 (0) | 2020.06.23 |
Oracle 데이터베이스 (0) | 2020.03.20 |