본문 바로가기

DataBase/개념7

인덱스, 쿼리 속도를 향상시키는 개체 : 개념과 사용하는 이유 포스팅 내용 인덱스 개념 인덱스를 사용하는 이유 인덱스 사용은 항상 성능을 향상시키는 것은 아니다. 인덱스 종류 : Clustered Index와 Non-Clustered Index 이번 포스팅은 쿼리 조회 속도를 향상시키는 개체인 인덱스에 대해 알아보고자 한다. 1. 인덱스 개념 인덱스 (Index) 란, '데이터 검색 성능의 향상' 을 위해 테이블 열에 사용하는 자료구조로, 데이터베이스 객체이다. 데이터베이스를 책에 비유하자면, 인덱스는 책의 색인과도 같다. 보통 select 쿼리의 where 절이나 join 예약어 사용시에 인덱스가 사용되며, select 쿼리의 검색 속도를 빠르게 하는데 목적이 있다. 2. 인덱스를 사용하는 이유 테이블에 데이터가 쌓여가면서 db는 저장 공간에 비어있는 공간이 있으.. 2022. 2. 6.
select 문 실행순서와 처리 과정 select 문 실행순서 group by 와 having 절에서의 주의사항 조건절 : having 절과 where 절의 차이 where절에서의 alias 사용은 ‘Invalid Identifier’ 에러를 발생시킨다. select 문 실행순서 SQL 문은 비절차적인 언어지만, 내부적으로 DBMS에 의해 실행 순서를 가진다. SELECT [ ALL | DISTICT ] [ TABLE NAME.]{ * | 속성이름 [[AS] 별칭]} FROM { 테이블이름 [[AS] 별칭]} [ INNER JOIN | LEFT OUTER JOIN | RIGHT OUTER JOIN { 테이블 이름 } ON 검색조건 ] WHERE 검색조건 GROUP BY 속성이름,.. HAVING 검색조건 [ 질의 UNION 질의 | 질의 U.. 2022. 1. 24.
[SQL Mapper/iBatis] iBatis 문법정리 / Oracle 쿼리정리 iBatis 참고할 만한 내용들 iBatis는 더이상 개발이 중지된 상태이며, Apache project에서 google code로 넘어가면서 MyBatis 로 이름이 바뀌었다. MyBatis, iBatis는 ORM이 아닌, SQL Mapper이다. ORM은 객체를 매핑하는 것이고, SQL Mapper는 쿼리를 매핑한다. 실제 프로그램이 구동되면, 1. SqlMapConfig.java에서 내부적으로 데이터베이스와 Connection을 맺고, Statement객체를 생성한 후, 해당리소스 (SqlMapClient)를 반환한다. 2. 반환된 리소스로 SqlMap.xml에 정의된 Statement (method)를 호출한다. iBatis의 핵심은 SqlMapConfig에 있다. 데이터베이스 연동을 위해 JDB.. 2020. 10. 12.
SQL Mapper 이번 포스팅에서 다루는 내용 1. SQL Mapper와 ORM의 차이점 2. 영속성 개념 결론부터 말하자면, 1. ORM은 데이터베이스 테이블을 자바 객체로 매핑함으로써 객체간의 관계를 바탕으로 SQL을 자동으로 생성하지만, SQL Mapper는 SQL을 명시해주어야한다. 2. ORM은 RDB의 관계를 객체에 반영하는 것이 목적이라면, SQL Mapper는 단지 필드를 매핑시키는 것이 목적이라는 차이가 있다. 1. SQL Mapper, ORM에 대해 알아보자. SQL Mapper이란? SQL Object field SQL 문으로 직접 데이터베이스를 조작한다. 사용: MyBatis, iBatis, jdbcTemplate ORM (Object-Relation Mapping/ 객체-관계 매핑)이란? DB da.. 2020. 10. 11.
잘못 설계된 데이터베이스는 어떻게 수정해야 할까? (3) (feat.정규화) 목차 1. 이상현상 2. 함수 종속성 3. 정규화 요약 정규화 : 릴레이션을 분해하여 이상현상을 제거하는 과정. 제 1정규형 (1NF) : 어떤 릴레이션 R의 모든 속성 값이 원자값을 가지면 제 1정규형을 만족한다. 제 2정규형(2NF) : 어떤 릴레이션 R이 제 1정규형이고, 기본키가 아닌 속성이 기본키에 완전 함수 종속일 때 제 2정규형이라고 한다. 제 3정규형(3NF): 어떤 릴레이션 R이 제 2정규형이고, 기본키가 아닌 속성이 기본키에 비이행적으로 종속할 때 (직접 종속) 제 3정규형이라고 한다. BCNF (Boyce Codd Normal Form): 함수 종속성 X->Y가 성립할 때 모든 결정자 X가 후보키면 BNCF이다. 이번 포스팅에서는 시리즈의 핵심 !! 👊🏻 데이터베이스에 이상현상이 발생.. 2020. 7. 31.
잘못 설계된 데이터베이스는 어떻게 수정해야 할까? (2) (feat.함수 종속성) 목차 1. 이상현상 2. 함수 종속성 3. 정규화 정규화.. 에 대해 알아보기에 앞서 알아두어야 할 개념이 있다. 정규화를 하기 위해서는 먼저 테이블을 분석하여 기본키와 함수 종속성에 대해 파악해야한다. 또한, 함수 종속성을 파악하기 위해서는 우선 기본키를 찾아야 한다. 이번 포스팅에서는 "함수 종속성과 기본키" 에 대해 알아보도록 하자. 1. 함수 종속성이 뭐지? 이름에서부터 유추할 수 있듯이, 속성과 속성간의 의존관계를 나타낸다. 예를 들어보자. 학생번호 학생이름 학과 강좌이름 강의실 성적 101 신가은 컴퓨터과학과 데이터베이스 북악621 3.5 102 라영지 컴퓨터과학과 자료구조 북악620 4.0 103 홍영준 공연예술학부 문학과사회 혜인503 3.5 101 신가은 컴퓨터과학과 운영체제 북악606 .. 2020. 7. 29.