02. 관계형 데이터베이스

Back/DB 2023. 3. 13.

 

02-1 관계형 데이터베이스와 SQL

관계형 데이터베이스란(RDBMS)

  • RDBMS(Relational Database Management System)
  • 서로 관련된 데이터에 대한 접근을 저장 및 제공하는 데이터베이스 유형
  • 데이터를 직관적으로 간단하게 나타내는 관계형 데이터 모델을 기반
  • 관계형 데이터베이스는 여러 테이블을 포함
  • 각 테이블 (객체) 의 모든 행(레코드)은 키(Key)라는 고유 ID를 포함
  • 테이블의 열(Column)에는 데이터의 속성이 들어 있음
  • 각 행은 고유ID(key)로 데이터의 관계를 설정할 수 있음
  • RDBMS 종류는 Oracle, MS-SQL, MySQL, MariaDB, PostgreSQL, DB2등이 있음

데이터베이스 설계 순서

요구분석
개념적 설계
논리적 설계
물리적 설계
구현
  • 요구조건 명세서 작성
  • 개념스키마
  • 트랜잭션 모델링
  • E-R 모델
  • 목표 DBMS에 맞는 논리 스키마 설계
  • 트랜잭션 인터페이스 설계
  • 목표 DBMS에 맞는 물리적 구조의 데이터로 변환
  • 목표 DBMS의 DDL로 데이터 베이스 생성
  • 트랜잭션 작성

02-2 데이터 모델

관계형 데이터 모델


02-3 관계형 데이터베이스의 구성요소

 

관계형 데이터 모델

테이블, 열, 행

특별한 의미를 지닌 열, 키

기본키 (PK : Primary Key)

 

보조키

 

외래키 (FK : Foreign Key, reference Key)

 

02-4 관계형 데이터베이스와 SQL

SQL이란?

Structured Query Language

  • DQL(Data Query Language)
    • SQL SELECT문은 하나 또는 그 이상의 테이블에서 데이터를 추출하는 SQL의 데이터 조작 언어 중 하나.
    • 데이터베이스 중 하나 또는 그 이상의 테이블에서 데이터를 추출하기 위한 명령으로 데이터 조작 언어 에서 많이 사용
  • DML(Data Manipulation Language) 데이터 조작 언어
    • 테이블에 데이터 검색, 삽입, 수정, 삭제하는 데 사용하며 SELECT, UPDATE, DELETE, INSERT문 등이 있다.
      • SELECT - 검색(질의)
      • INSERT - 삽입(등록)
      • UPDATE - 업데이트(수정)
      • DELETE - 삭제
  • DDL(Data Definition Language) 데이터 정의 언어
    • 데이터 머리 끈을 만드는 것
    • 테이블이나 관계의 구조를 생성하는데 사용하며 CREATE, ALTER, DROP,TRUNCATE 문 등이 있다.
    • CREATE - 새로운 데이터베이스 관계 (테이블) View, 인덱스 , 저장 프로시저 만들기.
    • DROP - 이미 존재하는 데이터베이스 관계 ( 테이블 ) , 뷰 , 인덱스 , 저장 프로시저를 삭제한다.
    • ALTER - 이미 존재하는 데이터베이스 개체에 대한 변경 , RENAME의 역할을 한다.
    • TRUNCATE - 관계 ( 테이블 )에서 데이터를 제거한다. ( 한번 삭제 시 돌이킬 수 없음.)
  • TCL(Transaction Control Language)
  • DCL(Data Control Language) 데이터 제어 언어
    • 데이터의 사용 권한을 관리하는 데 사용하며 GRANT, REVOKE 문 등이 있다.
    • GRANT - 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 부여한다.
    • REVOKE - 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 박탈 or 회수 한다.
      • CONNECT - 데이터베이스 or 스키마에 연결하는 권한.
      • SELECT - 데이터베이스에서 데이터를 검색할 수 있는 권한
      • INSERT - 데이터베이스에서 데이터를 등록(삽입)할 수 있는 권한
      • UPDATE - 데이터베이스의 데이터를 업데이트 할 수 있는 권한
      • DELETE - 데이터베이스의 데이터를 삭제할 수 있는 권한.
      • USAGE - 스키마 또는 함수와 같은 데이터베이스 개체를 사용할 수 있는 권한
■ DELETE, TRUNCATE, DROP의 차이
DELETE와 TRUNCATE. DROP 모두 삭제하는 명령어. 뭐가 다른 지 구분한다.
DELETE : 데이터는 지워지지만 테이블 용량은 줄어 들지 않는다. 원하는 데이터만 지울 수 있다. 잘못 삭제 한 경우 삭제한 것을 되돌릴 수 있다.
TRUNCATE : 삭제 후 용량이 줄어들고 인덱스 등도 모두 삭제된다. 테이블이 삭제 되지는 않으나 데이터만 삭제한다. 선택해서 지울 수 없다. 삭제 후 절대 되돌릴 수 없다
DROP : 테이블 전체를 삭제, 공간, 객체를 삭제한다, 삭제 후 절대 되돌릴 수 없다.

 

 

'Back > DB' 카테고리의 다른 글

#01 데이터 베이스 개념  (0) 2023.03.13