본문 바로가기

[ DB ] 트랜잭션 Transcation 트랜잭션 Transaction데이터베이스의 상태를 변화시키기 위해서 수행되는 작업(연산들의 묶음)의 단위 1. 계좌의 잔액을 확인한다. (SELECT) 2. 인출할 금액을 입력한다.3. 인출 금액을 제외한 나머지 잔액을 확인한다. (SELECT)4. 인출금을 지급한다.5. 인출 금액을 제외한 나머지 잔액을 현재 잔액으로 저장한다. (UPDATE) 은행 계좌에서 현금을 인출하는 과정이다. 계좌의 잔액을 확인하고 인출하고 싶은 만큼의 금액을 인출한다. 이 과정을 정상적으로 진행을 하면 인출이 되고 5번이 실행된다. 하지만 3번에서 나머지 잔액을 확인하고 인출 취소를 해버리게 된다면, 그 뒤 4,5번은 수행이 되지 않아야 한다.이렇게 여러 연산들을 하나의 작업으로 묶어서 트랜잭션이라고 부르며, 과정이 끝까지 .. 더보기
[ DB ] sql join ( inner, left, right ) Join2개 이상의 연관된 테이블을 조합하여 사용자가 필요로 하는 데이터를 출력하기 위해 사용되는 수단이다. 예제에서 사용될 people, job 테이블 Inner Join on절의 조건 people 테이블의 job_id와 job 테이블의 job_id가 같은 데이터들만 반환한다. SELECT p.name, p.address, p.job_id, j.job_id, j.job_name FROM people p INNER JOIN job j ON p.job_id = j.job_id; inner join은 people 테이블의 job_id와 job 테이블의 job_id가 같은 데이터들만 반환하기 때문에,job 테이블의 job_id가 3인 engineer와 job_id가 6인 baker는 표시되지 않는다. Left.. 더보기
[ DB ] DDL, DML, DCL, TCL 데이터베이스의 언어는 3가지 DDL, DML, DCL로 나뉘며, DCL에서 트랜잭션 제어를 위해 별도로 TCL이라고 분리하여 4가지로 분류되기도 한다. DDL Data Definition Language 데이터 정의테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어 CREATE : 테이블 생성 CREATE TABLE test_table( id int, name varchar(20), address varchar(50) ); ALTER : 테이블 변경 ALTER TABLE test_table add ( age int ); ALTER TABLE test_table modify age varchar(20); ALTER TABLE test_table drop age; ALTER 명령어를 사용하여 TABLE에.. 더보기
[ web ] GET방식과 POST방식 HTTP Hyper Text Transfer Protocol 웹상에서 클라이언트와 서버간에 요청과 응답으로 데이터를 주고 받을수 있는 프로토콜 HTTP가 제공해주는 7가지 메소드들 중 GET메소드와 POST메소드두 가지 메소드들은 많은 차이점들이 있지만 공통적으로는 "클라이언트의 요청에 데이터를 포함시켜 서버에 전달"하기 위해 사용된다. [ GET방식 ]URL에 데이터를 포함시켜 요청을 보낸다. 즉, 데이터가 URL에 노출되어 있다.전송길이에 제한이 있다.정보를 조회하기 위한 요청localhost:8080/board?b_id=8&author=ldd GET방식은 URL에 데이터를 포함시켜 요청을 보내기에 사용자가 입력한 데이터가 그대로 노출된다. 그리고 URL의 길이가 정해져 있기 때문에, 많은 양의 데이.. 더보기
[ JAVA ] 추상 클래스 abstract class 와 인터페이스 interface 추상 클래스 abstract class추상 클래스는 일반 변수와 메소드의 선언과 구현이 가능하며, 클래스 내에 하나 이상의 '추상 메소드'가 존재 하거나 추상 클래스로 정의된 경우. 클래스 안에 한개 이상의 추상 메소드가 존재하면 그 클래스는 abstract로 정의되어야 하며 final을 동시에 사용할 수 없다.추상 클래스 상속은 extends로 상속받을 수 있으며, 다중 상속이 불가능 하다. 하나 이상의 추상 메소드가 선언되어 있으면 서브 클래스는 모든 추상 메소드를 구현해 주어야 한다. 추상 클래스는 "일반 변수 + 일반 메소드 + 추상 메소드" public class DoWork{ public static void main(String[] args){ Programmer p = new Program.. 더보기