본문 바로가기

usb 대용 프로젝트(라즈비안)

mariadb 테이블 설정

현재 진행하고 있는 데이터베이스와 테이블을 어떤 방식으로 설정할지에 관하여 작성해보도록 한다.

 

먼저 데이터베이스이다.

 

데이터 베이스는 두가지로 나누어 관리할 예정이다.

왜냐하면, 정보를 탈취 당하더라도 한번에 여러가지를 다 가져가면 위험하니 두 데이터 베이스에 나누어 저장한다.

 

1. 로그인 관련된 정보

2. 내부에 저장된 파일정보

 

물론 데이터베이스 명과 테이블명이

공개되면 그 부분을 통해 공격이 들어올 수 있으나

 

기본적인 방어 설정 또한 진행할것이며

포트폴리오용으로 작성하는 프로젝트임으로

공개하여 진행하도록 한다.

 

 

DB_data 내부에는 로그인과 관련된 정보들이 들어갈 예정이며

usb 에는 저장하고자하는 저장 파일들이 들어가게 될것이다.

 

 

 

좌측의 이미지는 DB_data 데이터베이스의 테이블을 보여준다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

상단의 이미지는 DB_data 내부에 있는 테이블들을 desc를 통해 스키마 를 보인 내용이다.

TABLE OKsign

OKay - 관리자가 허가한 사용자인지를 표현하는 칼럼(int 숫자가 몇이들어가냐에 따라 확장성을 가짐)

name - char 을 통해 저장하는 허가한 사람의 이름 혹은 비허가한 사람의 이름이다.

 

TABLE joinner

number - 칼럼의 키값으로 다른 테이블과 join할때 사용한다

name - 유저의 이름을 저장한 칼럼으로 login 테이블의 id pw 와 매칭이 가능하다.

 

TABLE login

number - 칼럼의 키값으로 다른 테이블과 join 할때 사용한다.

ID - 사용자의 ID를 저장한 칼럼으로 로그인 시 사용하게 된다.

PW - 사용자의 PW를 저장한 칼럼으로 로그인 시 사용하게 된다.

 

현재 로그인에 관련된 테이블을 보이고 설명을 하였으니 이번엔 흐름을 보이겠다.

 

회원가입 1

이름을 알리고 승인을 받는 단계로 아이디 패스워드 입력이아닌 이름만을 입력하여

관리자의 승인을 요청하게 된다..

insert into OKsign values(0,'test');

관리자는 테이블을 확인하여 0 값을 1로 수정해주면 그 뒤 회원가입2 가 진행 가능하게 된다.

승인 쿼리

update OKsign set OKay = 1  where name="승인할 사람 이름";

회원가입을 승인하게 되면 joinner 에 이름을 추가한다.

 

 

회원가입 2

회원가입 1에서 승인된 회원만 가입이 가능하며

ID 와 PW를 직접적으로 DB에 저장하고, 로그인 권한을 받게 된다.

 

 

 

물론 쓸대없이 많은 테이블을 만들었다고 볼 수 있으나

이렇게 만들고싶었다... 중복을 추가하고 테이블을 줄이는

반 정규화를 진행할 수 있다.

하지만 필자는 좀 복잡하게 만들어보고 싶음으로 계속 진행하도록 하겠다.

'usb 대용 프로젝트(라즈비안)' 카테고리의 다른 글

ssh 서버 구축  (0) 2021.06.27
apache 서버 구축  (2) 2021.06.18
Apache 기본 페이지 까지  (0) 2021.04.08
라즈비안 mariadb 설치  (1) 2021.04.07
SERVER 포트포워딩  (0) 2021.04.06