-
데이터베이스 언어(Database Language) ( 출처 )
- 컴퓨터의 데이터베이스 작업을 위한 컴퓨터 언어이다. 데이터베이스 언어를 사용하여 데이터베이스 사용자 및 응용 프로그램 소프트웨어는 데이터베이스에 액세스 할 수 있다.
- 데이터베이스를 취급하는 기능 중 검색(질의)가 중요하기 때문에 일반적으로 (데이터베이스) 쿼리 언어라고도 불린다. 그러나 데이터베이스 언어와 쿼리는 동의어는 아니다.
- 가장 대중적인 데이터베이스 언어는 관계 데이터베이스의 SQL이 있다.
- 데이터베이스 언어는 데이터 정의 언어(DDL), 데이터 조작 언어(DML), 데이터 제어 언어(DCL)로 분류할 수 있다.
-
데이터 정의 언어(DDL) ( 출처 )
- Data Definition Language
- 데이터베이스 사용자 및 응용 프로그램 소프트웨어가 컴퓨터의 데이터를 정의하는 데이터베이스 언어 (요소)를 말한다.
- SQL의 데이터 정의 언어는 관계형 데이터베이스의 구조를 정의한다.
- SQL의 데이터 정의 언어의 문장 집합은 관계 데이터베이스 관리 시스템(RDBMS)의 일부이다.
- SQL의 데이터 정의 언어의 예
- CREATE : 새로운 데이터베이스 관계 (테이블), VIEW, 인텍스, 저장 프로시저를 만든다.
- DROP : 이미 존재하는 데이터베이스 관계 (테이블), 뷰, 인덱스, 저장 프로시저를 제거한다.
- ALTER : 이미 존재하는 데이터베이스 개체에 대한 변경, RENAME의 역할을 한다.
- TRUNCATE : 관계 (테이블)에서 모든 행을 삭제한다. (테이블 삭제 X)
-
데이터 조작 언어(DML) ( 출처 )
- Data Manipulation Language
- 데이터베이스 사용자 또는 응용 프로그램 소프트웨어가 데이터베이스에 대해 데이터 검색, 등록, 삭제, 갱신 을 할 수 있도록 지원하는 데이터베이스 언어 (요소)이다.
- 가장 대중적인 데이터 조작 언어는 SQL이다. SQL로 관계형 데이터베이스에 대해 데이터 검색 및 업데이트 등을 수행할 수 있다.
- 데이터 조작 언어는 문장의 첫 단어로 표시할 수 있고 대부분 동사 형태를 가진다.
- SQL의 데이터 조작 언어의 예
- SELECT : 검색 (질의)
- INSERT : 삽입 (등록)
- UPDATE : 업데이트 (수정)
- DELETE : 삭제
- 데이터 조작 언어는 데이터베이스 공급업체(벤더) 마다 언어 및 기능 차이가 있다. 물론 ANSI / ISO에서 정한 SQL 표준이 있지만, 벤더들은 이 표준을 넘어 고유의 확장 기능을 제공하고 있다.
-
데이터 제어 언어(DCL) ( 출처 )
- Data Control Language
- 데이터베이스에서 데이터 접근을 제어하기 위해 사용하는 데이터베이스 언어 (요소) 이다.
- SQL의 데이터 제어 언어의 예
- GRANT : 특정 데이터베이스 사용자에게 특정 작업을 수행 권한을 부여 한다.
- REVOKE : 특정 데이터베이스 사용자에게 부여한 특정 권한을 박탈 한다.
- GRANT 및 REVOKE가 영향을 미치는 권한
- CONNECT : 데이터베이스 또는 스키마에 연결 하는 권한
- SELECT : 데이터베이스에서 데이터를 검색하는 권한
- INSERT : 데이터베이스에서 데이터를 등록할 수 있는 권한
- UPDATE : 데이터베이스의 데이터를 업데이트 할 수 있는 권한
- DELETE : 데이터베이스의 데이터를 삭제할 수 있는 권한
- USAGE : 스키마 또는 함수 와 같은 데이터베이스 개체를 사용할 수 있는 권한
-
트랜잭션 : 데이터베이스 관리 시스템 상호작용의 단위이다. 쉽게 데이터베이스의 상태 변화를 일으키는 단위라고 볼 수 있다.
-
트랜잭션의 4대 특징
- 원자성 (
Atomicity
) - 일관성 (
Consistency
) - 독립성 (
Isolation
) - 지속성 (
Durability
)
- 원자성 (
-
관계형 데이터베이스
-
Relational Database, RDB
-
키(key)와 값(value)들의 관계를 테이블화 시킨 데이터베이스다.
-
데이터 관계형 모델에 기초한 디지털 데이터베이스이다.
데이터 관계형 모델: 데이터를 컬럼(column)과 로우(row)로 이루어진 테이블(관계)로 정리하고, 고유 키(primary key)가 각 로우를 식별하는 모델
-
관계형 데이터베이스 관리 시스템(RDBMS)
- Relational Database Management System
- 관계형 데이터베이스(RDB)를 관리하기 위한 소프트웨어 또는 그것이 설치된 시스템을 말한다.
- 주요 제품으로는 Oracle, MySQL, MS SQL Server, MS Access, IBM DB2 등이 있다.
-
SQL 용어와 관계형 데이터베이스 용어 비교
SQL 용어 관계형 데이터베이스 용어 설명 로우 튜플 또는 레코드 하나의 항목을 대표하는 데이터 컬럼 속성(어트리뷰트) 또는 필드 튜플의 이름 요소 (예: 주소, 등록일) 테이블 관계 또는 기초 관계변수(아래 뷰 참고) 같은 속성을 공유하는 튜플들의 모임
(컬럼이나 로우의 모임)뷰 또는 결과 집합 파생 관계변수 튜플들의 모임
(질의어에 응답하는 RDBMS의 데이터 보고서) -
데이터 무결성(Data Integrity)
- 완전한 수명주기 가운데 데이터의 정확성과 일관성을 유지하고 보증하는 것 을 가리킨다.
- 데이터베이스나 RDBMS 를 사용하는 시스템의 주요 기능 중 하나이다.
-
무결성 종류
- 개체 무결성(Entity Integrity)
- 고유 키(유일 키)의 개념과 관련 있다.
- 모든 테이블이 기본 키(primary key)를 가져야 하고 기본 키로 선택된 열은 고유해야 하며, 빈 값을 허용하지 않는다.
- 참조 무결성(Referential Integrity)
- 외래 키(외부 키)의 개념과 관련 있다.
- 모든 외래 키 값은 두 가지 상태 가운데 하나이어야만 한다.
- 일반적인 상태는 외래 키 값이 데이터베이스 특정 테이블의 기본 키 값을 참조하는 것이다. 이는 종종 비즈니스 규칙에 따라 달라질 수 있고 외래 키 값은 빈 값을 허용하기도 한다.
- 범위 무결성(Domain Integrity)
- 정의된 범위에서 관계형 데이터베이스의 모든 열이 선언되어야 한다.
- 개체 무결성(Entity Integrity)