이번 포스팅에서는 인덱스에 대해서 알아보겠습니다. 인덱스란 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 자료 구조 입니다. 추가적인 쓰기 작업과 저장 공간은 어떻게 이루어져 있을까요? 아래 그림에서 예시를 통해 알아보겠습니다. 오른쪽 테이블에 Data라는 컬럼에 인덱스를 생성한 것이라면,, 해당 Data라는 컬럼의 데이터를 정렬한 후 별도의 메모리 공간에 데이터의 주소와 함께 저장됩니다. 즉, 컬럼의 값과 물리적 주소를 한 쌍으로 저장하는 것이죠 실무에서는 인덱스를 잘 설정하는 것이 매우매우 중요합니다! 실무에서는 정말 복잡한 수백개, 수천개 이상의 SP(Stored Procedure)를 사용하는데.. Index를 설정하지 않아 SP 처리속도가 느리게..
이번 포스팅에서는 SQL에 대해 알아본다. SQL이란? Structured Query Language의 약자로, 관계형 데이터베이스를 만들고 쿼리하기 위한 표준 언어이다. SQL은 3가지의 종류로 나눌 수 있다. DDL, DML, DCL이다. DDL이란 Data Definition Language의 약자로, 테이블 생성, 변경 및 삭제와 제약 조건 설정을 포함하여 데이터베이스를 정의하는 기능이다. DML이란 데이터베이스를 유지 관리하고 쿼리하는 명령이다. SQL의 핵심이다. DCL이란 권한 관리 및 데이터 커밋을 포함하여 데이터베이스를 제어하는 명령이다. DBA가 사용한다. 목차 1. DDL 2. DML 1. DDL CREATE CREATE는 테이블을 생성할 때 사용하며 사용법은 위의 그림과 같다. 예시..
이번 포스팅에서는 Relational Algebra에 대해서 알아본다. 앞선 포스팅에서 배웠던 내용을 다시 한 번 정리해본다. Relation이란? 2차원 데이터의 집합이다. Relational Data Model에서는 3가지를 포함한다고 배웠었다. Data Structure, Data Integrity, Data Manipulation이다. Data Structure란 데이터를 어떻게 구성하는지에 대한 것이다, Data Integrity란 비즈니스 룰에 따라 데이터의 무결성을 어떻게 유지하는 것에 대한 것이다. Data Manipulation이란 데이터를 어떻게 조작하는지에 대한 것이다. Data Manipulation에 대한 내용을 지금 포스팅에서 배워본다. Relational Argebra란 테이블..
이번 포스팅에서는 Physical Database Design에 대해서 알아본다. 현재 단계는, DB 설계과정에서 아래 그림과 같다. Physical Database Design의 목적은 데이터의 논리적 설명을 데이터 저장 및 검색을 위한 기술사양으로 변환하는 것이다. 목차 1. Physical Databse Design Process 2. Volume/Access Frequency Estimation 3. Designing Fields 4. Denormalization 5. Partitioning 6. File Organization 7. Rules for Using Indexes 또한, Physical Database Design의 목표는 적절한 성능을 제공하고 데이터 베이스 무결성, 보안 및 복구 ..
최근 들어 프로젝트에 JPA를 사용하면서 DB에서 데이터들을 편리하게 꺼내 쓸 수 있음을 느낄 수 있었다. 그런데, DB의 근본적인 개념들에 대해 부족함을 느껴 이를 정리해보고자 한다. 정리에 사용되는 자료는 다음과 같다. 명지대학교 융합소프트웨어학부 김일주 교수님의 DB설계 및 구현2 수업자료들과, 수업교재로 사용된 Modern Database Management, 12th Edition(J.A Hoffer)이다. 첫 포스팅은 데이터베이스 환경과 개발 프로세스이다. 목차는 다음과 같다. 목차 1. 현대 조직에서의 데이터 2. 데이터, 정보, 지식 3. 데이터베이스란 4. 왜 데이터베이스를 사용하는가 5. DB 기술의 진화 6. DB 개발 프로세스 데이터베이스 환경과 개발 프로세스 1. 현대 조직에서의 ..