MySQL vs PostgreSQL
·
DB
https://aws.amazon.com/ko/compare/the-difference-between-mysql-vs-postgresql/ PostgreSQL과 MySQL 비교 - 관계형 데이터베이스 관리 시스템(RDBMS) 간의 차이점 - AWSMySQL은 데이터를 행과 열이 있는 테이블로 저장할 수 있는 관계형 데이터베이스 관리 시스템입니다. 많은 웹 애플리케이션, 동적 웹 사이트 및 임베디드 시스템을 지원하는 널리 사용되는 시스aws.amazon.com아마존 문서를 보고 정리했다. MySQL과 PostgreSQL의 차이점MySQL은 데이터를 행과 열이 있는 테이블로 저장할 수 있는 관계형 데이터베이스 관리 시스템이다.많은 웹 애플리케이션, 동적 웹 사이트 및 임베디드 시스템을 지원하는 널리 사용되는..
[DBMS] 트리거, 이벤트 스케줄러
·
DB
트리거트리거(Trigger)는 데이터베이스에서 특정 이벤트가 발생했을 때 자동으로 실행되는 프로그램 또는 명령어 집합이다.트리거는 주로 데이터의 무결성과 일관성을 유지하고, 특정 비즈니스 로직을 자동으로 수행하기 위해 사용된다.예를 들어, 새로운 데이터가 삽입되거나 기존 데이터가 수정 또는 삭제될 때 자동으로 트리거가 실행되도록 설정할 수 있다. 트리거는 DML 트리거와 DDL 트리거로 구분된다. DML 트리거는 INSERT, UPDATE, DELETE 같은 DML 작업이 수행될 때 실행됩니다.  고객이 주문을 새로 추가할 때 재고 수량을 업데이트하거나, 특정 컬럼이 변경되면 로그를 기록하는 등의 작업을 수행할 수 있다.DDL 트리거는 CREATE, ALTER, DROP 등 DDL 명령어가 실행될 때 작..
[MyBatis] MyBatis 개념 및 구조
·
DB
MyBatis란 ? MyBatis는 예전에 iBatis로 불렸던 프레임워크로, 객체와 데이터베이스의 매핑을 관리하며 SQL 쿼리를 XML로 분리해 관리하는 특징을 갖는다. 이 방식으로 Java 코드의 SQL 쿼리 의존도를 낮추면서도 필요한 쿼리를 직접 작성할 수 있어 효율적이다.MyBatis 장점 코드 간결화: Java 코드에서 SQL을 분리함으로써 코드 길이가 줄어들고, 가독성이 높아진다.SQL 분리 관리: SQL 구문을 XML 파일로 따로 관리할 수 있어 결합도가 낮아지고 응집도는 높아진다. 따라서 유지보수도 용이해진다.비용 절감: SQL 구문에 변경이 생길 때 XML 파일만 수정하면 되므로, Java 코드를 재컴파일할 필요가 없어 비용 절감 효과가 있다.ORM (Object - Relational ..
DAO 고도화, 트랜잭션 관리
·
DB
DAO 고도화DAO 고도화를 할 때, 먼저 개선해야 할 부분은 코드 중복이다. 특히 Ctrl+C+V로 반복해서 붙여넣는 부분이 많다면, 템플릿 패턴을 적용하는 것이 효과적이다. 템플릿 패턴템플릿 패턴이란, 어떤 작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내역을 바꾸는 패턴이다. https://yn98.tistory.com/25 템플릿 패턴은 디자인패턴 중에서 행위 패턴 중 하나이다.일반적으로 상위 클래스(추상 클래스)에는 추상 메서드를 통해 기능의 골격을 제공하고, 하위 클래스(구체 클래스)의 메서드에는 세부 처리를 구체화하는 방식으로 사용하며 코드 양을 줄이고 유지보수를 용이하게 만드는 특징을 갖는 디자인 패턴이다. 템플릿 패턴은 ..
[Oracle] DB 계정 생성 후 연동하기
·
DB
1. SQLPLUS 로 접속2. SYS AS SYSDBA (관리자 계정으로) , 비밀번호 입력3. SELECT * FROM ALL_USERS;  생성된 계정 보기4. CREATE USER [생성할 계정명] BY [그 계정이 사용하게 될 비밀번호];    +GRANT SYSDBA TO [권한 줄 계정명];GRANT CONNECT, RESTRICT TO [권한 줄 계정명];GRANT CREATE SESSION TO [권한 줄 계정명];
[DBMS] 정규화 정리
·
DB
정규화란?데이터 관리의 편의성을 증진시키기 위해서 테이블을 분리하는 것이다.(==데이터 중복을 피하기위해서 테이블을 분리하는 것)변경사항이 발생했을때, 1곳만 변경가능하기 때문이다. 예시 )위와 같이 쇼핑몰 테이블이 있다. ( 편의상 pw는 작성하지 않음 )총구매금액에 따라 등급이 정해진다면, 등급 컬럼은 존재하지 않아도 컬럼값(브,실,골)을 예상할 수 있다.==데이터 중복 발생 데이터중복은 DB내에서는 절대 있으면 안 된다.이를 피하기 위해서 ?  "정규화"를 실행하는 것이다.  == 테이블 분리라고 생각하자.위 예시처럼 데이터 중복을 피하기 위해서는, 테이블 외에 테이블을 만드는 것은 어떨까?
SQL 기초
·
DB
SQL 문법SQL (Structed Query Language)이란, 말 그대로 구조화된 질의 언어이다.문법은 3가지로 분류한다. 데이터 정의어(DDL, Data Definition Language) - CREATE, ALTER, DROP, TRUNCATE데이터 조작어(DML, Data Manipulation Language) - SELECT, INSERT, UPDATE, DELETE데이터 제어어(DCL, Data Control Language) - GRANT, REVOKE, COMMIT, ROLLBACK, SAVEPOINT(=CHECKPOINT)오른쪽은 각 문법에 사용되는 명령어이다. WHERE 조건WHERE 조건절에서는 "비교, 범위, 집합, 패턴, NULL, 복합 조건" 등을 다룬다.구분연산자사례비..