SQL 맛보기 (1일차)

정형진·2023년 2월 27일
0

데이터 베이스에 대해 알아보자.

그 전에 데이터, 정보, 지식에 대해 알아보자

데이터: 관찰의 결과로 나타난 정량적 혹은 정성적인 실제 값.
정보: 데이터에 의미를 부여한 것.
지식: 사물이나 현상에 대한 이홰. 

예를 들어보면
데이터: 국내 스마트폰 점유율
정보: 삼성 1위, 애플 2위
지식: 국내 스마트폰 점유율 : 분기별 데이터를 정리한 기사
라고 예시를 들어볼 수 있다.

데이터베이스란

• 다양한 카테고리의 정보를 저장할 수 있는 구조
• 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되
는 데이터의 집합
• 쉽게 말하면, 데이터를 저장하는 구조/자료의 모음

데이터베이스 개념

• 통합된 데이터 (integrated data)

• 데이터를 통합하는 개념으로, 각자 사용하던 데이터의 중복을 최소화
하여 중복으로 인한 데이터 불일치 현상을 제거

• 저장된 데이터 (stored data)

• 문서로 보관된 데이터가 아니라 디스크, 테이프 같은 컴퓨터 저장장치
에 저장된 데이터를 의미

• 운영 데이터 (operational data)

• 조직의 목적을 위해 사용되는 데이터를 의미한다. 즉 업무를 위한 검색
을 할 목적으로 저장된 데이터

• 공용 데이터 (shared data)

• 한 사람 또는 한 업무를 위해 사용되는 데이터가 아니라 공동으로 사용되는 데이터를 의미

데이터베이스는 각 조직에서 사용하는
데이터를 통합하고 공유할 목적으로 구축

데이터베이스 특징

• 실시간 접근성(real time accessibility)

• 사용자가 데이터를 요청하면 수 초 내에 결과를 서비스한다.

• 계속적인 변화(continuous change)

• 데이터베이스에 저장된 내용은 어느 한 순간의 상태지만, 데이터 값은 삽입(insert), 삭제(delete), 수정(update) 등의 작업을 통하여 바뀐다.

• 동시 공유(concurrent sharing)

• 데이터베이스는 서로 다른 업무/여러 사용자에게 동시에 공유된다. 

• 내용에 따른 참조(reference by content)

• 데이터베이스에 저장된 데이터는 데이터의 물리적인 위치가 아니라 데이터 값에 따라 참조된다.

• 일상생활에서 데이터베이스 예시를 찾아보자.

• 병원 데이터 -> 건강보험 데이터베이스
• 사람인 데이터 -> 사람인의 데이터베이스에 저장
• 교육생 데이터 -> 코딩온 데이터베이스
• 신용카드 데이터 -> 은행 데이터베이스

파일에 데이터를 저장하면 되는데 데이터베이스를 사용해야하는 이유가 뭘까?

• 파일 시스템

• 데이터를 기록하고 여러 사람이 공유하여 사용 가능
• ex. Microsoft Excel 프로그램으로 데이터 관리

파일 시스템 특징

• 데이터를 기록하고 여러 사람이 공유하여 사용 가능
• 단점1. 데이터 중복이 생길 수 있다.
• 단점2. 데이터 공유에 있어서 제한이 존재한다.
• 단점3. 구현과 유지보수에 시간이 오래 걸린다

• 데이터베이스

• 파일 시스템의 단점을 개선하기 위해 등장

데이터베이스 특징

• 데이터를 기록하고 여러 사람이 공유하여 사용 가능
• 단점1. 데이터 중복이 생길 수 있다.
• 단점2. 데이터 공유에 있어서 제한이 존재한다.
• 단점3. 구현과 유지보수에 시간이 오래 걸린다

데이터베이스 시스템 구성

  1. 데이터베이스 (Database)
    • 하드디스크에 저장된 데이터
  2. 데이터베이스 관리 시스템 (Database Management System)
    • 주기억장치에 저장된 소프트웨어
  3. 데이터 모델 (Data Model)
    • 눈에 보이지 않는 논리적인 개념
    • 데이터를 저장하는 이론적인 방법

데이터베이스 언어

• SQL (Structured Query Language) 사용
• 관계형 데이터베이스에 정보를 저장, 처리하기 위한 프로그래밍 언어
• 데이터 정의어 (DDL)
• 데이터 조작어 (DML)
• 데이터 제어어 (DCL)

데이터베이스 사용자

• 일반 사용자

• 응용 프로그래머가 작성한 프로그램을 이용하는 사람
• ex. 은행 창구 직원은 고객의 데이터를 다루는 업무를 함

• 응용 프로그래머

• 데이터베이스로 문제를 해결하는 프로그램을 만드는 사람

• SQL 사용자

• SQL 질의문을 작성하여 업무를 처리
• 응용 프로그램으로 구현되어 있지 않은 업무를 SQL을 사용해 처리

• 데이터베이스 관리자 (DBA, Database Administrator)

• 조직의 데이터베이스 운영 총괄자
• 데이터 설계, 구현, 유지보수의 전 과정 담당

DBMS (Database Management System)

• 사용자와 데이터베이스를 연결시켜주는 소프트웨어
• 데이터베이스 사용자가 데이터베이스를 생성, 공유, 관리할 수있도록 하는 역할

DBMS 기능

• 데이터 정의 (Definition)

  • 데이터 구조를 정의하고 구조에 대한 삭제, 변경 기능 수행

• 데이터 조작 (Manipulation)

  • 데이터 삽입, 수정, 삭제 작업

• 데이터 추출 (Retrieval)

  • 사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출

• 데이터 제어 (Control)

  • 데이터베이스 사용자 생성 및 접근 제어
  • 백업, 회복, 동시성 제어 기능 지원

SDLC 란?

• Software Development Life Cycle
• 제품의 요구사항부터 개발, 검증, 향후 유지보수 및 폐기까지의 전 과정을 프로세스화해 소프트웨어 개발에 적용한 것
• 소프트웨어 개발 중에 데이터베이스 개발과정도 포함되어 있다.

SDLC의 5단계

• 1단계 - 사전 조사

  • 소프트웨어 개발을 원하는 고객의 요구사항 파악
  • 어떤 목적으로 개발을 원하는 지, 그 목적을 충족시키기 위해 어떤 시스템을 갖춰야 하는지에 대해 고민하는 단계

• 2단계 – 시스템 분석

  • 사용자 요구 수집
  • 인터뷰
  • 시스템 요구 정리
  • processing modeling: 데이터가 움직이는 프로세스를 구조적/그래픽적으로 나타냄 (이를 ERD(Entity Relationship Diagram) 이라고 함)

• 3단계 – 시스템 디자인

  • 2단계에서 만든 ERD를 통해 Relation Model로 변환하는 작업과 데이터베이스의 성능을 결정하는 작업 진행
  • 데이터베이스 성능을 결정해야 하므로 DBMS에 의존

• 4,5단계 – 시스템 구현 ~ 유지보수

  • 시스템을 구현하고 유지보수

0개의 댓글