본문 바로가기

전체 글251

TRANSACTION 트랜잭션(TRANSACTION) : DBMS에서 데이터를 다루는 논리적인 작업의 단위 무결성을 유지하기 위해 원자성(전부 수행되거나 전부 안되거나), 일관성(수행 전이나 후나 일관된 상태), 고립성(다른 트랜잭션이 끼어들어 변경중인 데이터 값을 훼손하는 일이 없어야), 지속성(데이터가 항상 지속되어야) 의 성질을 갖는다. 사용 예) 은행 계좌 명령어 문법 설명 START TRANSACTION SET TRANSACTION NAME 트랜잭션의 시작 COMMIT COMMIT 트랜잭션의 종료 ROLLBAKC ROLLBACK {TO } 트랜잭션을 전체 혹은 SAVEPOINT까지 무효화 시킴 SAVE SAVEPOINT 를 만듦 SET TRANSACTION NAME 'mytran';INSERT INTO BOOK VA.. 2018. 3. 8.
INDEX INDEX INDEX, 생성 목적 : 도서의 색인이나 사전과 같이 데이터를 쉽고 빠르게 만든 가상의 테이블이다. 데이터 베이스의 물리적 저장 B-tree- 루트 노드- 내부 노드- 리프 노드 고려사항- where절에 자주 사용되는 속성이어야 함- 조인에 자주 사용되는 속성이어야 함- 단일 테이블에 인덱스가 많으면 속도가 느려질 수 있다. (테이블 당 4~5개 적절)- 속성이 가공되는 경우 사용하지 않는다.- 속성의 선택도가 낮을 때 유리함. (속성의 모든 값이 다른 경우)- 변경이 많이 일어나는 데이터에는 사용하지 않는게 좋다. 속성의 선택도BAD : 값 2개 = 1/2 50%GOOD : 값 100개 = 1/100 1% 일 때1%짜리가 인덱스를 만들기 유리함.검색할 조건 및 값이 많을수록 유리. INDE.. 2018. 3. 8.
View View는 하나 이상의 테이블을 합하여 만든 가상의 테이블. 장점편리성 및 재사용성보안성독립성 제공 뷰의 특징1. 원본 데이터 값에 따라 같이 변함.2. 독립적인 인덱스 생성이 어려움.3. 삽입, 삭제, 갱신 연산에 많은 제약이 따름. create or replacedrop view 2018. 3. 8.
Thread Thread start(); - runnable (실행 대기 상태) - 스케줄러에 의해서 실행 되면 running 상태 - cpu가 할당받으면 그 스레드를 실행 - runnable과 running 상태를 번갈아 감. 끝나는 시점 run메소드가 끝나는 시점stop flag를 통해서 끝내는 방법stop 메소드를 쓰면 안됨. block 상태로 변하는 block eventsleepjoinyield 동일 레벨, 자기 이상 우선순위를 가진 thread한테 양보. 본인은 blocking 됨. (본인이 아무 의미 없는 행위를 반복할 때)blocked -> unblocked thread n개 가 한가지에 동시에 작업 할 때 synchronized를 붙이면 동기화 되어 하나씩만 작업한다.특정 구간에만 sync 해 줄 수 .. 2018. 3. 8.
2018-03-07 SQL IN SELECT *FROM BOOKWHERE PUBLISHER IN ('굿스포츠','대한미디어'); 6역도 단계별기술 굿스포츠 60001축구의 역사 굿스포츠 70005피겨 교본 굿스포츠 8000 3축구의 이해 대한미디어220004골프 바이블 대한미디어35000 SELECT *FROM BOOKWHERE PUBLISHER NOT IN ('굿스포츠','대한미디어'); 11기초자바정석 도우출판사3000012같이 하는 축구 열람 ㄱㄱ 1000013차범근과 함께하는 축구 ㄴㄴ 20000141234 asdf 1200015스포츠 의학 한솔 의학 서적9000016스포츠 의학2 한솔 의학 서적2축구아는 여자 나무수 130007야구의 추억 이상미디어200008야구를 부탁해 이상미디어130009올림픽 이야기 삼성당 7500.. 2018. 3. 7.
SQL 연습문제 답 -- 테이블 삭제하는 명령어 delete drop truncate-- delete 용량 변경 없이 데이터만 삭제-- truncate 데이터, 용량, 인덱스 삭제-- drop 테이블 전체 삭제 Main querySubquery 올 수 있는 위치 : update_ set where -- (1)박지성이 구매한 도서의 출판사와 같은 출판사에서 도서를 구매한 고객의 이름select s1.name,s3.publisherfrom customer s1, orders s2, book s3 where s1.custid = s2.custid and s2.bookid = s3.bookid and s1.name != '박지성' and s3.publisher in (select publisher from customer t1, .. 2018. 3. 6.
[SQL] DDL, DML이란? DDL (데이터 정의 언어) DDL은 데이터베이스 구조를 정의하거나 조작하기 위한 SQL 명령어입니다. 이러한 명령어들을 사용하여 테이블, 인덱스, 뷰 등 데이터베이스의 구조를 생성, 변경 또는 삭제할 수 있습니다. DDL 명령어는 데이터베이스의 스키마를 정의하는 데 사용됩니다. 일반적인 DDL 명령어의 예시: CREATE: 새로운 데이터베이스 객체(테이블, 뷰, 인덱스 등)를 생성합니다. ALTER: 이미 존재하는 데이터베이스 객체의 구조를 변경합니다. DROP: 데이터베이스 객체를 삭제합니다. TRUNCATE: 테이블의 모든 데이터를 삭제합니다. RENAME: 데이터베이스 객체의 이름을 변경합니다. 예시: CREATE TABLE Employees ( ID INT PRIMARY KEY, Name VAR.. 2018. 3. 5.
객체지향 프로그래밍 1. 객체지향 프로그램 : 추상화, 캡슐화, 상속, 다형성케이스별로 예제 1개씩 외우기. 1) 추상화 : 객체들의 공통적인 특징(속성과 기능)을 뽑아내는 것. 즉, 구현하려는 객체들이 가진 공통적인 데이터의 기능을 도출해 내는 것. 2) 캡슐화 : 객체의 내부 데이터(필드, 메소드)를 숨기는 특성. 직접변경 X, 객체 내 허용된 메소드를 통해서만 데이터 접근 가능. 객체 외부에서 3) 상속 : 멤버변수, 상수, 메소드 상속 가능 / 생성자, private변수 상속 불가 조상 클래스 : 가 될 수 있다. (1) 구현 클래스 : body가 있는 클래스. abstract 붙일 수 있음.final된 class는 상속할 수 없다.(String class 등)public final class Stringobject.. 2018. 3. 5.
[SQL] p.193 연습문제 -- 1.(5)박지성이 구매한 도서의 출판사 수 select count(distinct publisher) as "출판사 수"from customer t1, orders t2, book t3where t1.custid = t2.custid and t2.bookid = t3.bookid and t1.name = '박지성'; --1.(6)박지성이 구매한 도서의 이름, 가격, 정가와 판매가격의 차이select t3.bookname as 이름, t3.price as 가격, t3. price - t2.saleprice as 차액from customer t1, orders t2, book t3where t1.custid = t2.custidand t2.bookid = t3.bookidand t1.name = '박지.. 2018. 3. 2.