Tiny Bunny
[MySQL] MySQL Monitor
·
🛠️Backend/MySQL
이번 포스팅에서는 MySQL이 제공하는 기본 CLI 프로그램인 MySQL Monitor 환경에서데이터베이스를 생성하고, 테이블을 만들고, 데이터를 삽입하는 기본적인 과정을 정리해보았습니다.MySQL Monitor`mysql -u root -p` 명령어로 접속하는 CLI 환경을 말하며, MySQL 서버에 직접 명령어를 입력해 조작할 수 있다.mysql서버의 번들로 제공하는 기본 프로그램명령어 기반사용법mysql -u아이디 -p비밀번호-u root: 사용자 계정(root) 지정-p: 비밀번호 입력을 위한 옵션데이터베이스 생성CREATE DATABASE music CHARACTER SET utf8 COLLATE utf8_general_ci; utf8, utf8_general_ci 옵션은 한글 데이터를 다룰 때..
[SQLD] 정규화(Normalization)
·
💡STUDY/SQLD
정규화(Normalization)정규화는 데이터베이스의 중복을 최소화하고 데이터 무결성을 보장하기 위해 테이블을 분해하는 과정입니다.목적중복 제거: 같은 데이터가 여러 곳에 저장되는 것을 방지데이터 무결성 보장: 일관성 있는 데이터 유지저장 공간 효율성: 불필요한 저장 공간 절약이상 현상 방지: 삽입, 삭제, 수정 이상 방지이상 현상(Anomaly)의 종류1. 삽입 이상(Insertion Anomaly)새로운 데이터를 삽입할 때 원하지 않는 데이터도 함께 삽입해야 하는 현상예시: 새로운 과목을 개설하려면 반드시 수강하는 학생이 있어야만 등록 가능2. 삭제 이상(Deletion Anomaly)특정 데이터를 삭제할 때 필요한 다른 데이터까지 함께 삭제되는 현상예시: 마지막 학생이 수강을 취소하면 그 과목 정..
[SQLD] 집계 함수 ROLLUP, CUBE, GROUPING SETS
·
💡STUDY/SQLD
그룹 집계 필요성실무에서는 데이터를 단순히 나열하는 것만으로는 부족합니다.그룹별로 요약된 통계 정보를 구해야 할 때가 많습니다.예를 들어,"부서별 평균 급여는 어떻게 되지?""직급별 인원 수를 알고 싶어.""부서와 직급별 급여 총합이 필요해."이런 요구사항을 처리하기 위해 사용하는 것이 바로 GROUP BY이며,이 기능을 확장한 것이 ROLLUP, CUBE, GROUPING SETS입니다.ROLLUP – 계층적 집계ROLLUP은 위계(hierarchy) 구조를 기준으로 단계적으로 요약 집계를 해주는 기능입니다.쉽게 말하면, 상위 → 하위 항목 순으로 점차 집계를 생략하며 총합을 계산합니다.목적부서 → 직급 → 전체 총합처럼 단계적 요약이 필요한 경우보고서나 대시보드에서 요약 레벨별로 데이터를 보고 싶을 ..
[Spring Boot] Bank App (9) 계좌 상세보기
·
🛠️Backend/Java | Spring
이번에는 계좌 상세 보기 기능을 단계별로 구현하는 방법을 설명하겠습니다.계좌 상세 보기를 통해 특정 계좌의 입금, 출금, 이체 내역을 확인할 수 있습니다.사용자는 전체 거래 내역 또는 특정 유형(입금, 출금)만 필터링할 수도 있습니다. 계좌 상세 보기: 특정 계좌의 거래 내역을 확인하는 기능입니다.유형별 조회: 모든 거래, 입금만, 출금만 보기 기능을 제공합니다.목표: 계좌 번호와 사용자의 인증 상태를 확인하고, DB에서 내역을 조회하여 화면에 출력합니다.1. 데이터베이스 테이블 생성테이블 구조 create table user_tb( id int auto_increment primary key, username varchar(50) not null unique, password varchar(1..