혼자 공부하는 SQL Chapter 1,2

HWISEONG_TV·2023년 1월 13일
post-thumbnail

Chapter 1 데이터베이스와 SQL

1-1 데이터베이스 알아보기

  • Database(DB): 데이터의 집합

  • DBMS(Database Management System: 데이터베이스를 관리하고 운영하는 소프트웨어

  • DBMS의 종류: MySQL, MariaDB, PostgreSQL, Oracle 등

  • SQL(Stuctured Query Language): DBMS의 데이터를 구축, 관리하고 활용하기 위해 사용하는 언어

  • DBMS의 분류

    • 계층형 DBMS: 트리 형태를 갖고 구성을 완료하고 변경하기가 상당히 까다로움
    • 망형 DBMS: 트리의 하위에 있는 구성원끼리도 연결된 유연한 구조, 모든 구조를 이해해야만 프로그램 작성 가능
    • 관계형 DBMS(Relational DBMS): 테이블이라는 최소 단위로 구성, 하나 이상의 열과 행으로 이루어져 있음
  • SQL (DBMS에서 사용되는 언어)

    • 국제표준화기구에서 SQL에 대한 표준을 정해서 발표하고 있음, 이를 표준 SQL이라고 함
      기억은 표준 SQL을 준수하되, 각 제품의 특성을 반영한 SQL을 사용

1-2 MySQL 설치하기

  • MySQL 서버: 데이터베이스 엔진을 운영하는 프로그램
  • MySQL 워크벤치: MySQL 서버에 접속하기 위한 프로그램(DBMS)
  • root: 관리자 이름, 가장 높은 권한의 사용자

Chapter 2 실전용 SQL 미리 맛보기

2-1 건물을 짓기 위한 설계도: 데이터베이스 모델링

테이블의 구조를 결정하는 과정, 테이블의 미리 설계함

데이터베이스 모델링은 폭포수 모델의 업무 분석과 시스템 설계 단계에 해당 이를 통해 데이터베이스 개체인 테이블 구조 결정

프로젝트 진행 단계

프로젝트란 '현실 세계에서 일어나는 업무를 컴퓨터 시스템으로 옮겨놓는 과정' 대규모 소프트웨어를 작성하기 위한 전체 과정

소프트웨어 개발 단계(폭포수 모델) || ex) 인터넷 쇼핑몰 구축 과정

  • 프로젝트 계획: 슈퍼마켓의 물건들을 온라인으로 판매하기 위한 계획 단계
  • 업무 분석: 슈퍼마켓에서 업무가 어떻게 돌아가는지 파악하는 것입니다. 예로 물건은 어디서 들어오는지, 물건을 어떻게 계산하는지, 재고는 어떻게 관리하는지 등의 업무에 대해서 정리하는 단계입니다.
  • 시스템 설계: 앞에서 정리한 업무 분석을 컴퓨터에 적용시키기 위해서 알맞은 형태로 다듬는 과정
  • 프로그램 구현: 앞에서 완성한 시스템 설계의 결과를 실제 프로그래밍 언어로 코딩하는 단계, 우리가 계획한 내용을 온라인으로 제공하기 위해 JS, PHP, JSP 등의 언어를 사용
  • 테스트: 코딩된 프로그램에 오류가 없는지 확인하는 과정
  • 유지보수: 실제 온라인 쇼핑몰을 운영하면서 문제점을 보완하고 기능을 추가하는 과정

데이터베이스 모델링

인터넷 쇼핑몰을 만드는 프로젝트를 바탕으로 데이터베이스 모델링 부분을 살펴봄

데이터베이스 모델링이란 '우리가 살고 있는 세상에서 사용되는 사물이나 작업을 DBMS의 데이터베이스 개체로 옮기기 위한 과정

인터넷 쇼핑몰로 만들기 위한 데이터(사람 등)을 데이터베이스에 넣기 위해 나타낼 수 있는 특징을 추출해서 테이블이라는 개체로 변환

전체 데이터베이스 구성도

데이터베이스 구성도 용어

  • Data: 하나하나의 단편적인 정보
  • Table: 회원이나 제품의 데이터를 입력하기 위해 표 형태로 표현한 것
  • DB(Database: 데이블이 저장되는 저장소
  • DBMS(Database Management System): 데이터베이스 관리 시스템 또는 소프트웨어 ex) MySQL
  • Column: 테이블의 세로, 각 테이블은 여러개의 열(컬럼, 필드)로 구성
  • Column Name: 각 열을 구분하기 위한 이름, 서로 달라야 함
  • DataType: 열에 저장될 데이터의 형식, 열 이름과 함께 지정
  • Row: 실질적인 진짜 데이터, 행 데이터, 행의 개수 = 데이터의 개수
  • Primary Key(PK): 각 행을 구분하는 유일한 열
  • SQL(Structured Query Language): DBMS와 소통하기 위한 언어, SQL(구조화된 질의 언어)

2-2 데이터베이스 시작부터 끝까지

데이터베이스 구축 절차

  • 데이터베이스 만들기
  • 테이블 만들기
  • 데이터 입력/수정/삭제하기
  • 데이터 조회/활용하기

실습

2-3 데이터베이스 개체

인덱스

책의 제일 뒤에 수록되는 '찾아보기(색인)'와 비슷한 개념

  • 가상의 테이블로 정의, 실제 데이터를 가지고 있지 않으며, 진짜 테이블에 link된 개념
  • 보안 강화
  • SQL 문도 간단히 사용 가능

스토어드 프로시저

MySQL에서 제공하는 프로그램 기능
여러 개의 SQL 문을 하나로 묶어서 편리하게 사용 가능

0개의 댓글