일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 오블완
- 책리뷰
- 독후감
- 제주도여행
- 혼자공부하는SQL
- 스플라인
- Linux
- RStudio
- 맛집
- 디지털마케팅
- 제주2주살이
- 스토어드 프로시저
- PRIMARY KEY
- R
- PRML
- 유럽여행
- 에이바우트
- 티스토리챌린지
- 보조인덱스
- 영국여행
- 클러스터형인덱스
- digital marketing
- SQL
- 김호연작가
- 제주도
- Github
- Jupyter notebook
- GenAI
- 혼공S
- 런던
- Today
- Total
목록Study (49)
Soy Library

지금까지는 인덱스의 개념을 파악했다면, 실제로 인덱스를 생성하는 SQL을 익히도록 하자. 인덱스의 생성과 제거 문법 인덱스 생성 문법 앞에서 PRIMARY KEY를 지정하면 클러스터형 인덱스가, UNIQUE를 지정하면 보조 인덱스가 생성되는 것을 확인하였다. 이외에 직접 인덱스를 생성하려면 CREATE INDEX 문을 사용해야 한다. -- 인덱스 생성 CREATE [UNIQUE] INDEX 인덱스_이름 ON 테이블_이름 (열_이름) [ASC | DESC] ; UNIQUE를 쓰면 중복이 안 되는 고유 인덱스를 만드는 것이고, 이를 생략하면 중복이 허용된다. ASC/DESC는 오름차순, 내림차순을 의미한다. 인덱스 제거 문법 -- 인덱스 제거 DROP INDEX 인덱스_이름 ON 테이블_이름 ; 여기서 기본..

클러스터형 인덱스와 보조 인덱스느 모두 내부적으로 균형 트리로 만들어진다. 여기서 균형 트리(Balanced tree, B-tree)는 자료구조에서 사용되는 데이터의 구조로, 뿌리, 줄기, 잎으로 구성되어 있다. 인덱스의 내부 작동 원리 인덱스의 내부 작동 원리를 이해하면 인덱스를 사용해야 할 경우와 아닌 경우를 선택할 때 도움이 된다. 균형 트리의 개념 균형 트리 구조에서 데이터가 저장되는 공간을 노드(node)라고 한다. 루트 노드(root node)는 가장 상위의 노드를 말하고, 모든 출발은 루트노트에서 시작되고 리프노트(leaf node)로 마무리된다. 이 사이에 있는 노드는 중간 노드(internal node)라고 부른다. MySQL에서는 node 대신 페이지(page)라고 부른다. 균형 트리의..

인덱스는 SELECT를 사용해서 테이블을 조회할 때 결과를 빠르게 추출하도록 도와주는 것으로, 실무에서는 현실적으로 인덱스 없이 데이터베이스 운영이 불가능하다. 클러스터형 인덱스(cluetered index)와 보조 인덱스(secondary index)가 있다. 인덱스의 개념 인덱스는 데이터를 빠르게 찾을 수 있도록 해주는 도구이다. 인덱스의 문제점 필요 없는 인덱스를 만든 것은 데이터베이스가 차지하는 공간만 늘어나고, 인덱스를 이용하여 데이터를 찾는 것이 전체 테이블을 찾아보는 것보다 느려질 수도 있다. 인덱스의 장점과 단점 장점) 적절한 인덱스를 생성하고 인덱스를 사용하는 쿼리문을 만들면 기존보다 아주 빠른 응답 속도를 얻을 수 있다. 그 결과 컴퓨터의 부담이 줄어서 전체 시스템의 성능이 향상된다. ..

뷰(view)를 사용하면 사용자에게 필요한 정보만을 보여줄 수 있다. 뷰는 데이터베이스 개체 중 하나로, 실제로 데이터를 가지고 있지는 않다. 뷰는 단순 뷰와 복합 뷰로 나뉘는데, 단순 뷰는 하나의 테이블과 연관된 뷰를 의미하고 복합 뷰는 2개 이상의 테이블과 연관된 뷰를 의미한다. 뷰의 개념 뷰의 기본 생성 먼저 market_db 에 있는 member 테이블에서 mem_id, mem_name, addr의 열만을 출력해보자. USE market_db ; SELECT * FROM member ; SELECT mem_id, mem_name, addr FROM member ; 위에서 보이는 것처럼, 출력 결과는 세 개의 열을 갖고 있는 '테이블'로 볼 수도 있다. 즉, 뷰의 실체란 SELECT 문이 되는 것이..

테이블을 만들 때에는 PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK, DEFAULT 등과 같은 제약조건을 설정해줘야 한다. 이를 잘 이해하고 활용하면 데이터의 오류를 줄여 완전무결한 코드를 만들 수 있다. 제약조건의 기본 개념과 종류 제약조건이란 데이터의 무결성을 지키기 위해 제한하는 조건이다. ※ 데이터의 무결성: 데이터에 결함이 없음. 기본 키(PRIMARY KEY) 제약조건 데이터를 구분할 수 있는 식별자를 PRIMARY KEY, 기본 키라고 부른다. 회원 테이블의 아이디, 학생 테이블의 학번 등을 예로 들 수 있다. NULL값 입력 불가 중복값 입력 불가 테이블에서 기본 키는 1개만 가질 수 있음. CREATE TABLE에서 설정하는 기본 키 제약조건 CREATE TABL..

테이블(table)은 표 형태로 구성된 2차원 구조로, 행과 열로 구성되어 있다. 여기서 행(row)은 레코드(record)라고도 불리며 열(column)은 필드(field)라고도 불린다. 데이터베이스와 테이블 설계하기 테이블을 만들기 전에는 설계를 먼저해야한다. 테이블 설계는 테이블 이름, 열 이름, 데이터 형식, 기본 키 등을 설정하는 것이다. GUI 환경에서 테이블 만들기 데이터 베이스 생성하기 간단한 쿼리문을 통해 naver_db라는 데이터베이스를 만들어보기로 하자. # 간단한 SQL 문으로 데이터베이스 만들기 CREATE DATABASE naver_db ; SQL로 만든 데이터베이스는 화면에 바로 적용되지 않기 때문에 SCHEMAS 패널에 보이지 않는다. 그때는 SCHEMAS 패널의 빈 곳에서 ..

스토어드 프로시져(stored procedure)는 MySQL에서 프로그래밍 기능이 필요할 때 사용하는 데이터베이스 개체이다. 스토어드 프로시져의 기본 구조는 아래와 같다. DELIMITER $$ CREATE PROCEDURE BEGIN -- SQL 프로그래밍 코딩 END $$ DELIMITER ; CALL 프로시져 이름 ; 즉, DELIMITER $$ ~ END $$ 안에 작성하고 CALL로 호출하는 것이다. IF 문 IF문은 조건문으로 가장 많이 사용되는 프로그래밍 문법 중 하나이다. IF 문의 기본 형식 IF THEN SQL 문장들 END IF ; 'SQL 문장들'이 한 문장이면 그 문장만 쓰면 되지만, 두 문장 이상이면 BEGIN~END로 묶어줘야 한다. -- produdure를 만들기 전에 만약..

이제부터는 두 개의 테이블이 서로 관계되어 있는 상태를 고려해서 묶는 경우를 다뤄본다. 조인(join)란, 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어내는 것을 말한다. 예를 들어, 회원 테이블엔는 회원의 이름과 연락처가 있고, 구매 테이블에는 회원이 구매한 물건에 대한 정보가 있을 때 이 두 개를 함께 묶어서 배송에 필요한 테이블을 만드는 작업이 필요하다. 내부조인 일대다 관계의 이해 일대다 관계(one to many)는 한쪽 테이블에는 하나의 값만 존재하지만, 연결된 다른 테이블에는 여러 개의 값이 존재하는 관계를 말한다. 예를 들어, member 테이블에서 블랙핑크는 'BLK'로 하나의 값만 존재하여 PRIMARY KEY로 지정하였지만, buy 테이블에서는 BLK의 구매 내역은 여러 값이 존..