전체 글 117

spring boot 기초

빌드 도구1. 빌드 도구의 정의: 소스코드에서 애플리케이션 생성을 자동화 하기 위한 프로그램: 코드를 사용하거나 실행가능한 형태로 컴파일, 코드 패키징, 테스트 실행등을 포함2. 빌드 도구의 종류Maven vs Gradle1) Maven: 고정적이고 선형적인 단계의 모델을 기반2) Gradle: 작업 의존성 그래프를 기반3) 차이점(Gradle의 특징): Maven에 비해 가독성이 높고 설정이 간단 Maven에 비해 빌드와 테스트 속도가 빠름 postman 설치 : API 테스트를 위해 HTTP 요청을 보낼 수 있는 클라이언트 프로그램 cf) API : 사용자와 서버가 통신을 하기 위한 인터페이스 - open API: 누구나 사용할 수 있도록 ..

카테고리 없음 2024.10.14

SQL정리(비정규화)

/*비정규화    : 정규화된 DB를 성능 향상을 위해 의도적으로 다시 중복을 허용하는 과정        비정규화의 필요성    : 조회 성능의 향상, 쿼리의 복잡성 감소등    >> 시스템의 읽기 성능을 최적화 | 쓰기 작업 보다 읽기 작업이 많을 경우*/drop database if exists `비정규화`;create database `비정규화`;use `비정규화`;# 정규화 된 테이블 예시# 1) 주문 테이블create table orders(order_id int primary key,    customer_id int,    order_date date,    total_amount int,    foreign key(customer_id) references customers(customer..

SQL 2024.09.30

SQL 정리(제 1정규화, 제 2정규화, 제3정규화, BCNF정규화)

제 1 정규화### 제1정규화 (1NF) #### 1NF의 정의# : DB의 정규화 과정 중 첫 단계# : 테이블에서 모든 필드(속성)가 원자값(분할 불가능한 값)을 가져야 한다는 규칙# - 각 컬럼에 반복되는 그룹이나 다중값을 허용하지 않음# - 각 행이 유일한 값을 가지도록 설계# cf) 원자값# : 테이블의 각 컬럼에 저장된 값이 더 이상 분해될 수 없는 가장 작은 단위의 데이터를 의미# > 데이터의 단순성과 명확성을 보장# 제1정규형의 장점# : 다중값이 구현된 컬럼을 개별 행으로 분리 - 데이터 중복 감소# : 각 행이 하나의 데이터만을 참조하도록 분리 - 데이터 무결성 보장# 제1정규형의 단점# - 조회 성능 저하: 데이터 분산으로 인한 조인 연산의 불필요한 사용 증가# - 공간 사용 증가: ..

SQL 2024.09.30

SQL정리(정규화 개요)

# 정규화 #drop database if exists `정규화`;create database `정규화`;use `정규화`;# 정규화 개요### 1. 정규화 개념# : 테이블 간에 중복된 데이터를 허용하지 않는 것# : 중복된 데이터를 허용하지 않음으로 무결성을 유지하는 방법# cf) 데이터 중복# : 동일한 정보가 여러 장소에 반복적으로 저장되는 현상#  EX) 학생 정보가 두 개 이상의 테이블에 저장 | 동일한 학생이 여러 행에 중복되는 경우# cf) 이상 현상# : 비정규화된 데이터베이스에서 발생할 수 있는 데이터의 무결성 문제# > 삽입 이상, 갱신 이상, 삭제 이상# 1) 삽입 이상: 새로운 데이터 삽입 시 비효율적이거나 불가능한 상황# 2) 갱신 이상: 데이터의 일부를 수정할 때, 중복된 모든..

SQL 2024.09.30

SQL정리(ERD)

### erd #### ERD 개념# : Entity Relationship Diagram# : E-R 다이어그램# : Entity(존재하고 있는 것)들의 Relationship(관계)를 나타낸 Diagram(도표)# = 데이터들의 관계를 나타낸 도표(그림)# ERD 구성# 1. 엔티티(Entity)# : 데이터베이스에서 관리되어야 하는 정보의 실제 사례# : 데이터베이스 내에서 식별 가능해야 함# : 사각형으로 표현, 엔티티 이름은 사격형 안에 명시# 2. 속성(Attribute)# : 엔티티를 구성하는 데이터의 항목, 엔티티의 특성이나 상태를 설명# ex) 학생 엔티티 - 학번, 이름, 주소 등# : 원(타원형)으로 표현, 속성의 이름은 원 안에 명시# : 엔티티와 속성은 선으로 연결 # 3. 관계(..

SQL 2024.09.27

SQL정리(trigger)

### h_trigger 폴더 > a_트리거01 파일 #### 트리거(trigger)# : '방아쇠', 자동 실행# : 자동으로 수행하여 사용자가 추가 작업을 잊어버리는 실수를 방지# 트리거 사용 목적-- 수동으로 처리하는 일련 동작을 자동으로 처리하여 데이터의 오류를 방지-- 데이터 무결성 처리에 도움# insert, update, delete (DML, 데이터 조작 언어)작업이 발생하면 실행되는 코드# : 이벤트가 발생할 때 작동# 트리거 종류# after 트리거*, before 트리거# 트리거 문법 체계(기본 형식)# : 스토어드 프로시저와 유사# cf) 차이점: call 문으로 직접 실행 X# 무조건 테이블에서 insert, update, delete 등의 이벤트가 발생하는 경우에만 자동 실행us..

SQL 2024.09.27

SQL정리(동적SQL)

/*동적 SQL        ★prepare & execute    prepare: SQL문을 실행하지 않고 미리 준비    excute: 준비한 SQL문을 실행    +)dellocate prepare: 문장을 해제*/use market_db;#prepare 쿼리문명 from '쿼리문 내용';prepare myQuery from 'select * from member where mem_id= "BLK";';execute myQuery;deallocate prepare myQuery;drop table if exists gate_table;create table gate_table(id int auto_increment primary key,    entry_time datetime);set @curDa..

SQL 2024.09.27

SQL정리(now(), sysdate(), current_timestamp 차이)

# now(), sysdate(), current_timestamp; select now()  , sysdate()     , current_timestamp; # now(): 서버의 시간을 가져오는 함수 # sysdate(): 호출되는 시점을 반환 # current_timestamp: now()와 동일  # 차이점 -- now(), current_timestamp -- : 실행되는 시점에서 시간이 반환 -- sysdate() -- : 호출되는 시점의 시간이 반환 select now()  , sysdate()     , current_timestamp     , sleep(5) -- 시간을 지연시키는 함수 (5초 지연)     , now()  , sysdate() -- 값이 호출되는 시점이 반환! (혼자..

SQL 2024.09.26

SQL정리(StoredProcedure)

/*1. 스토어드 프로시저: MySQL에서 프로그래밍 기능이 필요로 할 때 사용하는 데이터베이스 개체2. 스토어드 프로시저의 구조-- 구분 문자: delimiter: 스토어드 프로시저의 코딩 부분을 일반 SQL문 종료와 구분하기 위해 스토어드 프로시저의 구분문자를 변경--구분 문자 변경의 형태(권장)delimiter $$delimiter ;스토어드 프로시저의 기본형태delimiter $$create procedure `절차명`begin SQL 프로그래밍 코딩end $$delimiter;call `스토어드 프로시저 절차명`;SQL 프로그래밍 종류1. if문기본 형식if 조건문 thensql문장들;end if*/delimiter $$create procedure if1()beginif 100= 100 the..

SQL 2024.09.26

SQL정리(변수)

### SQL 프로그래밍 언어 ###--# 1. 변수# : 데이터를 담는 그릇, 데이터를 저장하기 위한 저장 공간-- 변수 선언 규칙# set @변수이름 = 변수의 값;-- 변수 값 출력# select @변수이름;-- SQL 변수의 특징# : MySQL 워크벤치 시작 시 유지되지만, 종료할 경우 사라짐 (임시 저장 공간)-- SQL 변수 사용 예제 --# 변수 선언set @myVar1 = 5.85;set @myVar2 = 4.25;# 변수 출력select @myVar1; -- SQL은 비절차적 언어이기 때문에 원하는 구문을 따로 실행 가능select @myVar1 + @myVar2;# 테이블을 조회하면서 변수 사용set @txt = '가수 이름: ';set @height = 166;select@txt, ..

SQL 2024.09.26