본문 바로가기
SQLD/SQL 기본

관계형 데이터베이스 개요

by Hwanii_ 2023. 11. 14.
728x90

1. 데이터베이스 란 ?

 

1) 넓은 의미 에서의 DB 란 일상적인 데이터들을 모아 놓은 것 자체를 의미.

 

2) 일반적으로 DB를 말할 때는 특정 기업 / 조직 / 개인 이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것을 의미.

 

3) 사용자들은 효율적인 데이터의 관리 뿐만 아니라, 데이터의 손상이 일어날 변수를 차단 하고,

필요시 필요한 데이터를 복구 하기 위한 강력한 소프트웨어를 사용 한다.

>> DBMS 이다. == Database Management System

 

 

 

2. 관계형 데이터베이스 란 ? (Relational Database)

 

1) 정규화를 통해 합리적인 테이블 모델링으로 이상 현상을 제거하고, 데이터 중복을 피함.

동시성 관리 / 병행 제어 를 통해 많은 사용자들이 동시에 데이터를 공유 및 조작 할 수 있는 기능을 제공.

 

2) 관계형 데이터베이스는 메타 데이터를 총괄 하므로, 데이터의 성격 / 속성 / 표현 방법 등을 체계화 가능.

데이터 표준화를 통해 데이터 품질 확보 가능.

 

3) DBMS 는 인증된 사용자만 참조 할 수 있도록 보안 기능을 제공.

테이블 생성 시에 사용 할 수 있는 다양한 제약 조건 등..

데이터 삭제 방지 >> 데이터 무결성 보장.

 

4) DBMS 는 시스템의 갑작스런 장애로인해 사용자가 입력 / 수정 / 삭제 하던 데이터가 제대로 반영 될 수 있도록

보장해주는 기능을 보유할뿐만 아니라, 시스템 다운 / 재해 등의 상황 에서도,

데이터를 복구 할 수 있는 기능을 보유.

 

 

 

3. SQL (Structured Query Language)

 

1) SQL (Structured Query Language) 는 관계형 DB 에서 데이터 정의 / 조작 / 제어 를 하기 위해 사용 하는 언어.

 

2) 특정 데이터들의 집합 에서 필요로 하는 데이터를 조회 하고 새로운 데이터를 입력 / 수정 / 삭제 하기 위한 언어.

 

 

 

4. SQL 문의 종류

 

1) 데이터 조작어

DML : Data Manipulation Language

 

- SELECT : 데이터베이스에 들어있는 데이터를 조회 또는 검색 하기 위한 명령어.

- INSERT / UPDATE / DELETE : 데이터베이스에 들어있는 데이터에 변형을 가하는데 사용 되는 명령어.

 

2) 데이터 정의어

DDL : Data Definition Language

 

- CREATE / ALTER / DROP / RENAME : 테이블과 같은 데이터 구조를 정의 하는데 사용되는 명령어.

뿐만 아니라, 그러한 구조를 생성 / 변경 / 삭제 / 이름 변경 의 명령어를 DDL 이라 한다.

 

3) 데이터 제어어

DCL : Data Control Language

 

- GRANT / REVOKE : 데이터베이스에 접근 하고 객체들을 사용 가능 하도록 권한을 부여 및 회수 하는 명령어.

 

4) 트랜잭션 제어어

TCL : Transaction Control Language

 

- COMMIT / ROLLBACK : 논리적인 작업 단위를 묶고, DML 에 의해 조작된 결과를,

작업 단위 별로 적용 및 취소 하는 명령어.

 

 

 

5. 테이블 == Table == Entity

 

1) 데이터는 테이블 형태로 저장 된다. == RDB (Relational Database)

모든 자료는 테이블로 등록 되고, 테이블로부터 원하는 자료를 꺼내 올 수 있다.

 

2) 테이블은 데이터를 저장하는 객체 이다. == Object

RDB 의 기본 단위 이다.

 

3) RDB에서 모든 데이터를 칼럼과 행으로 구성 되어 있는 2차원 구조로 표현 한다.

세로 방향을 컬럼 == Column 이라 하고, 가로 방향을 행 == Row 라고 한다.

열과 행이 겹치는 하나의 공간을 필드 == Field 라고 한다.

 

 

 

6. 테이블 용어

 

1) Table : 행과 열의 2차원 구조를 가진 데이터의 저장소

 

2) Column : 세로 방향으로 이루어진 하나하나의 속성 (더이상 나눌 수 없는 것)

 

3) Row : 가로 방향으로 이루어진 데이터

 

4) Normalization == 정규형 : 테이블을 분할 하여 데이터의 정합성을 확보하고, 불필요한 중복을 줄이는 프로세스.

>> 정규화

 

5) PK : 각 행을 한가지 의미로 특정 할 수 있는 한 개 이상의 칼럼

 

6) FK : 다른 테이블의 기본 키로 사용 되고 있는 관계를 연결 하는 칼럼

>> 자식 입장 에서 부모 테이블의 PK를 가지고 사용 하는 것을 FK == 외래키 라고 한다.

 

 

 

7. ERD == Entity Relationship Diagram

 

1) 테이블 간 서로의 관계를 그림으로 그린 것을 ERD 라고 한다.

 

2) ERD 구성 요소는 엔터티 / 관계 / 속성 3가지 이다.

현실 세계의 데이터는 위의 3가지 구성 요소로 모두 표현이 가능 하다.

 

엔터티 == Entity

관계 == Relationship

속성 == Attribute

반응형