1주차

Suhyeon Lee·2024년 9월 1일
0
post-thumbnail

수업 목표

  • SQLD의 전체적인 구성 이해
  • 데이터와 데이터베이스에 대해 이해
  • SQLD 기출문제 중심
    • 데이터베이스에 대한 모든 것을 알겠다? → X
      • 우리는 “자격증” 공부를 하는 것
    • 데이터베이스에 대한 이해를 중심으로 SQLD 노리기

구성

  1. 데이터 모델링의 이해

    • 데이터 모델링
      • data를 DB에 “효율적으로” 저장하는 방법을 고민
      • 이론 중심의 이해
        • 데이터 모델링의 이해
        • 데이터 모델과 SQL
  2. SQL 기본 및 활용

    • 이론과 실습을 기반으로 한 이해
      • SQL 기본
      • SQL 활용
      • 관리 구문

A. SQL & SQLD란?

1. SQLD

  • 국가 공인 자격증
  • SQL + Developer → SQL에 대한 기본적인 이해를 하고 있는가
    cf. SQLP: 효율, 내부적으로 어떻게 처리가 되는지, 어떻게 해야 더 빠른지(professional)
구분시험 과목세부 과목문항 수
1과목데이터 모델링의 이해- 데이터 모델링의 이해10
- 데이터 모델과 성능
2과목SQL 기본 및 활용- SQL 기본40
- SQL 활용
- 관리 구문

SQLD

  • 내가 알고 있는 개념이 문제로 어떻게 출제되는지 알아야 함!
  • 실기 없이 필기만
  • PBT
  • 취득 후 1.5년 지난 시점에 보수 교육(온라인 강의) 수강하면 영구 취득
  • 배점: 선택형 50문항 (총 100점)
  • 시험 시간: 90분
  • 합격 기준: 총 60분 이상
  • 과락 기준: 과목별 40% 미만 시
    • 1과목 주의! (10문제밖에 안 되니까)

2. SQL & SQLD

a. SQL(Structured Query Language)이란

  • DB를 직접적으로 접근할 수 있는 언어 (DB를 조작할 수 있는 언어)
  • 데이터를 정의하고 조작하며 조작한 결과를 적용하거나 취소할 수 있고 접근 권한을 제어하는 처리들로 구성
    (1) Data Definition
    (2) Data Manipulation
    (3) Transaction Control
    (4) Data Control

b. SQL 개발자(SQLD; SQL Developer)

  • 데이터베이스와 데이터 모델링에 대한 지식을 바탕으로 응용 소프트웨어를 개발하면서 데이터를 조작하고 추출하는 데 있어서 정확하고 최적의 성능을 발휘하는 SQL을 작성할 수 있는 개발자
  • 비전공자라면 SQLD 자격증 공부를 하면서 SQL에 대한 이해를 높일 수 있어 추천

c. SQL을 배우면

  • 현대 사회는 데이터 기반으로 모든 것이 이루어짐
  • 모든 IT 직무에서 활용 가능
    • 개발자(FE, BE), 마케터, 기획자, 디자이너
    • 중간 단계를 거져서 데이터를 볼 수 있는 것과 직접 접근할 수 있는 것은 다름
  • 데이터베이스에 대한 기본적인 이해를 바탕으로 한 소통 가능

B. 데이터와 데이터베이스

1. 데이터(Data)란

  • 데이터는 정보(infomation)
    • 단, 저장이나 처리에 효율적인 형태로 변환된 정보
  • 데이터의 시대를 살고 있는 우리
    • 매일 초당 2억 개의 메일이 전송되고, 3만명 이상이 넷플릭스를 시청하며 2020년 기준 배달의 민족 월 평균 주문이 약 6천만 건을 돌파 → 모두가 데이터
    • 전 세계의 모든 데이터의 90%는 2015년 이후 생성된 것 (IBM)
      • 데이터의 생산 속도가 기하급수적으로 증가하고 있다
    • 2025년 전 세계 데이터 생성량은 175ZB에 이를 것 (Seagate)
      • 1 Zeta == 1,000 Exa = 1,000,000 Peta = 1,000,000,000 Tera = 1,000,000,000,000 Giga
      • 즉, 매순간 엄청난 데이터가 축적되고 있음 → 무한하게 증가하는 데이터를 ‘잘’ 저장하고 관리하는 기술이 필요

2. 데이터베이스(Database)와 DBMS

  • 데이터를 저장 → 대부분 표(스프레드시트)를 떠올림

    • 불편한 점
      • 무한하게 커질 수 없음: 스프레드시트, 엑셀 시트는 리미트 존재
      • 데이터 보안 측면 관리 불가
        • 데이터 → 보안이 필수
      • 데이터 무결성 보장 불가
        • 무결성: 데이터의 유기적 연결이 깨지면 안 됨 → 엑셀은 이게 안 됨
  • 데이터베이스(Database)와 DBMS

    • “A database is an organized collection of data”
      데이터베이스는 잘 조직화된 데이터의 모음이다.
    • 이렇게 모아 놓은 데이터들을 관리하는 프로그램 == DBMS
    • DBMS(Database Management System)
      - 사용자, 다른 프로그램 또는 데이터베이스와 소통하며 데이터를 관리하고 분석하는 특별하게 고안된 소프트웨어 == Database 조작하는 프로그램

      Database management systems (DBMSs) are
      specially designed software applications that
      interact with the user, other applications, and the
      database itself to capture and analyze data

  • 여러 가지 DBMS

    • SQLite
    • MySQL
    • ORACLE
    • PostgreSQL
    • mongoDB
    • MariaDB
  • 각각의 DBMS마다 사용하는 SQL이 조금씩 다름

    • 큰 골자는 비슷하지만 디테일이 다르다
      • 특정 회사가 SQL을 만드는 것이 아닌 국제표준화기구에서 표준을 만듦
      • 각 DBMS마다 커스터마이징을 하는 것 (표준 SQL 준수하긴 함)
      • 따라서 서비스에서 사용하는 데이터베이스에 따라 내가 아는 문법이 동작하지 않을 수 있음
    • SQLD는 ORACLE(+SQL Server) 기반으로 출제
profile
2 B R 0 2 B

0개의 댓글