정보시스템 구축

ya·2025년 3월 24일

DataBase와 SQL

목록 보기
2/12
post-thumbnail

🛠️ 소프트웨어 개발 과정 (5단계)

1️⃣ 분석 (Analysis) - 구현하고자 하는 프로젝트의 첫 단계

  • 시스템 분석 또는 요구사항 분석
  • What: 무엇을 할 것인지 결정
  • 조사 📚: 논문, 기술서적 등 참고
  • 산출물 📄:
    • 요구사항 분석서
    • API 명세서
    • 클래스 다이어그램
    • 유즈케이스 다이어그램
    • 시퀀스 다이어그램

2️⃣ 설계 (Design) - 어떻게 구현할 것인지 결정

  • 시스템 설계 및 프로그램 설계
  • 아키텍처 설계 🏗️
  • 데이터베이스 설계 🗄️
  • UI/UX 설계 🎨

3️⃣ 구현 (Implementation) - 실제 코드 작성 단계

  • 설계된 내용을 바탕으로 프로그래머(코더)에게 전달하여 코드 생성 💻

4️⃣ 테스트 (Testing) - 프로그램의 정확성 검증

  • 단위 테스트
  • 통합 테스트
  • 시스템 테스트
  • 사용자 테스트 🧪

5️⃣ 유지보수 (Maintenance) - 지속적인 개선 및 수정

  • 버그 수정 🐞
  • 성능 개선 🚀
  • 신규 기능 추가 ⚙️

🏗️ 데이터베이스 모델링 필수 용어

📌 데이터베이스 모델링이란?

  • 현실 세계의 데이터를 MySQL과 같은 DBMS에 적절하게 저장하는 과정
  • 객체의 특성(속성)을 추출하여 테이블에 저장
  • 정보를 테이블 형식에 맞춰 정리

📌 핵심 개념

용어설명
데이터 (Data)객체가 가진 특성에 해당하는 값(정보), 체계화되지 않은 상태
테이블 (Table)데이터를 저장하는 표 형태의 구조
DB (Database)테이블이 저장되는 저장소
DBMS (Database Management System)MySQL, Oracle, PostgreSQL 등 DB를 관리하는 소프트웨어
컬럼 (Column, 필드)테이블의 열, 속성을 나타내며 고유한 이름을 가짐
데이터 형식 (Data Type)각 컬럼이 가질 수 있는 값의 형식 (예: INT, VARCHAR, DATE)
행 (Row, 레코드)하나의 실질적인 정보 단위
기본키 (Primary Key)각 행을 고유하게 식별하는 키
외래키 (Foreign Key)두 테이블 간의 관계를 맺어주는 키

📊 운영자적 관점 SQL (집계 함수 활용)

📌 집계 함수(Aggregate Function)

  • 테이블의 여러 행을 하나의 값으로 계산하는 함수
-- 3-15 고객(customer)이 주문한 도서의 총 판매액을 구하기
SELECT SUM(saleprice) AS '총매출' 
FROM orders;

-- 3-16 특정 고객('김연아')이 주문한 총 판매액 조회
SELECT custid FROM customer WHERE name = '김연아';  
SELECT SUM(saleprice) AS '총매출' FROM orders WHERE custid = 2;

-- 3-17 판매액의 총합, 평균, 최소값, 최대값 구하기
SELECT 
    SUM(saleprice) AS 'Total 매출액',
    AVG(saleprice) AS '평균 판매액',
    MIN(saleprice) AS '최소 판매액',
    MAX(saleprice) AS '최대 판매액'
FROM orders;

-- 3-18 전체 주문 건수(count) 조회
SELECT COUNT(orderid) AS '총 주문 수' FROM orders;

✔️ COUNT(*) vs COUNT(컬럼명)

  • COUNT(*)→ 전체 행의 개수를 반환 (NULL 포함)

  • COUNT(컬럼명) → 해당 컬럼에서 NULL을 제외한 행의 개수를 반환


📝 정리 요약

  • 개발 프로세스는 분석 → 설계 → 구현 → 테스트 → 유지보수 5단계로 진행

  • DB 모델링은 데이터를 테이블 구조로 정리하는 과정

  • SQL의 집계 함수는 데이터를 요약하여 활용하는 데 필수적

profile
ya로그

0개의 댓글