Computer Science/Database

[DB] 05. 정규화(Normalization)

[DB] 05. 정규화(Normalization)1. 정규화란 무엇인가정규화는 데이터를 여러 테이블로 나누는 과정이다.목적은 단순하다.중복 데이터를 제거하고, 데이터가 서로 어긋나는 상황을 막기 위함이다.처음 테이블을 설계할 때는 한 테이블에 모든 정보를 넣는 것이 편해 보인다.하지만 데이터가 쌓이기 시작하면 바로 문제가 생긴다.2. 정규화 전 테이블 구조아래는 주문과 회원 정보를 하나의 테이블에 모두 저장한 예시다.orders (정규화 전) order_id user_name user_email product price 1 홍길동 hong@test.com 노트북 1200000 ..

[DB] 04. 무결성과 제약조건

[DB] 04. 무결성과 제약조건1. 무결성(Integrity)이란?무결성은 데이터가 논리적으로 올바르게 유지되는 상태를 의미한다.저장은 됐는데 믿을 수 없는 데이터가 쌓이는 순간부터 서비스는 유지가 어려워진다.그래서 DB는 데이터를 그냥 받아들이지 않고,“지켜야 할 규칙”을 정해두고 그 규칙을 위반하면 저장 자체를 막는다.2. 무결성을 DB에서 보장하는 이유애플리케이션 코드에서도 검증을 할 수 있다.하지만 코드 검증만 믿으면 빈 구멍이 생긴다. 다른 프로그램/관리 툴이 DB에 접근할 수 있다 실수로 잘못된 쿼리를 실행할 수 있다 검증 로직이 분산되면 일관되게 유지하기 어렵다그래서 중요한 규칙은 DB 차원에서 한 번 더 막아두는 편이 안전하다.3. 개체 무결성(Entity Integrity)개체 무..

[DB] 03. 키(Key)와 테이블 간 관계 (PK / FK)

[DB] 03. 키(Key)와 테이블 간 관계 (PK / FK)1. 키(Key)가 필요한 이유테이블에 행이 쌓이면 “각 행을 구분할 기준”이 필요하다.이 기준이 없으면 특정 데이터를 정확히 찾거나 수정하기가 어려워진다.이름(name)처럼 사람 눈에는 구분되는 값도,데이터가 쌓이면 중복될 수 있다.그래서 보통 의미 없는 숫자 ID를 기준으로 삼는다.2. 기본 키(Primary Key, PK)기본 키는 테이블의 각 행을 유일하게 식별하는 컬럼(또는 컬럼 조합)이다. 중복될 수 없다 NULL이 될 수 없다users 예시 컬럼명 역할 id PK(회원 식별자) email UNIQUE로 중복 방지 가능 ..

[DB] 02. 관계형 데이터베이스 구조와 테이블

[DB] 02. 관계형 데이터베이스 구조와 테이블1. 관계형 데이터베이스(RDB)란?관계형 데이터베이스는 데이터를 테이블(표) 형태로 저장한다.엑셀처럼 행과 열로 구성된 구조다.하지만 핵심은 “표 모양”이 아니다.관계형이라는 말은 “테이블이 여러 개이고, 서로 연결(관계)된다”는 뜻에 가깝다.2. 테이블의 구성: 행(Row)과 열(Column) 행(Row): 하나의 데이터(한 명의 회원, 한 건의 주문) 열(Column): 데이터의 속성(이름, 이메일, 생성일 등)행은 데이터가 쌓이는 방향이다.열은 테이블의 구조를 결정한다.그래서 테이블을 설계할 때 가장 먼저 해야 하는 일은 “컬럼을 제대로 정의하는 것”이다.3. 컬럼 설계에서 같이 결정해야 하는 것3-1) 데이터 타입(Data Type)컬럼에는 데..

[DB] 01. 데이터베이스 기초 개념

[DB] 01. 데이터베이스 기초 개념1. 데이터와 정보데이터는 가공되지 않은 값 그 자체를 의미한다.숫자, 문자, 날짜처럼 맥락 없이 존재하는 값이다.정보는 데이터에 의미가 부여된 결과다.같은 값이라도 어떤 용도로 쓰이느냐에 따라 정보가 된다.2. 데이터베이스란데이터베이스는 데이터를 체계적으로 저장하고 관리하기 위한 저장소다.단순히 데이터를 모아두는 공간이 아니라,중복을 줄이고, 빠르게 조회하고,여러 사용자가 동시에 접근해도 문제가 없도록 설계된 구조를 포함한다.3. 파일 시스템의 한계 데이터 중복이 쉽게 발생한다 동시 수정이 어렵다 최신 데이터 판단이 어렵다 검색 성능이 떨어진다이런 문제로 인해 파일 기반 관리 방식은 규모가 커질수록 한계가 드러난다.4. DBMSDBMS(Database Man..