본문 바로가기
반응형

IT/DB5

기본키(PK) vs 외래키(FK) 차이 한 방에 끝내기 Primary Key와 Foreign Key 차이 완벽 정리 | 왜 필요하고 어디서 헷갈릴까?DB를 공부하다 보면 Primary Key(기본키)와 Foreign Key(외래키)라는 개념이 반드시 등장합니다. 두 가지 모두 테이블에서 핵심적인 '키(Key)' 역할을 한다는 점은 같지만, 실제 데이터베이스 안에서의 역할은 완전히 다릅니다.결론부터 말씀드리면 Primary Key는 한 행을 구분하는 고유한 값이고, Foreign Key는 다른 테이블의 데이터를 연결하기 위한 값입니다. DB에서 데이터의 중복을 줄이고 관계를 정확하게 설계하려면 이 두 개념의 차이를 가장 먼저 잡아야 합니다.1. 두 개념이 유독 헷갈리는 이유처음 DB를 접할 때 두 키가 비슷하게 느껴지는 이유는 둘 다 id 같은 단순한 숫자로 .. 2026. 5. 27.
DB, 테이블, 컬럼, 행 차이 완벽 요약 DB와 테이블, 컬럼, 행 차이 완벽 정리 | 초보자가 가장 먼저 알아야 할 구조데이터베이스를 처음 공부할 때 가장 헷갈리는 부분이 바로 DB와 테이블, 컬럼, 행 차이입니다. 용어는 수없이 듣지만, 막상 데이터를 저장하고 쿼리를 짤 때 이들이 각각 어떤 역할을 하는지 감이 안 잡히는 경우가 많습니다. 이 글에서는 데이터가 저장되는 큰 틀부터 세부 항목까지, 실무에서 헷갈리지 않게 개념을 확실히 잡는 방법을 정리해 드립니다.자주 보이는 증상처음 DB를 접하는 분들이 겪는 대표적인 혼란은 다음과 같습니다.'데이터베이스 생성', '테이블 만들기', '컬럼 추가', '행 조회' 같은 명령어가 뚜렷한 계층 없이 섞여서 들립니다.'레코드(Record)'나 '필드(Field)' 같은 비슷한 용어가 등장하면 완전히 .. 2026. 5. 20.
PostgreSQL 기본 명령어 정리 PostgreSQL을 처음 설치하고 나면“접속은 어떻게 하지?”, “DB는 어떻게 만들지?”, “테이블 목록은 어떻게 보지?”같은 기본적인 부분에서 막히는 경우가 많습니다.이번 글에서는 PostgreSQL을 사용할 때 가장 많이 사용하는 기본 명령어들을 정리해보겠습니다.1️⃣ PostgreSQL 접속하기Ubuntu 기준으로 PostgreSQL 기본 계정은 postgres입니다.sudo -u postgres psql위 명령어를 실행하면 psql 콘솔에 접속하게 됩니다.접속이 되면 아래처럼 프롬프트가 바뀝니다.postgres=#여기서부터 SQL 명령어를 입력하면 됩니다.2️⃣ 데이터베이스(Database) 관련 명령어📌 데이터베이스 목록 확인\l또는\list현재 서버에 존재하는 데이터베이스 목록을 확인할 .. 2026. 2. 17.
인덱스 스캔(index scan) SCAN 방식의 기본 개념1️⃣ FULL TABLE SCAN테이블 전체를 처음부터 끝까지 읽는 방식입니다.다음과 같은 경우에 선택됩니다.WHERE 절 컬럼에 인덱스가 없는 경우조건을 만족하는 데이터 비율이 매우 높은 경우테이블 자체의 데이터 건수가 적은 경우데이터가 적은 테이블에서는인덱스를 거치는 것보다 FULL TABLE SCAN이 오히려 빠를 수 있습니다.2️⃣ ROWID SCANROWID를 이용해 단일 행에 직접 접근하는 방식입니다.가장 빠른 접근 방법으로, 보통 다음과 같은 경우에 발생합니다.ROWID를 조건절에서 직접 사용한 경우인덱스 스캔 후 실제 테이블 데이터를 읽을 때3️⃣ INDEX SCAN 종류INDEX SCAN은 상황에 따라 여러 방식으로 나뉩니다.INDEX UNIQUE SCANUNI.. 2026. 2. 3.
옵티마이저(Optimizer) 옵티마이저는 SQL 문장이 실행될 때,어떤 방식으로 데이터를 조회하는 것이 가장 효율적인지 판단해 주는 DBMS의 핵심 구성 요소입니다.SQL이 실행되면 DBMS는 바로 데이터를 읽지 않고,여러 가지 실행 방법(실행계획)을 먼저 생성합니다.그리고 각 실행계획마다 예상 비용을 계산한 뒤,그중 가장 비용이 낮다고 판단되는 실행계획을 선택해 SQL을 수행합니다.옵티마이저의 종류옵티마이저는 실행계획을 세우는 방식에 따라 크게 두 가지로 나뉩니다.1️⃣ 규칙 기반 옵티마이저(RBO)규칙 기반 옵티마이저는 미리 정해진 우선순위 규칙을 기준으로 실행계획을 선택합니다.예를 들어,ROWID 접근PRIMARY KEY 또는 인덱스를 이용한 조회이러한 방식은 항상 빠르다고 가정하고,데이터의 실제 분포나 양과 상관없이 규칙이 .. 2026. 2. 2.
반응형