섹션4. RDBMS 이론 및 설계 실습

이경민·2022년 7월 9일
0

umc 서버 클론코딩

목록 보기
4/4

데이터베이스

RDBMS

관계형 데이터베이스 (Relational Data Base Management System)

  • 컴퓨터에 정보를 저장하고 관리하는 기술
  • 성능/관리 면에서 매우 고도화된 엑셀
  • 관계형 데이터베이스는 여러 키값들을 사용해 연관된 정보들을 함께 조회하는데 특화.

RDBMS 특징

  • 2차원 구조 모델을 기반으로 한 수평적 구조 사용
  • 데이터 무결성(Integrity), 트랜잭션(Transaction) 등 DBMS 기능을 구현
  • 질의어(Query Language)를 사용해 데이터 접근

관계형 데이터 모델

  • 데이터 간의 상관관계에서 개체간 관계를 표현.
  • 모든 data를 2차원 테이블 형태로 표현.
  • 데이터 독립성이 높고 이들의 관계 조작에 의해 자유롭게 구조 변경 가능
  • 고수준의 데이타 조작언어(DML-Data Manipulation Language)을 사용하여 결합, 제약, 투영 등의 관계 조작에 의해 비약적으로 표현능력을 높일 수 있다.

MySQL을 제외한 RDBMS 종류

  • ORACLE (오라클)
  • SQLite
  • MS-SQL (SQL Server)
  • PostgreSQL IPost-Gres-QL)


SQL

Structured Query Language의 줄임말로 관계형 데이터베이스 시스템 (RDBMS)에서 자료를 관리 및 처리하기 위해 설계된 언어.

DDL: 데이터 정의어 (Data Definition Language)

테이블과 같은 데이터 구조를 정의하는데 사용하는 명령어들로 (생성, 변경, 삭제, 이름 변경) 데이터 구조와 같은 명령어들을 말한다.

  • CREATE: 테이블 구조를 신규 생성한다
  • ALTER: 테이블 구조를 변경한다
  • DROP: 테이블 구조 삭제
  • RENAME: 테이블 이름 변경
  • TRUNCATE: 테이터의 모든 내용 삭제

DML: 데이터 조작어 (Data Manipulation Language)

  • SELECT: 데이터베이스에 들어있는 데이터를 조회하거나 검색하기 위한 명령어 (retrieve)
  • INSERT, UPDATE, DELETE: 데이터베이스의 테이블에 들어있는 데이터에 벼녁ㅇ을 가하는 종료 (데이터 삽입, 수정, 삭제)

DCL: 데이터 제어어 (Data Control Language)

데이터베이스에 어떤 user가 접속할 수 있고, 어떤 user가 table을 어디까지 볼 수 있고 계정을 어떤 방식으로 관리하는지 결정

  • GRANT: "권한 부여". 사용자 (user)에게 접속 권한, 오브젝트 생성 권한 DBA 등을 부여할 수 있는 명령어
  • REVOKE: "권한 회수". 사용자에게 부여한 권한을 다시 회수하는 명령어

DCL: 트랜젝션 제어어 (Transaction Control Language)

논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업 단위 (트랜젝션) 별로 제어하는 명령어를 말한다.

  • COMMIT: 작업한 결과를 물리적 디스크로 저장하고 조작 작업이 정상적으로 완료되었음을 알려준다.
  • ROLLBACK: 작업했던 내용을 원래 상태로 복구하기 위한 명령어.
  • SAVEPOINT: 현재까지 transaction을 특정 이름으로 저장할 때 사용.

SQL 특징

  1. 대소문자를 가리지 않는다
  2. SQL 명령문은 반드시 세미콜론(;)으로 끝나야한다.
  3. 고유값은 ""으로 감싸준다.
    • SELECT * FROM EMP WHERE NAME = "James";
  4. SQL에서 객체를 나타낼 때는 백틱('')으로 감싸주기
    • SELECT 'COST', 'TYPE' FROM 'INVOICE';
  5. 주석은 일종의 도움말로, 주석 처리된 문장은 프로그램에서 동작하지 않는다. 한 줄 주석은 문장 앞에 ~를 붙여서 사용
    • -- 주석 처리된 문장
  6. 여러 줄 주석은 '/* */' 으로 감싸준다


NoSQL

특정 데이터 모델에 대해 특정 목적에 맞추어 구축되는 데이터베이스. (현대적인 애플리케이션 구축을 위한 유연한 스크마를 갖추고 있다.)

NoSQL 특징

데이터베이스는 개발의 용이성, 가능성 및 확장성을 널리 인정받고 있다.

  • 주요 유형: 문서, 키 값, 와이드 칼럼, 그래프
  • 대량의 데이터와 높은 사용자 부하에서도 손쉽게 확장 가능

NoSQL의 종류

  • MongoDB
  • Azure Cosmos DB
  • CouchDB
  • MarkLogic
  • OrientDB


RDS

여러 서버가 데이터 공유 가능
예: 구글 계정으로 youtube, gmail 등 여러가지 서비스 이용 가능

실습

datagrip을 사용해서 rds 외부 접속 해보기

0개의 댓글