개념적 모델링
요구 사항 분석 쇼핑몰 요구 사항 회원 기능 회원은 고유한 아이디, 비밀번호, 회원명, 주소(기본 배송지), 연락처 정보를 이용해 가입할 수 있다. 회원은 자신의 정보를 어넺든지 수정할 수 있다. 회원은 시스템에서 탈퇴할 수 있다. 상품 기능 관리자(또는 판매자)는...
요구 사항 분석 쇼핑몰 요구 사항 회원 기능 회원은 고유한 아이디, 비밀번호, 회원명, 주소(기본 배송지), 연락처 정보를 이용해 가입할 수 있다. 회원은 자신의 정보를 어넺든지 수정할 수 있다. 회원은 시스템에서 탈퇴할 수 있다. 상품 기능 관리자(또는 판매자)는...
DB 설계의 첫걸음 DB 설계는 집을 짓기 전 설계도를 그리는 것과 같이 시스템의 뼈대를 만드는 중요한 과정 체계적인 설계 없이 DB를 구축하면 처음에는 빠를 수 있으나, 서비스가 복잡해질수록 데이터 중복, 성능 저하, 유지보수 어려움 등의 기술 부채가 쌓임 좋은 DB를 만들기 위해서는 개념적, 논리적, 물리적 설계의 3단계 가정을 거챠...
저장 프로시저(Stored Procedure) 정의: 이름이 부여된 일련의 SQL 작업 묶음 특징 파라미터를 받아 로직을 처리할 수 있고, IF문이나 LOOP문 같은 제어문도 사용할 수 있음 여러 개의 INSERT, UPDATE, DELETE 작업을 포함하는 복잡한 비즈니스 로직을 하나의 단위로 처리하는데 사용...
트랜잭션이 필요한 이유 데이터 변경 시 여러 작업을 논리적으로 쪼갤 수 없는 하나의 묶음으로 다루기 위해 트랜잭션이 필요 트랜잭션은 전부 아니면 전무(All or Nothing) 원칙을 보장 묶인 작업 중 하나라도 실패하면, 이전에 성공한 모든 작업을 자동으로 취소(원상 복구)하여 데이터의 일관성과 안정성을 지킴 커밋, 롤백 ...
기본 제약 조건 NOT NULL: 컬럼에 NULL 값이 저장되는 것을 허용핮; 않아 필수 정보의 누락을 방지 UNIQUE: 해당 컬럼의 모든 값이 테이블 내에서 고유해야 함을 보장하여 중복 데이터가 쌓이는 것을 막음 PRIMARY KEY: 테이블의 각 행을 고유하게 식별하는 데표 키로, NOT NULL과 UNIQUE 제약 조건의 특징을 ...
인덱스가 필요한 이유 데이터 양이 많아 질수록 인덱스 없는 검색은 풀 테이블 스캔으로 인해 매우 느려짐 풀 테이블 스캔은 테이블의 모든 데이터를 처음부터 끝까지 순차적으로 비교하는 방식으로, 데이터 양에 비례하여 성능이 저하 됨 WHERE 절에 자주 사용되는 컬럼에 인덱스를 생성하는 것이 기본적인 해결책 인덱스 소개 특정 컬럼...
View 소개 뷰(View)는 실제 데이터를 가지지 않는 가상의 테이블이며, 그 실체는 데이터베이스에 저장된 SELECT 쿼리문 원본 테이블에 직접 접근할 필요 없이 뷰를 통해서만 제한된 데이터에 접근하게 되므로 보안성이 향상 됨 뷰를 조회할 때 마다 저장된 SELECT 쿼리가 실행되므로, 데이터는 항상 원본 테이블의 최신 상태를 반영 ...
CASE 문 단순 CASE 문은 특정 컬럼의 값이 A면 X, B면, Y와 같이 명확하게 정해진 값을 비교할 때 사용 검색 CASE 문은 WHEN절 마다 독립적인 조건식을 사용하여 복합적인 조건을 처리할 때 사용 CASE 문은 위에서 아래로 순차적으로 조건을 평가하며, 가장 먼저 참이 되는 조건의 결과를 반환하고 즉시 평가 종료 SEL...
UNION JOIN이 테이블을 수평으로 붙여 컬럼을 늘리는 기술이라면 UNION은 여러 결과 집합을 수직으로 붙여 행을 늘리는 기술 흩어져 있는 데잉터를 하나의 집합으로 모으는데 서용 UNION으로 연결하는 SELECT 문은 컬럼 개수가 같고 같은 위치의 컬럼은 호환 가능한 데이터 타입이어야 함 최종 결과의 컬럼 이름은 첫 번째 SE...
종류와 특징 구분 반환 형태 주요 사용 위치 연산자/구문 명칭 핵심 용도 단일 컬럼 단일 행 SELECT,WHERE,HAVING =, >, < 등 스칼라 서브 쿼리단일 값 서브 ...