[정리노트] SQLD 2024년 개정판 - 관계형 데이터베이스 개요
관계형 데이터 베이스 개요
데이터베이스(Database)와 DBMS (Database Management System)
- 데이터베이스: 데이터의 집합, 꼭 형식을 갖추지 않아도 엑셀 파일을 모아 둔다면 데이터베이스임
- DBMS: 데이터를 효과적으로 관리하기 위한 시스템
- 개인이 파일을 여러 개 묶어서 폴더에 보관하면 데이터를 찾고 관리하는데 많은 비용이 발생
- 이를 보다 시스템적으로 작동하게 만든 시스템을 DBMS라고 한다. (ORACLE, MYSQL)
관계형 데이터 베이스 구성 요소
관계형 데이터 베이스 구성 요소
- 계정: 데이터의 접근 제한을 위한 여러 업무별/시스템별 계정이 존재
- 테이블: DBMS의 DB안에서 데이터가 저장되는 형식
- 스키마: 테이블이 어떠한 구성으로 되어있는지, 어떠한 정보를 가지고 있는지에 대한 기본적인 구조를 정의
테이블
- 정의
- 엑셀에서의 워크시트처럼 행(로우)과 열(컬럼)을 갖는 2차원 구조로 구성, 데이터를 입력하여 저장하는 최소 단위
- 컬럼은 속성이라고도 부름
- 특징
- 하나의 테이블은 반드시 하나의 유저(계정) 소유여야 함
- 테이블간 관계는 일대일(1:1), 일대다(1:N), 다대다(N:N)의 관계를 가질 수 있음
- 테이블명은 중복될 수 없지만, 소유자가 다른 경우 같은 이름으로 생성 가능
- ex) Scott 소유의 EMP 테이블 존재, HR 소유의 EMP 테이블 생성 가능
- 테이블은 행 단위로 데이터가 입력, 삭제되며 수정은 값의 단위로 가능
SQL
SQL (Structured Query Language)
- 관계형 데이터베이스에서 데이터 조회 및 조작, DBMS 시스템 관리 기능을 명령하는 언어
- 데이터 정의 (DDL), 데이터 조작 (DML), 데이터 제어 언어(DCL) 등으로 구분
- SQL 문법은 대, 소문자를 구분하지 X
종류
- DDL (Data Definition Language) - CREATE, ALTER, DROP, RENAME, TRUNCATE (초기화)
- transction의 rollback 대상이 아님
- DML (Data Manipulation Language) - INSERT, DELETE, UPDATE, MERGE
- DCL (Data Contrl Language) - GRANT, REVOKE
- TCL (Transaction Control Language) - COMMIT, ROLLBACK
- 트랜잭션(Transaction)
- 사전적 의미는 거래이고,컴퓨터 과학 분야에서의 트랜잭션(Transaction)은 "더이상 분할이 불가능한 업무처리의 단위"를 의미
- 한꺼번에 수행되어야 할 일련의 연산모음을 의미
- 특징
- 원자성: 트랜잭션이 데이터베이스에 모두 반영되던가, 아니면 전혀 반영되지 않아야 한다는 것
- 일관성: 작업 처리 결과가 항상 일관성이 있어야 한다는 것
- 독립성: 둘 이상의 트랜잭션이 동시에 실행되고 있을 경우 어떤 하나의 트랜잭션이라도, 다른 트랜잭션의 연산에 끼어들 수 없다는 점
- 영구성: 지속성은 트랜잭션이 성공적으로 완료됬을 경우, 결과는 영구적으로 반영되어야 한다는 점
- 트랜잭션(Transaction)
- DQL (Data Query Language) - SELECT
- SELECT 문은 따로 SQL 종류 중 어디에도 속하지 않음
관계형 데이터베이스
특징
- 데이터의 분류, 정렬, 탐색 속도가 빠름
- 신뢰성이 높고, 데이터의 무결성 보장
- 기존의 작성된 스키마를 수정하기 어려움
- 데이터베이스의 부하를 분석하는 것이 어려움
데이터 무결성
정의
- 데이터의 정확성과 일관성을 유지하고, 데이터에 결손과 부정합이 없음을 보증하는 것
- 데이터베이스에 저장된 값과 그것이 표현하는 현실의 비즈니스 모델의 값이 일치하는 정확성을 의미함
- 데이터 무결성을 유지하는 것이 데이터베이스 관리시스템에 중요한 기능
종류
- 개체 무결성: 테이블의 기본키를 구성하는 컬럼(속성)은 NULL 값이나 중복값을 가질 수 없음
- 참조 무결성: 외래키 값은 NULL 이거나 참조 테이블의 기본키 값과 동일해야 한다
(외래키: 참조 테이블의 기본키에 정의된 데이터만 허용되는 구조) - 도메인 무결성: 주어진 속성 값이 정의된 도메인에 속한 값 이어야 함
- NULL 무결성: 특정 속성에 대해 NULL을 허용하지 않는 특징
- 고유 무결성: 특정 속성에 대해, 값이 중복되지 않는 특징
- 키 무결성: 하나의 릴레이션(관계)에는 적어도 하나의 키가 존재해야 함
(테이블이 서로 관계를 가질 경우 반드시 하나 이상의 조인키를 가짐)
※ 도메인: 각 컬럼(속성)이 갖는 범위
※ 릴레이션: 테이블간 관계
※ 튜플: 하나의 행
※ 키: 식별자
ERD
ERD (Entiry Relationship Diagram)
- 테이블 간 서로의 상관 관계를 그림으로 표현한 것
- ERD의 구성요소에는 엔터티, 관계, 속성이 있다.
- 현실 세계의 데이터는 이 3가지 구성으로 모두 표현 가능
반응형
'스터디 > SQL' 카테고리의 다른 글
[정리노트] SQLD 2024년 개정판 - 함수 (49) | 2024.08.20 |
---|---|
[정리노트] SQLD 2024년 개정판 - SELECT (FROM 포함) (45) | 2024.08.20 |
[기출문제] 1과목 - 데이터 모델링의 이해 (2024 개정판, 해설 포함) (3) | 2024.08.19 |
[정리노트] SQLD 2024년 개정판 - 본질 식별자 vs 인조 식별자 (39) | 2024.08.19 |
[정리노트] SQLD 2024년 개정판 - NULL 속성의 이해 (44) | 2024.08.18 |