SQLD 11

드디어 SQLD 합격 / 군포문화예술회관 시야 / 용산 CGV IMAX 후기

싸피는 매주 월요일 시험을 보는데 . . !! 저번주는 싸피 처음이자 마지막 시험없는 주말이였다. 그래서 신나게 놀러다닌 주말일기 작년에 ADSP랑 SQLD를 같이 따겠다는 꿈을 꾸었지만 . . SQLD 시험날 너무 아파서 시험을 보러가지 못했다 . . !!!! 다시 SQLD 시험 보는 날만을 기다렸는데 드 디 어 SQLD에 합격했다 ! ! ! 시험 봤을 때는 뭔가 60점 간당간당 한 것 같아서 반 포기 상태였는데 아리까리한게 많이 맞았나보다 다음 자격증은 정보처리기사를 노려봐야지 토요일에 기다리고 기다리던 나의사랑 너의사랑 모두의사랑 국카스텐 콘서트에 갔다왔다 군포문화예술회관은 처음 가봤는데 공연장 자체가 작아서 굉장히 가까워 좋았다 ! 내 자리는 B구역 9열 중앙이였는데 정면에서 관람해서 너무 좋았음..

공부일지 2023.04.11

데이터베이스 성능 / 인덱스

데이터베이스 성능이란? 클라이언트(사용자) 요청에 대한 응답시간과 시간당 처리 할 수 있는 처리량이다. 1. Current User : 동시사용자 (1) Active User : 서버에 부하를 발생시키는 사용자 (클릭+이동) (2) Inactive User : 서버에 요청을 보내고 있지 않은 사용자 (그냥보기) 2. TPS(Transaction Per Second) : 1초에 몇개의 트랜잭션을 처리했는가 3. Response Time : 요청 한 후부터 응답을 받을 때 까지의 시간 4. Resource : 한정된 값을 가진 시스템 구성 요소 (RAM, Memory) 데이터베이스 성능의 특성 경합부하 구간에서 Response Time이 급격히 증가함. TPS가 꺾이기 시작하는 구간부터가 고부하구간임. 성능..

SQL 2022.10.10

백업 및 복구

로그 선행 기입 기법 (write-ahead logging, WAL) 시스템에서 모든 수정은 적용 이전에 로그에 기록된다. 데이터베이스의 데이터 파일을 로그 레코드로 사용하여 동기화 디스크에 연속해서 쓰기 때문에 무작위로 쓰는 것 보다 성능이 좋다. 데이터베이스 버퍼를 이용해 데이터 파일 변경을 효율적으로 진해애함. 데이터베이스 버퍼 로그 - 버퍼 - 데이터 갱신 대상의 데이터를 포함한 블록이 버퍼 풀에 있는지 확인. 없을 경우 데이터 파일로 부터 해방 블록을 읽어 들임. 버퍼 풀 내에 해당 블록을 갱신함. ( Dirty 발생 ) / Dirty의 내용이 데이터 파일에 적용되는 거임. 갱신 내용이 Commit과 함께 로그에 기록. 갱신 되었지만 데이터 파일에 쓰이지 않은 블록은 Dirty 블록이 된다. 갱..

SQL 2022.10.09

테이블 설계

테이블이란 ? 관계형 데이터베이스에서 데이터를 관리 및 저장하는 장소 데이터의 효율적인 관리 및 적절한 조작이 매우 중요하다. 기본키(PRIMARY KEY)의 중요성 특정 집합에서 특정 행을 유일하게 식별할 수 있는 속성 기본키는 절대 중복되면 안된다. 반드시 기본키를 설정해야함 / 단, 업무상 이유로 기본키가 없는 테이블이 존재하는 곳도 있음 정규형 : 테이블을 정의하는 기본 형태 정규형을 제대로 지키지 않으면 정규화 위반임. 정규형의 목적은 제대로된 데이터 모델링을 설계하기 위함이다. 성능 향상이 아님. 1. 제 1정규형(1NF) 위반 테이블의 셀에 여러개의 값을 포함하지 않는다. ex) 연락처 컬럼에 010-1222-2222,qwer@qwer.com 이렇게 두가지 값이 포함되면 안됨. -> 해소 방..

SQL 2022.10.09

트랜잭션

트랜잭션이란? 데이터베이스 관리 시스템에서 상호작용의 단위 / 어떤 요청이 끝난 상태 데이터베이스 기능 중 가장 큰 기능 임. 쿼리 하나가 실패하면, 데이터베이스 시스템은 전체 트랜잭션 또는 실패한 쿼리를 롤백한다. 트랜잭션의 4대 특징 ACID 1. 원자성(Atomicity) : 무조건 전부 성공하거나, 전부 실패해야함 COMMIT : 처리 확정 ROLLBACK : 문제 발생 시 첫 과정 직전 상태로 복귀 2. 일관성(Consistency) : 데이터 조작 전후에 일관성 유지 필요 3. 고립성(Isolation) : 여러 사용자가 동시에 데이터 조작을 실행할 경우 각 처리가 모순 없이 실행되어야함. 4. 지속성(Durability) : 한번 데이터가 변하면 그 상태를 유지하는 것. 트랜잭션이 Commi..

SQL 2022.10.09

연습문제풀이

PRODUCTS 테이블에서 LIST_PRICE의 가격이 평균 가격보다 큰 행(집합)의 PRODUCT_ID, PRODUCT_NAME, LIST_PRICE 컬럼을 구하는 SELECT문을 작성하고 PRODUCT_NAME으로 정렬하라. SELECT A.PRODUCT_ID, A.PRODUCT_NAME, A.LIST_PRICE FROM PRODUCTS A WHERE A.LIST_PRICE > ( SELECT AVG(K.LIST_PRICE) FROM PRODUCTS k) ORDER BY A.PRODUCT_NAME; 먼저 AVG(LIST_PRICE) 구하는 서브쿼리를 이용하여 풀어야했음. 그리고 메인 쿼리에서 PRODUCT_NAME으로 정렬함. CUSTOMERS 테이블에서 CREDIT_LIMIT의 값이 가장 큰 10건..

SQL 2022.10.05

INSERT / UPDETE / DELETE

◇ 요약 ◇ INSERT INTO COLUMN VALUES ( 데이터 ) ; : COLUMN에 데이터 추가 UPDATE 테이블 SET 수정할내용 WHERE 조건 : 조건에 해당하는 열의 내용을 수정한다 DELETE FROM 원하는 테이블 WHERE 조건; :조건에 해당하는 행 삭제 DELETE FROM 원하는 테이블; : 해당 테이블 전부 삭제 CREATE TABLE ~~~ AS SELECT : CTAS 원하는 COLUMN만 골라서 테이블 만들 때 INSERT DROP TABLE DISCOUNTS; CREATE TABLE DISCOUNTS (DISCOUNT_ID NUMBER GENERATED BY DEFAULT AS IDENTITY, DISCOUNT_NAME VARCHAR2(255) NOT NULL, A..

SQL 2022.10.05

SELECT문 ( DUAL / ORDER BY / DISTINCT / WHERE )

※ Oracle에서 제공하는 OT sampledata를 가지고 실습하였습니다. SELECT 문 # SELECT 원하는 COLUMN FROM 원하는 TABLE; SELECT CUSTOMER_ID , NAME , ADDRESS , WEBSITE , CREDIT_LIMIT FROM CUSTOMERS; 테이블 전체 불러오기 # SELECT * FROM 원하는 테이블; SELECT * FROM CUSTOMERS; CUSTOMERS의 전체 테이블을 가져온다 더미테이블 dual SELECT * FROM DUAL; --더미테이블 / 연산처리를 수행할 수 있음 dual은 oracle이 제공하는 더미테이블이다. 주로 연산 처리를 실행함. SELECT (10+5)/2 AS VAL FROM DUAL; ORDER BY ORDE..

SQL 2022.10.04