본문 바로가기

DEVELOP/Database

[Database] 데이터베이스의 인덱스 [Database] 데이터베이스의 인덱스 인덱스란? 인덱스는 데이터베이스에서 테이블의 동작 속도를 높여주는 자료구조를 의미합니다. 말 그대로 책의 색인과도 같다고 할 수 있습니다. 많은 책들에는 특정 키워드를 찾기 쉽도록 책의 맨 뒤에 키워드와 그 키워드가 나온 페이지를 정리해둔 색인이 있습니다. 만약 데이터베이스 책에서 Distinct란 단어를 찾고 싶다고 가정해봅시다. 가장 먼저 떠오르는 방식은 책의 1 페이지부터 한장씩 넘기면서 Distinct란 단어를 찾는 것입니다. 이건 Table Full Scan과 같습니다. 하지만 이렇게 할 경우 10 페이지 짜리 책이라면 그리 오래 걸리지 않겠지만, 1000 페이지 책이라면 상당히 많은 시간이 걸릴 것입니다. 52 페이지 쯤에서 키워드를 발견했다고 해도 뒤.. 더보기
[Database] SQLD SQL 개발자 시험 후기 [Database] SQLD SQL 개발자 시험 후기 2022년 11월 5일 47회 SQL 개발자 자격증 시험을 봤습니다. 누군가에게는 도움이 될까 싶어, 그리고 기록을 위해 남겨두는 후기입니다. 동기 시험을 본 시점에서 저는 이런 사람이었습니다. 4년차 백엔드 개발자 경제학 전공 SQLD는 난이도가 높은 시험이 아닙니다. 개발자에겐 없어도 그만, 있으면 좋은가...? 싶은 정도의 느낌인 것 같습니다. 만 3년 넘게 개발 업무를 했으면 떨어질 수 없는, 떨어져서는 안 되는 시험이라고 생각합니다. 사실 주변에도 이 시험을 본 기획자분들은 있는데, 개발자분은 못 본 것 같습니다. 그럼에도 SQLD 시험을 본 이유는 두가지입니다. 컴퓨터공학 학위가 없다 SQLP 대비 체험 일단 학위가 없어도 개발 일을 할 수.. 더보기
[Database] 트랜잭션의 특성과 격리 수준 [Database] 트랜잭션의 특성과 격리 수준 트랜잭션이란? Transaction(트랜잭션)이랑 무엇일까. 영문 위키피디아는 트랜잭션을 이렇게 설명한다. A database transaction symbolizes a unit of work performed within a DBMS against a database, and treated in a coherent and reliable way independent of other transactions. 중요하다고 생각되는 부분만을 취합해보면 트랜잭션이란 작업의 단위이며, 일관성 있고 신뢰할 수 있어야 하며, 다른 트랜잭션에 대해 독립적이다, 즉 상호독립적이다 고 설명할 수 있다. 여기서 작업의 단위란 트랜잭션의 정의이며, 일관성이고 신뢰적이며 상호독.. 더보기
[Oracle] SELECT로 데이터 조회하기 [Oracle] SELECT로 데이터 조회하기 셀렉션, 프로젝션, 조인 데이터베이스의 데이터 조회는 3가지 차원으로 나눌 수 있다. 셀렉션: 행 단위로 데이터 조회 프로젝션: 열 단위로 데이터 조회 조인: 두 개 이상의 테이블을 연결하여 데이터 조회 데이터를 조회하기 위한 SELECT문을 사용해서, 적절하게 셀렉션, 프로젝션, 조인을 할 수 있다. SELECT 정리 DESC, DESCRIBE 테이블 정보를 살펴볼 수 있다. DESC를 사용하여 학습에 사용할 SCOTT의 테이블들을 살펴보겠다. SQL> DESC EMP; Name Null? Type ----------------------------------------- -------- ---------------------------- EMPNO NOT.. 더보기
[Oracle] mac OS에서 도커로 오라클 XE 11g 설치 [Oracle] mac OS에서 도커로 오라클 XE 11g 설치 오라클 데이터베이스 학습을 위한 XE 11g 버전 설치 SCOTT 계정 생성 도커 설치 전제 TODO Homebrew로 Docker 설치 포스팅 후 링크 추가 1. 도커 이미지 pull 터미널에서 도커 이미지를 검색한다. 몇가지 이미지가 뜬다. $ docker search oracle NAME DESCRIPTION STARS OFFICIAL AUTOMATED oracleinanutshell/oracle-xe-11g 143 wnameless/oracle-xe-11g-r2 Oracle Express Edition 11g Release 2 on Ubun… 58 orangehrm/oracle-xe-11g docker container with Or.. 더보기
[Oracle] mac OS에서 도커로 오라클 EE 12c 설치 [Oracle] mac OS에서 도커로 오라클 EE 12c 설치 맥 환경에서 도커를 활용하여 오라클 데이터베이스 설치 방법. 도커가 설치되어 있다고 전제한다. TODO Homebrew로 Docker 설치 포스팅 후 링크 추가 1. 오라클 12c 도커 공식 문서 확인 1) Oracle Database Enterprise Edition 도커 Hub로 이동 https://hub.docker.com/_/oracle-database-enterprise-edition 위 링크에 접속해서 우측 Proceed to Checkout 버튼 클릭 2) 정보 입력 후 약관 동의 이름, 회사, 연락처 등 정보를 입력하고 약관에 동의한다. 3) 도커 이미지 문서 확인 오라클 DB 도커 이미지 가이드 문서를 확인한다. 2. 터미널.. 더보기
[Oracle] 데이터 모델과 관계형 데이터베이스 [Oracle] 데이터 모델과 관계형 데이터베이스 데이터 모델 데이터를 저장하는 방식을 정의한 개념 모형 계층형 네트워크형 객체지향형 관계형 계층형 트리(tree) 구조 데이터 관련성을 계층별로 나누어 부모-자식 관계를 정의 1:N 제약: 하나의 부모가 여러 자식을 가질 수는 있지만, 자식이 여러 부모를 가진 경우 표현 불가 네트워크형 그래프(graph) 구조 계층형에서 불가능했던 자식이 여러 부모를 가진 경우 표현 가능 객체지향형 객체 개념 기반 데이터가 독립된 객체로 구성되어 상속, 오버라이드 등 활용 가능 객체지향 개념을 데이터베이스에 완전히 적용하기는 어려움 관계형 데이터 모델 데이터 간 관계에 초점 관계형 데이터베이스의 바탕이 되는 모델 Example 한 방송국에서 섭외 가능한 아이돌의 멤버와 .. 더보기
[Oracle] 데이터베이스란? [Oracle] 데이터베이스란? 데이터와 정보 Data(자료) 필요에 의해 수집했지만 아직 특정 목적을 위해 평가하거나 정제하지 않은 값이나 사실 Information(정보) 수집한 데이터를 특정 목적을 위해 분석하거나 가공하여 가치를 추가하거나 새로운 의미를 이끌어낸 결과 효율적인 데이터 관리 해당 조건을 만족하는 구조화된 데이터 집합을 데이터베이스라 부른다 데이터 통합 관리 일관된 방법으로 관리 데이터 누락 및 중복 제거 여러 사용자에 의한 실시간 사용 가능 파일 시스템 vs DBMS 파일 시스템 방식 각 응용 프로그램이 필요한 데이터를 각각 저장 및 관리 각 프로그램 간 데이터에 연관이 없고 중복 및 누락 발생 가능 Flat File Structure(단층 파일 구조) 학사 프로그램에서 학적 데이터.. 더보기