바이브코딩

완전 기초 DB 프로그래밍 배우기

페이지 정보

작성자 JeromePark
작성일 2025.09.24 13:12
57 조회
0 추천
0 비추천

본문

AI 도구 Gemini
프롬프트 db 프로그램은 어떻게 배우기 시작해야하지?
db 프로그래밍에서 처음 실습 과제로 제시하는 것은 어떤것이 있어?
회원관리시스템을 실제로 코딩한 예제는 어떤 것이 있지?

DB 프로그래밍 준비물을 알려줘 

데이터베이스 시스템 설치: 개인 컴퓨터에 MySQL이나 PostgreSQL 같은 오픈소스 DB를 설치하세요. 두 프로그램 모두 무료이고 관련 자료가 풍부해서 배우기 좋아요.

GUI 도구 사용: DB를 편리하게 관리하고 SQL을 작성할 수 있는 GUI(Graphical User Interface) 도구를 함께 설치하세요. MySQL Workbench나 DBeaver 같은 프로그램이 초보자에게 유용해요.

db 프로그래밍에서 처음 실습 과제로 제시하는 것은 어떤것이 있어?

가장 흔하게 제시되는 과제는 간단한 회원 관리 시스템을 만드는 것입니다. 이 과제를 통해 다음과 같은 핵심 기술을 배울 수 있습니다.

테이블 설계: 회원 정보를 저장할 usertbl 테이블을 설계합니다. userID, name, birthYear, address 등의 컬럼을 정의하고, userID를 기본 키(Primary Key)로 설정하는 연습을 할 수 있습니다.

CRUD 구현:

Create: INSERT INTO 구문을 이용해 새로운 회원을 추가하는 기능을 구현합니다.

Read: SELECT 구문을 이용해 특정 회원의 정보를 조회하거나, 모든 회원의 목록을 불러오는 기능을 구현합니다.

Update: UPDATE 구문을 이용해 특정 회원의 주소나 연락처 등 정보를 수정하는 기능을 구현합니다.

Delete: DELETE FROM 구문을 이용해 회원을 삭제하는 기능을 구현합니다.

관계 설정: 회원 테이블 외에 구매 내역 테이블(buytbl)을 추가하여 회원과 구매 내역 간의 일대다(One-to-Many) 관계를 설정하는 연습을 할 수 있습니다. FOREIGN KEY를 이용해 두 테이블을 연결하고, JOIN 쿼리를 통해 특정 회원의 구매 내역을 조회하는 연습까지 확장할 수 있습니다.

회원관리시스템을 실제로 코딩한 예제는 어떤 것이 있지?

가장 보편적인 파이썬(Python)과 SQLite3를 사용한 간단한 회원 관리 예제를 제공해 드릴게요. 이 예제는 터미널(콘솔)에서 작동하며, 별도의 DB 서버 설치 없이 바로 실행할 수 있습니다.

파이썬 회원 관리 예제 (SQLite3)

이 코드는 user.db라는 SQLite3 데이터베이스 파일에 users 테이블을 생성하고, 사용자의 입력을 받아 CRUD(생성, 조회, 수정, 삭제) 작업을 수행합니다.

import sqlite3

# 1. 데이터베이스 연결 및 테이블 생성 함수
def create_table():
   """데이터베이스에 연결하고 users 테이블을 생성합니다."""
   conn = sqlite3.connect('user.db')
   cursor = conn.cursor()
   cursor.execute('''
       CREATE TABLE IF NOT EXISTS users (
           id INTEGER PRIMARY KEY,
           username TEXT NOT NULL UNIQUE,
           email TEXT NOT NULL
       )
   ''')
   conn.commit()
   conn.close()

# 2. CRUD 기능 함수들
def add_user():
   """새로운 회원을 추가합니다."""
   username = input("사용자 이름: ")
   email = input("이메일: ")
   conn = sqlite3.connect('user.db')
   cursor = conn.cursor()
   try:
       cursor.execute("INSERT INTO users (username, email) VALUES (?, ?)", (username, email))
       conn.commit()
       print(f"✅ 회원 '{username}'이(가) 추가되었습니다.")
   except sqlite3.IntegrityError:
       print("❌ 오류: 이미 존재하는 사용자 이름입니다.")
   finally:
       conn.close()

def view_users():
   """모든 회원 목록을 조회합니다."""
   conn = sqlite3.connect('user.db')
   cursor = conn.cursor()
   cursor.execute("SELECT * FROM users")
   users = cursor.fetchall()
   conn.close()

   if not users:
       print("⚠️ 등록된 회원이 없습니다.")
       return

   print("\n--- 회원 목록 ---")
   for user in users:
       print(f"ID: {user[0]}, 이름: {user[1]}, 이메일: {user[2]}")
   print("-----------------")

def update_user():
   """기존 회원의 정보를 수정합니다."""
   user_id = input("수정할 회원의 ID를 입력하세요: ")
   new_email = input("새로운 이메일: ")
   conn = sqlite3.connect('user.db')
   cursor = conn.cursor()
   cursor.execute("UPDATE users SET email = ? WHERE id = ?", (new_email, user_id))
   conn.commit()
   if cursor.rowcount > 0:
       print(f"✅ ID {user_id} 회원의 정보가 수정되었습니다.")
   else:
       print(f"❌ 오류: ID {user_id} 회원을 찾을 수 없습니다.")
   conn.close()

def delete_user():
   """회원을 삭제합니다."""
   user_id = input("삭제할 회원의 ID를 입력하세요: ")
   conn = sqlite3.connect('user.db')
   cursor = conn.cursor()
   cursor.execute("DELETE FROM users WHERE id = ?", (user_id,))
   conn.commit()
   if cursor.rowcount > 0:
       print(f"✅ ID {user_id} 회원이 삭제되었습니다.")
   else:
       print(f"❌ 오류: ID {user_id} 회원을 찾을 수 없습니다.")
   conn.close()

# 3. 메인 프로그램 (사용자 메뉴)
def main():
   """사용자 메뉴를 표시하고 선택한 기능에 따라 함수를 호출합니다."""
   create_table()  # 프로그램 시작 시 테이블 생성
   while True:
       print("\n--- 회원 관리 프로그램 ---")
       print("1. 회원 추가")
       print("2. 회원 목록 조회")
       print("3. 회원 정보 수정")
       print("4. 회원 삭제")
       print("5. 종료")
       choice = input("원하는 작업을 선택하세요: ")

       if choice == '1':
           add_user()
       elif choice == '2':
           view_users()
       elif choice == '3':
           update_user()
       elif choice == '4':
           delete_user()
       elif choice == '5':
           print("프로그램을 종료합니다.")
           break
       else:
           print("⚠️ 잘못된 입력입니다. 다시 선택해주세요.")

if __name__ == "__main__":
   main()

 

코드 사용법

위 코드 복사: 위의 전체 코드를 복사하여 user_manager.py와 같은 이름으로 저장합니다.

터미널에서 실행: 터미널(명령 프롬프트)을 열고 파일이 있는 경로로 이동합니다.

명령어 입력: python user_manager.py 명령어를 입력하고 실행합니다.

메뉴 선택: 프로그램이 시작되면 1~5번 메뉴 중 원하는 작업을 선택하여 입력합니다.

이 예제는 SQL의 기본 구문과 파이썬에서 DB를 다루는 기본적인 패턴을 학습하는 데 큰 도움이 됩니다. 이 코드를 기반으로 생일, 주소, 전화번호 등 다른 정보를 추가하거나, 더 복잡한 기능을 구현하는 연습을 해보세요.

댓글 0
전체 24 / 1 페이지
홈으로 전체메뉴 마이메뉴 새글/새댓글
전체 검색
회원가입