본문 바로가기

programing/DB4

Collation 오류 (JDBC + MariaDB) Mybatis 하다가 java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8mb4_unicode_ci,COERCIBLE) for operation '=' 이런 오류남 1. 전체 설정DB의 collation_connection을 맞춰 주거나Table을 맞춰줌 2. 부분 설정SQL 문에서 해당 문제 부분만 COLLATE utf8mb4_unicode_ci 붙여서 설정해 줌 2018. 11. 7.
DAO (Data Access Objects) 실질적인 DB와의 연결을 담당하는 객체 서버 통신 쪽에 바로 DB 관련 구현을 바로 기술하는 것은 좋은 구현이 아니기 때문에 DB의 SQL 관련 내용을 구현을 따로 분리하여 구현할 때 DAO를 만들어 구현한다. 2018. 2. 9.
DDL, DML, DCL, TCL - DDL(Data Definition Language)CREATE (생성)ALTER (수정)DROP (삭제)RENAMETRUNCATE (데이터 초기화, 데이터만 지움) - DML(Data Manipulation Language)SELECTINSERTUPDATEDELETE - DCL(Data Control Language)GRANT (권한을 줌)REVOKE (권한을 뺌) * TCL(Transaction Control Language)COMMITROLLBACKSAVEPOINT 2017. 7. 31.
정규화(Nomalization) 정규화 : 관계형 DB 설계에서 중복을 최소화하여 데이터를 구조화 하는 처리 과정 - 제 1 정규화 (같은 컬럼이 중복)-> 중복제거, 원자값이 되도록 분해-> 여러 값을 가진 컬럼이 존재할 수 없다.-> 각 행과 열에는 하나의 값 만 올 수 있다.: 중복 컬럼이 있다면 따로 하나 만들어서 값 넣음 (이름-주소1-주소2, 이름-전화번호1-전화번호2 => 이름-주소, 이름-전화번호) - 제 2 정규화 (키가 여러개 인 경우, 한 쪽에만 의존)-> 1NF 이후, 부분함수종속제거.-> 모든 키가 아닌 컬럼은 기본 키 전체에 의존적이어야 한다. -> 기본 키의 일부분에 의존적이어서는 안된다. : 키 두 개중 하나에만 의존적이면 분리(학번-과목-평가-과목코드-기간 => 학번-과목-평가, 과목-과목코드-기간 ) -.. 2017. 7. 28.