데이터베이스

    데이터베이스 SQL - order by, group by, having 절

    데이터베이스 SQL - order by, group by, having 절

    SQL 공부하면서 은근은근 많이 사용한 ORDER BY와 GROUP BY, 그리고 GROUP BY의 조건을 추가하는 HAVING 절에 대해 포스팅하려 한다. 최근 사이드 프로젝트를 하면서 정의된 테이블에서 user 테이블을 예시로, 쿼리문도 돌리고 어떻게 동작하는지 정의할 것이다. status는 user의 상태값을 내기 위해 TINYINT로 타입을 줘서 큰 숫자는 못주고 일단 임의로 숫자를 바꿔놨다. 아직 설계 단계라 password도 hash가 적용 안됐다. 암튼 설계 단계의 테이블을 이렇게 정의하였고 직접 쿼리문을 짜 보고 실행해볼 것이다. ORDER BY order by는 데이터베이스에서 데이터를 조회하는데 어떠한 데이터를 기준으로 정렬하고자 사용하는 SQL 절이다. ASC, DESC 위와 같이 s..

    [Database] Master, Slave DB

    [Database] Master, Slave DB

    지금까지 일반적으로 DB를 사용하는데에 있어서 Replication 기법을 사용하지 않고 프로젝트를 진행했었다. 대규모 프로젝트를 참여하지 않아봐서 그런 것일 수도 있지만 회사도 그렇고, Git에 있는 프로젝트를 보면 이중화 구성으로 되어있는 몇몇 프로젝트들이 master-slave 구조로 되어있다. 이번엔 Master, Slave 이중화(Replication)에 대해 알아볼 것이다. DB Replication 동작원리 Client가 쓰기 작업을 요청한다. 쓰기 쿼리 요청(Insert, Update, Delete)은 Master DB가 받는다. Master는 변경 사항을 Binary log 파일에 기록한다. 이후 DB에 Commit한다. Slave는 현재까지 기록한 event 정보를 가져 다음 이벤트 정..

    [데이터베이스] SQL 문 (INSERT, SELETE)

    [데이터베이스] SQL 문 (INSERT, SELETE)

    코드프레소 Java 웹 개발 체험단 활동 중 '처음 시작하는 SQL 프로그래밍' 강의에 SQL 문법에 대해 작성하려 한다. 전에 백엔드 개발자 CS 면접 대비 글을 업로드를 했었는데 SQL에 데이터 조작, 정의, 제어문이 있는데, 이것을 DDL, DML, DCL 이렇게 부른다. 공부를 하면 1시간만에 금방 외울 것이며, 외워서 나쁠 것이 없는 게 정보처리기사에 꾸준히 나오는 기출문제다. 현재 작성 중이긴 한데 정보처리기사 후기 및 예상 문제 리뷰를 게시할 예정이다. (시간이 잘 안난다...ㅠ) 일단 3가지 먼저 분류하고 정의부터 설명한 다음 강의 내용을 포스팅할 것이다. DDL, DML, DCL이란? 명령어 종류 명령어 설명 데이터 조작어 (DML:Data Manipulate Language) SELEC..

    [데이터베이스] MySQL 실습 환경 구축, 초기 실습

    [데이터베이스] MySQL 실습 환경 구축, 초기 실습

    코드프레소 Java 웹 개발 체험단 활동 중 이번엔 '처음 시작하는 SQL 프로그래밍' 강의를 수강했다. 데이터 CRUD 조작과 트랜잭션 커밋에 개념을 알아야 웹 어플리케이션에서 데이터를 가공하고 사용할 수 있다. 이번엔 MySQL 초기 환경 구축과 간단한 실습에 대해 포스팅하려 한다. 데이터베이스 (Database)란? 데이터는 다양한 방법으로 관리 가능 (파일, 엑셀 등) 여러 사람이 공유하여 사용할 목적으로, 통합하여 관리되는 데이터의 집합 자료 항목의 중복을 없애고 자료를 구조화하여 저장함으로서 자료 검색과 갱신의 효율을 높인다. DBMS (Database Management System) 데이터베이스를 관리하기 위한 프로그램 DBMS의 종류 (RDBMS) : MySQL, Oracle, Postg..