데이터베이스
DDL과 DML의 차이는 무엇인가요? 또, DCL은 무엇인가요?
DDL(Data Definition Language) - 데이터 정의어
데이터베이스를 정의하는 언어를 말하며, 데이터를 생성하거나 수정, 삭제 등 데이터의 전체 골격을 결정하는 역할의 언어를 말한다.
CREATE
- 데이터베이스, 테이블 등을 생성ALTER
- 테이블을 수정DROP
- 데이터 베이스, 테이블을 삭제TRUNCATE
- 테이블을 초기화
DML(Data Manipulation Language) - 데이터 조작어
정의된 데이터베이스에 입력된 레코드를 조회, 수정, 삭제 등의 역할을 하는 언어를 말한다.
테이블에 있는 행과 열을 조작하는 언어
저장된 데이터를 실질적으로 처리하는데 사용하는 언어
SELECT
: 데이터를 조회하는 역할INSERT
: 데이터를 삽입하는 역할UPDATE
: 데이터를 수정하는 역할DELETE
: 데이터를 삭제하는 역할
DCL(Data Control Language) - 데이터 제어어
데이터베이스에 접근하거나 객체에 권한을 주는 등의 역할을 하는 언어
데이터를 제어하는 언어이며, 보안, 무결성, 회복 등을 정의하는데 사용한다.
- GRANT - 특정 데이터베이스 사용자에게 특정 작업에 대한 수행권한 부여
- REVOKE - 특정 데이터베이스 사용자에게 특정 작업에 대한 권한을 박탈, 회수
- COMMIT - 트랜잭선의 작업이 정상적으로 완료되었음을 관리자에게 알려준다.
- ROLLBACK - 트랜잭션의 작업이 비정상적으로 종료 시 원래상태로 복구한다.
트랜잭션이란 무엇인가요?
트랜잭션(Transaction)은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다.
트랜잭션은 4가지 성질을 가진다.
- 원자성(Atomicity)
- 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.
- 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느하나라도 오류가 발생하면 트랜잭션 전부가 취소되어야 한다.
- 일관성(Consistency)
- 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.
- 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다.
- 독립성(Isolation)
- 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없다.
- 수행중인 트랜잭션은 완전히 완료될 때까지 다른 트랜잭션에서 수행 결과를 참조할 수 없다.
- 영속성, 지속성(Durablility)
- 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 한다.
JOIN이란 무엇인가요?
두 개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력하는 것
조인이 필요한 이유는 무엇인가요?
- 관계형 데이터 베이스의 구조적 특징으로 정규화를 수행하면 의미있는 데이터의 집합으로 테이블이 구성되고, 각 테이블끼리 관계를 갖게된다.
- 이로 인해서 관계형 데이터베이스는 저장 공간의 효율성과 확장성이 향상되게 되는데, 서로 관계있는 데이터가 여러 테이블로 나뉘어 저장되므로 각 테이블에 저장된 데이터를 효과적으로 검색하기위해 조인이 필요하다.
내부 조인과 외부 조인의 차이는 무엇인가요?
내부 조인 : 조인을 수행한 테이블 모두에서 일치하는 값을 가진 행만 반환한다.
외부 조인 : 일치하는 행과 조인을 수행한 테이블간에 일치하지 않는 일부 행이 포함된다. 외부 조인에는 3가지 종류가 있다.
- 왼쪽 외부 결합 : LEFT 테이블의 모든 행과 두 테이블간에 일치하는 레코드를 반환한다.
- 오른쪽 외부 결합 : RIGHT 테이블의 모든 행과 두 테이블간에 일치하는 레코드를 반환한다.
- 전체 외부 결합 : Left Outer Join과 Right Outer Join의 결과를 결합합니다.
정규화란 무엇인가요?
테이블 간에 중복된 데이터를 허용하지 않는 것을 목표로 테이블을 분해하는 과정.
데이터의 무결성을 유지할 수 있으며, DB의 저장용량 역시 줄일 수 있다.
반응형