본문 바로가기

Database20

MyBatis 참고사항(XML 파일 관련) Mapper interface에 어노테이션으로 쿼리를 작성하는 방식 대신XML문을 이용하여 쿼리를 수행하는 구조를 작성해보고자 함. XML 파일에 쿼리를 작성해본적은 있지만 아무것도 없는 상태에서 구조를 만드는 건 처음이라 어려움이 있다.... XML 저장 위치:저장 방법은 두 가지가 있다.1. Mapper 인터페이스가 저장된 곳에 xml 파일을 저장시킨다2. 'src/main/resources' 위치에 Mapper 인터페이스가 저장된 패키지명을 폴더 경로로 만들어준다. XML 파일 명 : XML 파일을 만들 때 정해진 규칙은 따로 없다. 그렇지만 가능하면 Mapper 인터페이스와 같은 이름을 이용하여 가독성을 높여주면 좋다. XML 파일 살펴보기 XML 도입부의 헤더와 doctype이다. 태그는 해당 .. 2024. 5. 29.
복합키 정리 대표 PK를 사용하는 게 유리한 경우 복합키의 정보를 모두 알지 않아도 리소스 관리가 가능할 때(ex : 사용자ID) 데이터를 식별할 수 있는 컬럼의 조합이 유니크하지 않을때(ex. 이름+저자+출판사 로는 동일 명칭의 개정판이 있는 경우 책을 식별할 수 없음) 식별가능한 복합키의 값이 변경 가능할 때 복합키를 구성하는 게 유리한 경우 특정 데이터를 식별하는 게 의미가 없는 경우(ID값을 이용해서 데이터를 조작하지 않는경우) 통계성, 기록성 데이터인 경우 ex) 걸음기록을 저장하는 테이블, 사용자 별 최근 일주일간 평균 걸음 수를 조회 보통 사용자 + 기록일시 기준으로 복합키를 구성한다. 복합키 사용 시 주의 점 복합 키 사용 시 검색 성능이 낮아질 수 있음. 대신 복합 인덱스 사용으로 검색 성능을 높일 .. 2024. 3. 19.
Hot block 관련 글 https://www.ilifo.co.kr/boards/article/48 2024. 3. 12.
VMware CentOS7에 mariaDB 설치,Workbench 연결 https://velog.io/@rbdus96/CentOS7%EC%97%90-MariaDB-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%A4%EC%A0%95 CentOS7에 MariaDB 설치 및 설정 MariaDB를 기본 yum install mariadb로 설치했을 경우 5.5 버전이 설치된다. 따로 repository를 설정해야 상위버전을 설치할 수 있다. 1. mariadb repo 파일을 만든다. tab 키를 이용하면 쉽게 폴더작성이 가능하 velog.io 1. mariadb repo 파일 생성 (mariadb 10.11버전 사용함) vi /etc/yum.repos.d/MariaDB.repo ab 키를 이용하면 쉽게 폴더작성이 가능하다. (폴더가 존재할 경우에만) i 입력하여.. 2024. 3. 6.
8.2 DML, DATA DICTIONARY, -- 데이터 조작어 (DML) -- 테이블을 생성하는 DDL CREATE TABLE DEPT_TEMP AS SELECT * FROM DEPT; SELECT * FROM DEPT_TEMP; -- 테이블에 데이터를 추가 INSERT -- INSERT INTO 테이블 이름 (열이름1, 열이름2, ....) -- VALUES (열이름1에 들어갈 데이터,) INSERT INTO DEPT_TEMP (deptno, DNAME, LOC) VALUES (50,'DATABASE','SEOUL'); SELECT * FROM DEPT_TEMP; DESC DEPT_TEMP; -- 에러 상황 : 데이터타입에 맞지 않거나, 길이가 맞지 않거나, 열보다 데이터를 많이 넣거나 --INSERT INTO DEPT_TEMP(deptno, .. 2023. 8. 2.
7.26 서브쿼리 -- 서브쿼리 -- SQL문을 실행할 때 SQL 문 내부에서 사용하는 SELECT문 -- WHERE 조건절에서 사용할 경우 -- 메인쿼리 --SELECT 컬럼 --FROM 테이블 --WHERE 조건식 ( SELECT 컬럼 -- FROM 테이블 -- WHERE 조건식 ) -- 서브쿼리 -- 존스씨의 급여를 확인 SELECT SAL FROM EMP WHERE ENAME = 'JONES'; -- 존스씨보다 급여를 많이 받는 사람을 조회 SELECT * FROM EMP WHERE SAL > 2975; -- 서브쿼리로 SQL문 합치기 SELECT * FROM EMP WHERE SAL > (SELECT SAL FROM EMP WHERE ENAME = 'JONES'); desc emp; -- 서브쿼리의 특징 -- 1.. 2023. 8. 2.