-
데이터베이스[2주차]모의해킹스터디5기(feat.Normaltic) 2023. 11. 14. 19:41
2주차 수업을 마쳤다. 아직까지는 따라가는데 무리는 없다. 다만 스스로 기준이 높은 편이라 실습할 때 시간이 많이 걸리는 것 같아 방법을 생각 중이다. 최대한 효율적으로 하고 싶은 마음이다.
이번 주 주제는 데이터베이스다. 대부분이 학교에서 배웠던 부분이지만 확실히 오랜만이라 복습하고 정리하는 시간은 필요하다. 요점만 조금 정리해본다.
DB
데이터베이스는 말 그대로 정보를 저장하는 공간이다. 지난 주에 봤던 웹 서버 관련 이미지에 DB(DataBase)가 있는 걸 볼 수 있듯이 웹 서버에 DB는 항상 연결되어 있다고 할 수 있다. 저장되는 데이터에 따라 DB의 종류도 여러가지인데 우리는 그 중 액셀과 같은 테이블 형태의 데이터를 저장하는 관계형 데이터베이스(RDB, Relational DataBase)를 사용한다.
1. 관계형 데이터베이스 간단하게 관계형 데이터 베이스의 특징을 보여주는 그림을 가져왔다. 행, 즉 가로줄을 튜플(tuple), 또는 레코드(record)라 고 하고 이것이 저장될 수 있는 최소한 정보의 단위다. 위의 이미지에는 4명의 정보가 저장되어 있다. 결국 행이 정보의 개수라고 보면 된다. 그리고 저장되어 있는 정보의 총 개수, 즉 튜플의 전체 합을 카디널리티(Cardinality)라고 한다. 열, 세로줄은 속성(attribute)라고 하고 저장되는 정보 각각의 종류를 나타낸다. 도메인은 속성들이 가질 수 있는 값들의 집합이다. 성별이란 속성을 예로 들 때 (남,녀)가 도메인이다. 행렬을 합쳐 테이블의 형태와 같은 정보의 집합을 릴레이션(relation)이라고 한다.
관계형 데이터베이스를 관리하는 프로그램은 관계형 데이터베이스 관리 시스템(RDBMS, Relational DataBase Management System)이다. 종류는 MySQL, mariaDB, Oracle database 등등 있다.
phpmyadmin
php로 개발된 웹 호스팅 서비스를 제공하는 어플리케이션이고 MySQL과 mariaDB를 지원한다. 웹 호스팅을 위한 가장 대중적인 관리 도구로 DB를 GUI로 관리할 수 있어서 편하다. 사실 제공된 서버에 phpmyadmin을 미리 설치해주셔서 사용하고 있다. 아마 내가 처음부터 서비스를 구상해도 phpmyadmin을 썼을 것이다. 써본게 이것밖에 없어서..
2. phpmyadmin phpmyadmin에서는 저장된 데이터를 확인하고 수정할 수 있을 뿐만 아니라 바로 SQL을 삽입할 수도 있다.
SQL
SQL은 데이터를 조작하는데 사용되는 데이터 처리 언어(Structured Query Language)다. 그 종류에는 데이터 정의어(DDL, Data Definition Language), 데이터 제어어(DCL, Data Control Language), 데이터 조작어(DML, Data Manipulation Language), 트랜잭션 제어어(TCL, Transaction Control Language)가 있지만 이번 수업에서는 데이터를 조작하는 DML만 사용한다.
- SELECT : 데이터를 조회
ex) SELECT name, score FROM student WHERE score >= 90
- INSERT : 데이터를 삽입
ex) INSERT INTO student ( name, score ) VALUES ( 'kim', 85 )
- DELETE : 데이터를 삭제
ex) DELETE FROM student WHERE name = 'kim'
- UPDATE : 데이터를 수정
ex) UPDATE SET score = 95 WHERE name = 'kim'
참조
[데이터베이스/DB] 3.관계형 데이터베이스 용어
관계형 데이터베이스란? 관계형 데이터베이스는 테이블을 사용하고, 키와 값을 사용하는, 현재 가장 많이 쓰이는 데이터베이스의 한 종류입니다.데이터의 종속성을 관계(Relationship)로 표현하는
ddecode.tistory.com
'모의해킹스터디5기(feat.Normaltic)' 카테고리의 다른 글
UNION SQL Injection [6주차] (0) 2023.12.08 SQL Injection [5주차] (0) 2023.12.07 Burp Suite [4주차] (0) 2023.11.27 로그인 로직 [3주차] (0) 2023.11.21 Web server [1주차] (0) 2023.11.01