데이터베이스

· 정리/SQL
JOIN - 조인시킨다. 즉, 두 테이블을 병합시킨다. 병합시키는 기준에 따라 INNER / LEFT / RIGHT / FULL로 나뉜다. cf) pandas에도 join뿐만 아니라 merge, concat이 있다. SELECT D1.*, D2.first_name AS cust_first_name, D2.last_name AS cust_last_name, D2.store_id FROM sakila.actor D1 INNER JOIN sakila.c-ustomer D2 ON D1.first_name = D2.first_name; -- first_name이 똑같으면 무조건 붙이기 -- FROM TABLE1 [INNER|LEFT|RIGHT|FULL] JOIN TABLE2 ON TABLE1.KEY1 = TABL..
· 정리/SQL
GROUP BY : 말 그대로 ~을 기준으로(BY) 짝지어 주는 것.(GROUP) == ( GROUP BY ) SELECT Continent FROM world.country GROUP BY Continent; -- GROUP BY 절의 변수를 그대로 SELECT 절로 복사 후 실행하면 -- 마치 DISTINCT를 넣은 것처럼 중복값 제거된 표의 틀 생성 ORDER BY : ~을 기준으로(BY) 정렬시켜 주는 것. (ORDER) == ( ORDER BY ) -- ORDER BY 뒤에 기준이 될 변수를 입력 -- 오름차순이 기본값 SELECT * FROM world.country ORDER BY SurfaceArea; -- 내림차순으로 정렬시에는 변수이름 뒤에 DESC를 추가로 입력​ SELECT * FR..
· 정리
클라이언트 요청에 대한 응답시간과 시간당 처리 할 수 있는 처리량 성능 용어 concurrent user - 동시 사용자 TPS(transaction per second) - 서버가 일정 시간 내에 처리한 트랜잭션의 양 Response Time : 요청한 후부터 응답을 받을 떄까지 소요된 시간 Resource : 한정된 값을 가진 시스템의 구성 요소를 의미 성능 측정 대상 목표 TPS를 산정하고 정해진 응답시간 내에 모든 요청이 처리되는지 확인 기준 데이터베이스와 병목의 관계 병목의 원인 취급하는 데이터의 양이 가장 많은 원인 시스템에서 처리하는 데이터는 영속적으로 보유해야 하는 데이터일 확률이 크다. 데이터의 총 크기는 지속적으로 증가 동시성을 보장하는 드으이 문제로 무조건 적인 자원 증가을 통한 성능..
· 정리
로그 선행 기입 기법 로그 선행 기입(write-ahead logging, WAL)을 사용하는 시스템에서 모든 수정은 적용 이전에, 로그에 기록된다. 일반적으로 redo 및 undo 정보는 둘 다 로그에 저장된다. 로그 선행 기입이 사용된다면 프로그램은 이러한 로그를 검사하여 예기치 않은 일이 발생할 시 해야 할 일과 실제로 했던 일을 비교하게 된다. 데이터 베이스의 데이터 파일을 로그 레코드 사용하여 동기화 디스크에 연속해서 쓰기 때문에 무작위로 쓰는 것보다 성능 좋음 디스크에 쓰는 용량과 횟수 감소 데이터베이스 버퍼를 이용해 데이터 파일 변경을 효율적으로 수행 데이터베이스 버퍼 데이터 파일로의 입력을 데이터베이스 버퍼 경유로 일원화 트랜잭션마다 버퍼를 취할 경우 로그와 데이터 파일 간 일관성이 저하됨..
· 정리
테이블 관계형 데이터베이스에서 데이터를 관리 및 저장하는 장소 데이터의 효율적인 관리 및 적절한 조작이 매우 중요 실생활에서 광범위하게 사용되는 2차원 표와 유사. 집합을 다루는 방법 집합을 나누는 방법에 따라 한 개 혹은 여러 개의 테이블이 될 수 있음. 데이터베이스 vs 자바 데이터베이스 자바 테이블 클래스 열 속성 행 인스턴스 - 메소드 기본키(Primary key) 특정 집합에서 특정 행을 유일하게 식별할 수 있는 속성의 집합 기본키의 값은 한 번 정해지면 가급적 변경이 안된다. 반드시 기본키를 설정해야 함. 한 개의 테이블 내에서 중복 행은 허용하지 않음. 기본키는 NULL 허용 안 됨 업무상의 이유로 기본키가 없는 테이블이 운영되는 곳도 있긴함. 정규형 테이블을 정의하는 기본형태 제대로 된 형..
· 정리
참고) entity - 업무에 필요하며 유용한 정보를 저장하고 관리하기 위한 집합적인 것 - 개념, 장소, 사건 - 유형, 무형의 대상 ex) 학생이라는 엔터티는 학번, 이름, 학점 등의 속성으로 특징 지어질 수 있음 특징 - 식별자 : 유일한 식별자를 갖고 있어야 한다. ex) 주민번호, ID 등 - 인스턴스 집합 : 2개 이상의 인스턴스가 있어야 한다. - 속성 : 반드시 속성을 갖고 있어야 한다. (학생 : 학번, 이름, 주소 등..) - 관계 : 다른 엔티티와 최소 한 개 이상의 관계가 있어야 한다. (학생은 이름을 갖고 있음) - 업무 : 업무에서 관리되어야 하는 집합이다. 예. 학생, 성적 종류 무형과 무형에 따른 분류 종류 설명 유형 엔티티 지속저그로 사용되는 엔티티 ex) 학생, 선생님 개..
· 정리
트랜잭션 데이터베이스 트랜잭션은 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위이다. 유사한 시스템이란 transaction이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있는 시스템을 의미한다. 데이터 베이스 기능 중, 트랜잭션을 조작하는 기능은 사용자가 데이터베이스 완전성(integrity) 유지를 확신하게 한다. 단일 트랜잭션은 데이터베이스 내에 읽거나 쓰는 여러 개 쿼리를 요구한다. 이 때 중요한 것은 데이터베이스가 수행된 일부 쿼리가 남지 않는 것이다. 예를 들면, 송금을 할 때 한 계좌에서 인출되면 다른 계좌에 입금이 확인되는 것이 중요하다.(이해가 안감) 트랜잭션은 서로 간섭하지 않아야 한다. 만약 쿼리 하나가 실패하면, 데이터베이스 시스템은 전체 트랜잭션 또는..
· 정리
1. SELECT - 내가 원하는 column을 '선택'할 때 쓰는 것. SELECT COLUMN1 COLUMN2 FROM DATABASE ; - 안에 있는거 다내놔 SELECT * FROM DATABASE DUAL : 더미 데이터, 빈 데이터, 임시 저장 용도로 흔히 쓰이는 듯 SELECT (10 + 2) / S AS VAL FROM dual ; ORDER BY SELECT .. ORDER BY column [DESC/ASC] 다중 정렬도 가능 SELECT … FROM .. ORDER BY COL1, COL2 DESC → COL1은 오름차순 // COL2는 내림차순 SELECT DISTINCT문 중복된 값이 없도록 나오게 만듬. SELECT DISTINCT COL1 FROM … ORDER BY … → ..
미스따문
'데이터베이스' 태그의 글 목록