데이터베이스 기초와 실전 활용

Yuno·2025년 3월 22일

데이터 사이언스

목록 보기
6/25

데이터베이스(Database) 란 데이터를 체계적으로 저장, 관리, 검색 및 수정할 수 있는 시스템
효율적인 데이터 관리를 위해 DBMS (Database Management System) 가 필요

1️⃣ 데이터 입출력 기법

✨ 데이터 구조와 저장 방식

  1. 수치형 데이터 : int, float, complex
  2. 문자열 데이터 : str
  3. 리스트(List) : [요소1, 요소2, 요소3]
    • 여러 개의 데이터를 모아 저장하는 구조
    • 요소를 추가, 삭제, 변경 가능
  4. 튜플(Tuple) : (요소1, 요소2, 요소3)
    • 리스트와 유사하지만 변경 불가능 (Immutable)
  5. 딕셔너리(Dictionary) : {Key: Value, Key2: Value2}
    • Key-Value 형태의 데이터를 저장
    • 예: {"이름": "홍길동", "나이": 25}
  6. 집합(Set) : {요소1, 요소2, 요소3}
    • 중복이 없는 데이터 저장
    • 순서 없음 (인덱싱 불가능)

2️⃣ 데이터 저장 방식

✨JSON (Javascript Object Notation)

  • 경량 데이터 교환 방식
  • Key-Value 구조로 데이터를 저장
  • 대부분의 프로그래밍 언어에서 사용 가능
  • 예시
{
  "이름": "홍길동",
  "나이": 25,
  "성별": "남자"
}

✨ CSV (Comma-Separated Values)

  • 쉼표(,) 로 구분된 데이터 저장 형식
  • 엑셀과 같은 프로그램에서 사용 가능
  • 예시
이름, 나이, 도시
홍길동, 25, 서울
김영희, 30, 부산

✨ TXT (텍스트 파일)

  • 단순한 문자열 데이터 저장 방식
  • .txt 형식의 파일로 저장
  • 테이터를 줄 단위(readline()) 로 읽어 올 수 있음

3️⃣ 데이터베이스 관리 시스템(DBMS)

✨ 대표적인 DBMS 종류

📌 관계형 데이터베이스(RDBMS)

  • SQL (Structured Query Languege) 을 사용하여 데이터 조작
  • 대표적인 RDBMS : MySQL, PostgreSQL, Oracle, MS SQL Server

📌 비관계형 데이터베이스(NoSQL)

  • JSON, Key-Value, Document, Graph 기반의 데이터 저장
  • 대표적인 NoSQL DB : MongoDB, Redis, Cassandra

✨ SQL 주요 명령어

SQL 명령어설명
SELECT데이터 조회
INSERT데이터 삽입
UPDATE데이터 수정
DELETE데이터 삭제
CRATE TABLE테이블 생성
DROP TABLE테이블 삭제

예제:

-- 학생 테이블 생성
CREATE TABLE students (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  age INT
)

-- 데이터 삽입
INSERT INTO students VALUES (1, '홍길동', 25);
INSERT INTO students VALUES (2, '김영희', 30);

-- 데이터 조회
SELECT * FROM students;

4️⃣ 실시간 데이터 분석 기법

✨ 데이터 스트리밍

  • 실시간으로 데이터가 입력되고 분석되는 방식
  • 예시 : 주식 가격 변동, IoT 센서 데이터, 실시간 웹 로그 분석

✨ 크롤링 & 데이터 수집

  • 웹 크롤링(Web Crawling) : 웹에서 데이터를 자동으로 수집하는 기법
  • BueatifulSoup, Scrapy, Selenium 등 활용
import requests
from bs4 import BeautifulSoup

# 웹 페이지 가져오기
response = requests.get("https://example.com")
soup = BeautifulSoup(response.text, "html.parser")

# 특정 데이터 추출
title = soup.find("h1").text
print(title)

5️⃣ IoT 센싱 데이터 저장 및 분석

✅ 아두이노 센서 데이터 읽기 (예시)

void setup() {
  Serial.begin(115200);
}

void loop() {
  int sensorValue = analogRead(A0);
  Serial.println(sensorValue);
  delay(100);
}

✅ 파이썬에서 아두이노 데이터 읽기

import serial

# 아두이노와 연결
ser = serial.Serial('COM3', 115200)

while True:
  data = ser.readline().decode().strip()
  print("센서 값: ",data)
profile
Hello World

0개의 댓글