# MySQL을 사용한 것 SELECT: 가져올 변수의 이름을 ','로 구분해서 나열 FROM: 스키마, 테이블을 지정한다. (어디서(FROM) 가져올건지 정하는 것) 1. '*'을 활용한 모든 변수 선택 SELECT * FROM sakila.rental as RT LIMIT 10; ## LIMIT: 상단 10개까지 출력 -- (head(10)과 비슷하지만, python은 다 갖고온 후, 10개만 출력 -- LIMIT은 10개만 가져옴. 로딩이 빠름) -- 정보 확인을 위해 데이터의 구성을 살펴봐야하는 경우 활용 ## 키워드, 식별자는 대/소문자 구분이 없음 ## SELECT, FROM에서 불러온 것들은 다 'AS'를 활용하여 변수의 이름을 지정할 수 있다. ㄴ as를 안쓰고 뒤에 붙여도 as처럼 활용 ..
분류 전체보기
# 라이브 강의에서는 MySQL을, 온라인 강의에서는 oracle을 사용했다. # (대충 오라클 욕하는 내용) # 오라클 너무 불편한 것 같다. 배째라 방식의 운영의 느낌적인 느낌 # 고로 이번 정리는 MySQL을 기반으로 정리한 내용임. 1. 주석 '--' 또는 '#'을 써도 되는 것 같았다. /* 긴 주석은 두 줄 이상 주석 쓸 때 */ # 쿼리 실행 : Ctrl + Enter # SQL 구문은 대소문자 구분이 없음! # SQL 구문의 끝에는 세미콜론(;)을 넣어서 마침!! # 데이터베이스 == 스키마 - 데이터베이스를 스키마라고도 한단다. §SELECT 변수이름, 집계함수 §FROM 데이터이름, JOIN 키워드를 활용한 데이터 결합 §WHERE 변수를 활용한 조건 §GROUP BY 그룹변수이름 §O..
클라이언트 요청에 대한 응답시간과 시간당 처리 할 수 있는 처리량 성능 용어 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) 학생, 선생님 개..
락 갱신손실 문제를 해결하려면 상대방 트랜잭션이 데이터를 사용하는지 여부를 알 수 있는 규칙이 필요함 데이터를 수정 중이라는 사실을 알리는 방법의 잠금 장치. 공유락(Shared Lock) - 락을 잡고 있을 때 다른 트랜잭션이 읽을 수는 있는 lock 배타락(Exclusive Lock) - 다른 트랜잭션이 읽을 수도 없는 lock 3. Shared Lock / Exclusive Lock을 사용하는 규칙 데이터에 락이 걸려있지 않으면 Transaction은 데이터에 Lock을 걸 수 없다. Transaction이 데이터 X를 읽기만 할 경우, LS(X)를 요청하고, 읽거나 쓰기를 할 경우 LX(X)를 요청한다. 다른 Transaction이 데이터에 LS(X)를 걸어둔 경우, LS(X)의 요청은 허용하고 ..
트랜잭션 데이터베이스 트랜잭션은 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위이다. 유사한 시스템이란 transaction이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있는 시스템을 의미한다. 데이터 베이스 기능 중, 트랜잭션을 조작하는 기능은 사용자가 데이터베이스 완전성(integrity) 유지를 확신하게 한다. 단일 트랜잭션은 데이터베이스 내에 읽거나 쓰는 여러 개 쿼리를 요구한다. 이 때 중요한 것은 데이터베이스가 수행된 일부 쿼리가 남지 않는 것이다. 예를 들면, 송금을 할 때 한 계좌에서 인출되면 다른 계좌에 입금이 확인되는 것이 중요하다.(이해가 안감) 트랜잭션은 서로 간섭하지 않아야 한다. 만약 쿼리 하나가 실패하면, 데이터베이스 시스템은 전체 트랜잭션 또는..