SQL 첫걸음 1장

cse 23·2025년 3월 18일
0

SQL 첫걸음

목록 보기
1/8

1강) 데이터베이스와 SQL

1. 데이터와 데이터베이스(DB)

  • 데이터: 컴퓨터에 기록된 숫자 또는 정보.
  • 데이터베이스(DB, Database): 저장 장치에 정리되어 보관된 데이터의 집합.
    • 데이터를 영구적으로 저장해야 하므로 하드디스크(HDD) 또는 SSD(플래시 메모리)와 같은 비휘발성 저장 장치에 보관.
    • 예시: 계산대(포스 시스템), 휴대폰 전화번호부.

2. 데이터베이스 관리 시스템(DBMS)

데이터를 효율적으로 관리하는 소프트웨어.

📌 DBMS가 필요한 이유

  • 생산성: 데이터 검색, 추가, 삭제, 갱신 등 개발 과정에서의 생산성 향상.
  • 기능성: 다수의 사용자가 동시에 요청할 수 있으며, 대용량 데이터 저장과 고속 검색 기능 제공.
  • 신뢰성: 확장성과 부하 분산을 통해 많은 요청을 처리 가능.
    • 여러 대의 컴퓨터를 이용해 클러스터 구성 및 스케일 아웃 지원.

과거: 데이터센터의 서버에서만 운영
현재: 개인용 컴퓨터나 모바일 기기에서도 내장 가능

3. SQL(Structured Query Language)

관계형 데이터베이스(RDBMS)를 조작하는 데 사용하는 언어.

  • IBM이 개발한 SEQUEL을 기반으로 만들어짐.

📌 SQL의 주요 명령어

  • DML (Data Manipulation Language): 데이터 추가, 삭제, 수정 등 조작.
  • DDL (Data Definition Language): 데이터베이스 객체(테이블 등) 생성, 삭제.
  • DCL (Data Control Language): 트랜잭션 및 접근 권한 제어.

2강) 다양한 데이터베이스

1. 데이터베이스의 종류

  • 계층형 데이터베이스

    • 폴더-파일 구조처럼 계층적으로 데이터를 저장.
    • 하드디스크, DVD 파일 시스템 등이 이에 해당.
  • 관계형 데이터베이스(RDBMS)

    • 행(Row)과 열(Column)로 구성된 2차원 데이터 형식.
    • SQL을 이용해 데이터 조작 가능.
  • 객체지향 데이터베이스

    • Java, C++ 등의 객체 개념을 적용한 데이터베이스.
  • XML 데이터베이스

    • <태그>를 이용해 데이터를 저장하는 방식.
  • 키-값 스토어(KVS)

    • NoSQL 기반 데이터베이스.
    • 단순한 Key-Value 형식으로 데이터를 저장.
    • 열 지향 데이터베이스와 유사.

2. 관계형 데이터베이스(RDBMS) 발전 과정

  • 초기 메인프레임 기반소형 워크스테이션(다운사이징)클라이언트/서버 구조로 발전.

3. 대표적인 데이터베이스 시스템

상용 DBMS오픈소스 DBMS
OracleMySQL
IBM DB2PostgreSQL
MS SQL ServerSQLite
  • 데이터베이스마다 고유한 SQL 방언이 존재하여 명령어가 다를 수 있음.
    • 예: DELETE 키워드 생략 여부, 외부 조인 방식 차이 등.

3강) 데이터베이스 서버

1. 클라이언트/서버 모델

  • 클라이언트: 사용자 요청을 전달.
  • 서버: 요청을 받아 처리하고 결과 반환.

📌 클라이언트/서버 모델의 특징

  • 웹 시스템 예시
    • 브라우저(클라이언트) → 웹 서버 → 데이터베이스 서버 구조.
    • 리퀘스트(Request): 클라이언트가 보낸 요청.
    • 리스폰스(Response): 서버의 응답.
  • 사용자 인증 필요: 사용자 ID 및 비밀번호로 접근 제한.

2. 웹 애플리케이션의 구조

  • 웹 서버 + 데이터베이스 서버로 구성.
  • 웹 서버에서 동적으로 HTML을 생성하려면 CGI(Common Gateway Interface) 필요.
    • PHP, Ruby 등 프로그래밍 언어로 구현.
    • CGI 프로그램이 데이터베이스 클라이언트 역할 수행.

3. MySQL 서버와 클라이언트

  • MySQL 서버: 데이터베이스 서버 역할 수행.
  • MySQL 클라이언트 (mysql 커맨드): 서버에 접속해 SQL 명령 실행.

MySQL 서비스는 PC 부팅과 함께 자동 실행됨

--- 연습문제 ----
1. 2
2.1
3.3

0개의 댓글