Relational DBMS

yamewrong·2023년 1월 8일
0

웹해킹

목록 보기
12/12
post-thumbnail

DBMS

DataBase MAnagement System
데이터베이스 관리 시스템
데이터베이스에 새로운 정보를 기록하거나, 기록된 내용을 수정, 삭제하는 역할.

관계형 DBMS
= MySQL, MariaDB, PostgreSQL, SQLite
비관계형 DBMS
= MongoDB, CouchDB, Redis

관계형 -> 행과 열의 집합인 테이블 형식으로 데이터 저장
비관계형 -> 테이블 형식이 아닌 키-값 형태로 값을 저장

RDBMS

Relational DataBase Management System
행과 열의 집합으로 구성된 테이블의 묶음 형식으로 데이터를 관리하고, 테이블 형식의 데이터를 조작할 수 있는 관계 연산자를 제공
RDBMS에서 관계 연산자는 SQL 쿼리를 사용하고, 해당 쿼리를 통해 테이블 형식의 데이터를 조작.

SQL

Structured Query Language (SQL) 는 RDBMS의 데이터를 정의하고 질의, 수정 등을 하기 위해 고안된 언어.
SQL은 구조화된 형태를 가지는 언어로 웹 어플리케이션이 DBMS와 상호작용할 떄 사용된다.

DDL
Data Definition Language
데이터를 정의하기 위한 언어. 데이터를 저장하기 위한 스키마, 데이터베이스의 생성/수정/삭제 등의 행위를 수행

DML
Data Manipulation Language
데이터를 조작하기 위한 언어. 실제 데이터베이스 내에 존재하는 데이터에 대해 조회/저장/수정/삭제 등의 행위를 수행

DCL
Data Control Language
데이터베이스의 접근 권한 등의 설정을 하기 위한 언어.
데이터베이스 내에 이용자의 권한을 부여하기 위한 GRANT와 권한을 박탈하는 REVOKE가 대표적

DDL

웹 어플리케이션은 SQL을 사용해서 DBMS와 상호작용을 하며 데이터를 관리
RDBMS에서 사용하는 기본적인 구조는 데이터베이스 -> 테이블 -> 데이터 구조 입니다.
데이터를 다루기 위해 데이터베이스와 테이블을 생성해야 하며, DDL을 사용해야 한다.
DDL의 CREATE 명령을 사용해 새로운 데이터베이스 또는 테이블을 생성할 수 있다.

데이터베이스 생성

yamewrong이라는 데이터베이스를 생성하는 쿼리문

CREATE DATABASE yamewrong;

테이블 생성

앞서 생성한 DB에 Board 테이블을 생성하는 쿼리이다.

USE yamewrong;
# Board 이름의 테이블 생성 
CREATE TABLE Board(
	idx INT AUTO_INCREMENT,
    boardTitle VARCHAR(100) NOT NULL,
    boardContent VARCHAR(2000) NOT NULL,
    PRIMARY KEY(idx)
);

DML

생성된 테이블에 데이터를 추가하기 위해 DML을 사용.
새로운 데이터를 생성하는 INSERT, 데이터를 조회하는 SELECT, 그리고 데이터를 수정하는 UPDATE의 예시

테이블 데이터 생성

Board 테이블에 데이터를 삽입하는 쿼리문

INSERT INTO
	Board(boardTitle, boardContent, createdData)
Values(
	'Hello',
    'World !',
    Now()
);

테이블 데이터 조회

Board 테이블의 데이터를 조회하는 쿼리문

SELECT
	BoardTitle, boardContent
From
	Board
Where
	idx=1;

테이블 데이터 변경

Board 테이블의 컬럼 값을 변경하는 쿼리문

UPDATE Board SET boardContent='yamewrong!'
	Where idx=1;

0개의 댓글