Database
-
DB와 B-Tree 인덱스Database 2024. 1. 15. 14:21
B-Tree는 정렬된 데이터를 유지하고 로그 시간 내에 검색, 삽입 및 삭제가 가능한 균형 트리 자료 구조로 대용량 데이터를 효율적으로 구성하고 관리하는데 주로 사용된다. B-Tree는 여러 키와 하위 포인터가 포함된 노드가 있는 계층 구조로 데이터 세트가 증가하더라도 효율적인 검색 작업을 제공하도록 설계되었고, 밸런싱 유지는 트리의 깊이가 로그 형식으로 유지되도록 보장하여 다양한 작업에 대해 일관된 성능을 유지하는데 도움이 된다. 데이터베이스의 맥락에서 B-Tree는 인덱스를 구현하는데 자주 사용되며, 이를 통해 인덱스된 컬럼을 기반으로 데이터를 빠르게 검색할 수 있다. DB Index로 B-Tree 계열이 사용되는 이유 Self-balancing BST와 B-Tree 시간 복잡도 스스로 균형을 잡지 ..
-
SQL 튜닝 방법론Database 2023. 11. 28. 17:41
온라인 SQL과 배치 SQL 온라인 SQL과 대규모 배치 SQL은 시기, 범위, 실행 특성에 따라 SQL 쿼리를 실행하는 다양한 방법을 나타내는 방식을 말한다. 온라인 SQL 이는 일반적으로 즉각적인 사용자 요청이나 진행 중인 시스템 간 상호 작용에 대한 응답으로 실시간으로 실행되는 SQL 쿼리 작업을 의미한다. 온라인 SQL 쿼리는 사용자가 상호 작용을 기반으로 즉각적인 피드백이나 데이터 검색을 기대하는 웹 애플리케이션과 같이 사용자 작업에 대한 빠른 응답이 필요한 앱 또는 시스템과 관련되는 경우가 많으므로 이와 관련된 쿼리는 요청 시 필요한 특정 데이터 검색, 업데이트 또는 삽입을 포함하며 규모가 작은 편에 속한다. 이런 특성으로 온라인 SQL은 원활한 사용자 경험을 보장하기 위해 짧은 대기 시간과 ..
-
데이터베이스Database 2023. 11. 20. 19:42
데이터베이스는 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터를 구조화 해놓은 집합체이다. 같은 데이터가 서로 다른 목적을 가진 여러 응용 서비스에 중복되어 사용될 수 있다는 것이다. 데이터 베이스를 ‘데이터의 집합’이라고 정의한다면 DBMS(DataBase Management System)는 이 데이터 베이스를 관리, 운영하는 역할을 한다. 또한 데이터 베이스는 여러 명의 사용자나 응용 프로그램이 공유하고 동시에 접근 할 수 있어야 한다. 사용 목적 데이터베이스가 존재하기 이전에는 파일 시스템을 이용하여 데이터를 관리하였고 현재도 부분적으로 사용되고 있지만 기술이 발전함에 따라 서비스의 규모가 비대해지면서 상이한 시스템간 데이터를 공용으로 사용하기 시작했고 이에 따라 다양한 ..
-
테이블 생성과 조작Database/SQL 2023. 10. 5. 15:27
목표 테이블 생성, 변경 그리고 삭제하는 방법에 대해 알아보자 목차 [테이블 생성](#테이블 생성) [테이블 변경](#테이블 변경) [테이블 삭제](#테이블 삭제) [테이블 이름 변경](#테이블 이름 변경) 테이블 생성 일반적으로 데이터베이스 테이블을 생성하는 데는 두 가지 방법이 있다. 대다수 DBMS는 데이터베이스 테이블을 생성하고 관리할 수 있는 대화형 관리 툴을 제공한다. SQL 문으로 테이블을 직접 생성하고 관리한다. 테이블을 생성하려면 CREATE TABLE 문법을 사용한다. DBMS에서 제공하는 대화형 관리 툴을 사용하더라도 실제로는 SQL 문을 사용한다는 것을 기억할 필요가 있다. 이 경우 SQL문을 직접 쓰는 대신에 관리 툴 인터페이스가 SQL문을 생성하고 실행해준다.(테이블을 변경할 때..
-
계산 필드 생성하기Database/SQL 2023. 9. 29. 17:21
10분 SQL 7장 개요 계산 필드 이해하기 필드 연결하기 수학 계산 수행하기 사용 개요 계산 필드기 무엇인지, 어떻게 생성하는지 알아보고 우리가 사용하는 응용 프로그램에서 계산 필드를 참조하기 위해 별칭을 사용하는 방법도 학습한다. 계산 필드 이해하기 필드란 기본적으로 열과 같은 뜻이며, 종종 서로 바꿔 부르기도 한다. 하지만 데이터베이스 열은 일반적으로 Column 으로 부르며, Field라는 용어는 보통 계산 필드와 함께 사용된다. 계산 필드는 테이블에 저장한 데이터와 응용 프로그램이 원하는 형식이 아닐 경우 사용할 수 있다. 데이터를 있는 그대로 가져온 후 사용 목적에 맞게 바꾸기보다 데이터베이스에서 바로 변환된 혹은 계산된 데이터를 가져올 수 있는 방법이 바로 계산 필드이다. 계산 필드는 데이터..
-
고급 테이블 조인 생성Database/SQL 2023. 9. 29. 17:21
목표 외부 조인에 대해 학습한다. 목차 [테이블 별칭 사용하기](#테이블 별칭 사용하기) [다른 조인 타입](#다른 조인 타입) [그룹 함수와 조인](#그룹 함수와 조인) [조인과 조인 조건](#조인과 조인 조건) 테이블 별칭 사용하기 SQL에서는 열 이름과 계산 필드 그리고 테이블 이름에도 별칭을 사용할 수 있다. 테이블 이름에 별칭을 사용하는 이유는 크게 두 가지다. 사용하는 SQL 명령문의 수를 줄이기 위해 하나의 SELECT 문 내에서 같은 테이블을 여러 번 사용하기 위해 SELECT cust_name, cust_contact FROM Customers AS C, Orders AS O, OrderItems AS OI WHERE C.cust_id = O.cust_id AND OI.order_num ..
-
데이터 그룹핑Database/SQL 2023. 9. 29. 17:20
목표 데이터를 그룹핑하는 방법을 배워 테이블에 있는 데이터의 일부분을 요약한다. 이를 위해 SELECT 문의 GROUP BY와 HAVING 알아보자 목차 데이터_그룹핑_이해하기 그룹_필터링 SELECT문_순서 데이터_그룹핑_이해하기 수 많은 데이터 중 내가 원하는 각 판매처의 제품 수를 구하거나, 하나의 제품만을 판매하는 판매처 혹은 10개 이상을 파는 판매처가 몇 개인지 확인하고 싶다면 어떻게 해야 할까? 이럴 때 그룹핑이 필요하다. 그룹핑은 데이터를 논리적으로 나눠주기 때문에 각 그룹에 대한 집계 연산을 수행할 수 있다. 그룹 생성하기 그룹은 SELECT 문에서 GROUP BY 절을 사용해 생성할 수 있다. SELECT vend_id, COUNT(*) AS num_prods FROM Products ..
-
데이터 삽입하기Database/SQL 2023. 9. 29. 17:20
목표 INSERT 문을 이용해 테이블에 데이터를 삽입하는 방법을 알아본다. 목차 [데이터 삽입 이해하기](#데이터 삽입 이해하기) [다른 테이블로 복사하기](#다른 테이블로 복사하기) 데이터 삽입 이해하기 INSERT 문은 데이터베이스 테이블에 행을 삽입하기 위해 사용하고, 여러 가지 방법으로 사용할 수있다. 완전한 행 삽입하기 부분 행 삽입하기 쿼리 결과 삽입하기 완전한 행 삽입하기 테이블에 데이터를 삽입하는 가장 간단한 방법은 기본 INSERT 문을 사용하는것으로 테이블 이름을 명시하고 새로운 행에 삽입하려는 값을 넣는 것이다. INSERT INTO Customers VALUES (1000000006, 'Toy Land', '123 Any Street', 'New York', 'NY', '11111'..