
콘솔을 활용한 간단한 퀴즈 게임 만들어 보기 1. DB , 테이블 설계2. 기본 데이터 입력(정규화)3. 자바측 라이브러리 설정4. 자바측 기능 구현 및 테스트5. 리팩토링 DB, 테이블 설계-- 데이터베이스 생성 create database quizdb; use quizdb;create table quiz( id int auto_increment primary key, question varchar(500) not null, answer varchar(500) not null);-- 기본 샘플 데이터 입력 insert into quiz(question, answer ) values ('대한민국의 수도는?', '서울'), ('한반도의 남쪽에 위치한 나라는?', '대한민국'), ..

테이블(Relation)이 제 1정규형을 만족했다는 것은 아래 세 가지 조건를 만족했다는 것을 의미합니다.어떤 Relation에 속한 모든 Domain이 원자값(atomic value)만으로 되어 있다.모든 attribute에 반복되는 그룹(repeating group)이 나타나지 않는다.기본 키를 사용하여 관련 데이터의 각 집합을 고유하게 식별할 수 있어야 한다. 1. 원자값이 아닌 데이터제 1정규형의 첫 번째 조건은 모든 도메인이 원자값으로 구성되어야 한다는 것원자값이 아닌 예 (수강 과목)위 표에서 '수강 과목' 필드에 여러 과목이 쉼표로 구분되어 들어가 있어, 이 필드가 원자값이 아님. 2. 반복 그룹이 있는 데이터제 1정규형의 두 번째 조건은 속성에 반복되는 그룹이 나타나지 않아야 한다는 것.위..

1. 트랜잭션 관리(commit, rollback)트랜잭션은 여러 SQL 문을 하나의 작업 단위로 묶어주는 것을 의미합니다. commit은 트랜잭션을 완료하여 변경사항을 저장하고, rollback은 트랜잭션을 취소하여 변경사항을 되돌립니다. 트랜잭션의 개념과 중요성트랜잭션의 개념:트랜잭션(Transaction)은 데이터베이스에서 하나의 논리적인 작업 단위를 의미합니다. 여러 SQL 문이 하나의 작업으로 묶여서 실행됩니다.트랜잭션은 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)의 특성을 갖습니다. 이를 ACID 특성이라고 합니다.원자성 (Atomicity) 원자성은 트랜잭션의 모든 작업이 성공적으로 완료되거나, 전혀 실행되지 않은 상..
DriverManager를 이용한 연결DriverManager 클래스는 JDBC 드라이버를 관리하고 데이터베이스와의 연결을 설정하는 데 사용됩니다.드라이버 로드:먼저 JDBC 드라이버를 메모리에 로드합니다.try { Class.forName("com.mysql.cj.jdbc.Driver"); // MySQL 드라이버 로드} catch (ClassNotFoundException e) { e.printStackTrace();} 데이터베이스 연결DriverManager.getConnection() 메소드를 사용하여 데이터베이스와의 연결을 설정합니다. 예제 코드String url = "jdbc:mysql://localhost:3306/mydatabase?serverTimezone=Asia/Seoul..
JDBC 드라이버 설치다양한 DBMS별 JDBC 드라이버 설치 방법이 존재 합니다. 1. MySQL드라이버 다운로드:MySQL의 공식 웹사이트에서 MySQL Connector/J를 다운로드합니다.MySQL Connector/J 다운로드드라이버 설정:다운로드한 ZIP 파일을 압축 해제합니다.mysql-connector-java-.jar 파일을 Java 프로젝트의 클래스패스에 추가합니다.IDE (예: IntelliJ, Eclipse)를 사용하는 경우, 프로젝트 설정에서 라이브러리를 추가하여 JAR 파일을 클래스패스에 포함시킬 수 있습니다. 2. Oracle드라이버 다운로드:Oracle의 공식 웹사이트에서 JDBC 드라이버를 다운로드합니다.Oracle JDBC 드라이버 다운로드드라이버 설정:다운로드한 JAR..
JDBC 아키텍처는 Java 애플리케이션과 데이터베이스 사이의 상호작용을 담당하는 여러 구성 요소로 이루어져 있습니다. 각 구성 요소는 특정 역할을 수행하며, 이들이 어떻게 작동하는지 이해하는 것이 중요합니다. JDBC 구성 요소DriverManagerDriverConnectionStatementResultSetSQLException 1. DriverManagerDriverManager 는 JDBC 드라이버들을 관리하는 클래스입니다. 데이터베이스 연결을 설정하기 위해 사용됩니다.애플리케이션이 데이터베이스에 연결 요청을 하면, DriverManager 는 적절한 JDBC 드라이버를 찾아 연결을 설정합니다.마치 여행사와 같습니다. 여행사는 여러 항공사와 협력하여 고객에게 적합한 항공편을 찾아주는 역할을 합..

JDBC는 Java Database Connectivity의 약자로, Java 프로그램에서 데이터베이스에 연결하고 SQL 쿼리를 실행하여 데이터를 주고받는 표준 API입니다. JDBC는 마치 커피숍에서 주문하는 바리스타와 같습니다. 우리가 원하는 커피를 주문하면 바리스타는 커피 머신과 재료를 사용해 커피를 만들어줍니다. JDBC는 Java 애플리케이션이 데이터베이스와 대화할 수 있도록 도와주는 중간다리입니다. JDBC 개발 배경1990년대 중반, 기업들은 데이터를 효율적으로 저장하고 관리하기 위해 다양한 데이터베이스 관리 시스템(DBMS)을 사용하기 시작했습니다. 그러나 문제는 각 데이터베이스가 서로 다른 접근 방식을 요구했다는 점입니다. 예를 들어, Oracle 데이터베이스에 접근하는 방식과 MySQL..

파싱(Parsing)컴퓨터 과학에서 입력된 데이터를 해석하고 구조화하는 과정을 의미합니다. 일반적으로 파싱은 텍스트 데이터를 특정 형식으로 변환하거나, 텍스트 데이터에서 유용한 정보를 추출하는 데 사용됩니다. 파싱을 통해 원시 데이터를 컴퓨터가 이해하고 처리할 수 있는 구조로 변환할 수 있습니다. 파싱의 주요 개념구문 분석(Syntax Analysis):텍스트 데이터를 구문 규칙에 따라 해석하는 과정입니다.주로 프로그래밍 언어의 컴파일러나 인터프리터에서 소스 코드를 구문 트리(Syntax Tree)로 변환할 때 사용됩니다.데이터 형식 변환:텍스트 데이터를 특정 형식(예: JSON, XML)으로 변환하여 구조화된 데이터를 생성합니다.예를 들어, JSON 형식의 문자열을 자바 객체로 변환하거나, XML 데..

HTTP 통신은 소켓 통신 개념을 활용하여 데이터 전송을 수행합니다. HTTP는 TCP 소켓을 통해 클라이언트와 서버 간의 데이터를 주고받습니다. HTTP 통신 개념HTTP(HyperText Transfer Protocol)는 웹 브라우저와 웹 서버 간의 데이터 전송을 위한 프로토콜입니다. HTTP는 요청-응답(request-response) 모델을 기반으로 하며, 클라이언트가 요청을 보내면 서버가 응답을 반환합니다. HTTP는 주로 텍스트 기반의 프로토콜로, 클라이언트와 서버 간에 데이터를 주고받는 형식을 명확하게 정의합니다. 주요 HTTP 메서드GET: 서버에서 데이터를 요청합니다. 주로 데이터를 조회할 때 사용됩니다.POST: 서버에 데이터를 전송합니다. 주로 데이터를 생성하거나 업데이트할 때 ..

네트워크 프로토콜이란? 네트워크 프로토콜은 네트워크에서 데이터를 교환하기 위한 규칙과 절차의 집합입니다.프로토콜은 데이터 형식, 순서, 오류 제어 등을 정의하여 서로 다른 시스템 간의 통신을 가능하게 합니다. 주요 프로토콜 HTTP (HyperText Transfer Protocol): 웹 페이지를 전송하기 위한 프로토콜입니다.TCP (Transmission Control Protocol): 신뢰성 있는 데이터 전송을 보장하는 프로토콜입니다.UDP (User Datagram Protocol): 신뢰성보다는 빠른 전송을 중시하는 프로토콜입니다.FTP (File Transfer Protocol): 파일 전송을 위한 프로토콜입니다.SMTP: 이메일 전송을 위한 프로토콜입니다. 프로토콜 각기 다른 목적을 가지..