본문 바로가기
728x90

전체 글188

인덱스 인덱스 - 테이블의 컬럼을 떼서 정렬을 하고 따로 저장을 해두는 것 인덱스 사용 이유 WHERE 구문과 일치하는 열을 빨리 찾기 위해 특정 열을 고려 대상에서 빨리 없애 버리기 위해 조인(JOIN)을 실행할 때 다른 테이블에서 열을 추출하기 위해 특정하게 인덱스된 컬럼을 위한 MIN() 또는 MAX()값을 찾기 위해 사용할 수 있는 키의 최 자측 접두사(leafmost prefix)를 가지고 정렬 및 그룹화를 하기 위해 (??) 데이터 열을 참조하지 않은 상태로 값을 추출하기 위해서 쿼리를 최적화 하는 경우 인덱스 구조 논리적/물리적으로 테이블과 독립적 테이블은 컬럼에 데이터가 정렬되지 않고 입력된 순서대로 들어가지만, 인덱스는 KEY컬럼과 ROWID컬럼 두개로 이루어져 있고 오름차순, 내림차순으로 정렬.. 2023. 7. 14.
HTTP 메서드 활용 1. 클라이언트에서 서버로 데이터 전송 1) 데이터 전달 방식 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터(검색어) 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원가입, 상품 주문, 리소스 등록, 리소스 변경 2) 4가지 상황 정적 데이터 조회 - 쿼리 파라미터 미사용 / GET 이미지, 정적 텍스트 문서 동적 데이터 조회 - 쿼리 파라미터 사용 / GET 주로 검색, 게시판 목록에서 정렬 필터(검색어) HTML Form을 통한 데이터 전송 회원 가입, 상품 주문, 데이터 변경 POST Content-Type: application/x-www-form-urlencoded 사용 form의 내용을 메시지 바디를 통해서 전송(key=value, 쿼리 파라미터 형식) 전송 데이터.. 2023. 6. 21.
AWS 공동 책임 모델 보안 및 규제 준수누가 무엇을 책임지는지 고객클라우드 '내부의' 보안 책임고객 데이터플랫폼, 애플리케이션, 자격 증명 및 액세스 관리운영체제, 네트워크 및 방화벽 구성클라이언트 측 데이터 암호화 및 데이터 무결성 인증서버 측 암호화(파일 시스템 및 데이터)네트워킹 트래픽 보호 (암호화/무결성/자격증명) AWS클라우드 '자체의' 보안 책임소프트웨어컴퓨팅스토리지데이터베이스네트워킹하드웨어/AWS 글로벌 인프라리전가용 영역엣지 로케이션 AWS에서 고객 데이터 암호화 → 고객 책임AWS 서비스를 호스팅하는 데이터 센터의 보안 → AWS 책임Amazon RDS에서 My SQL 데이터베이스를 호스팅 할 때, Amazon RDS DB파일 데이터베이스 엔진 보안 패치 → AWS 책임EC2에서의 패치 → 고객 책임 보안과.. 2023. 6. 19.
옵티마이저 옵티마이저 - db내부 핵심 엔진 옵티마이저와 실행계획 1. Parser 1) 문법적, 의미적 오류 확인 2) SQL과 실행계획이 라이브러리 캐시에 존재하는 확인 (1) 존재하면 (soft parsing) => sql과 실행계획을 라이브러리 캐시에서 찾아 바로 실행 (2) 존재하지 않으면 (hard parsing) => 옵티마이저를 거쳐서 쿼리비용 계산 후 실행계획 생성 2. Optimizer 1) Query Transformer : 최적화하기 쉽게 형태 변환 시도, 논리적으로 변환 전후 동일해야 함. 2) Estimator : 실행계획에 대한 전체 비용계산 (I/O, cpu, 메모리, 테이블 및 인덱스 통계정보 확인) 3) Plan Generator : 후보군이 할만한 실행계획 생성 3. Row-Sou.. 2023. 6. 9.
PL/SQL 1. PL/SQL (Procedural Language Extenstion to SQL) SQL을 확장한 절차적 언어(Procedural Language) 관계형 데이터베이스에서 사용되는 Oracle의 표준 데이터 엑세스 언어로, 프로시저 생성자를 SQL과 완벽하게 통합한다. 유저 프로세스가 PL/SQL 블록을 보내면, 서버 프로세서는 PL/SQL Engine에서 해당 블록을 받고 SQL과 Procedural을 나눠서 SQL은 SQL Statement Executer로 보낸다. PL/SQL 프로그램의 종류는 크게 Procedure, Function, Trigger로 나뉘어진다. 2. PL/SQL의 특징 블록 단위의 실행을 제공한다. 이를 위해 BEGIN 과 END를 사용한다. 마지막 라인에 /를 입력하면.. 2023. 6. 5.
윈도우 함수와 문제풀이3 - 권한 GRANT 유저에게 개체에 대한 권한을 허용 WITH GRANT OPTION : 권한을 부여받은 유저가 동일권한을 줄 수 있는 옵션 GRANT select ON schema::a_user TO 유저명; DENY 유저에게 개체에 대한 권한을 차단 DENY select ON schema::a_user TO 유저명; DENY select ON a_user.table1 TO 유저명; REVOKE 유저에게 부여된 권한을 회수 CASCADE : WITH GRANT OPTION 으로 부여된 권한까지 모두 회수 REVOKE select ON schema::a_user FROM 유저명; 1. 아래 설명 중 ㄱ,ㄴ에 해당하는 내용을 작성하시오 DBMS에 생성된 USER와 다양한 권한들 사이에서 중개 역할을 할 수 있도록 .. 2023. 6. 5.
윈도우 함수와 문제풀이 2 윈도우 함수() OVER (PARTITION BY 컬럼 ORDER BY 컬럼 ASC/DESC RANGE BETWEEN A AND B OR ROWS BETWEEN A AND B) DEFAULT 세팅 : RANGE BETWEEN UNBOUNDED PERCEDING AND CURRENT ROW RANGE BETWEEN A AND B : 현재 컬럼의 값 기준, 연산에 참여할 행 선택 UNBOUNDED PERCEDING : 최종 출력될 값의 맨 처음 ROW의 값 CURRENT ROW : 현재 ROW의 값 UNBOUNDED FOLLOWING : 최종 출력될 값의 맨 마지막 ROW의 값 (AND뒤) 1. 다음 중 아래의 SQL에 대한 설명으로 가장 적절한 것은? SELECT 상품유형코드 , AVG(상품가격) AS 상.. 2023. 6. 5.
윈도우함수와 문제풀이 윈도우 함수 select 결과에 대하여, 행과 행 간의 관계를 파악 select 결과에 윈도우 함수를 써도 행 수는 그대로 윈도우함수 () over (partition by 컬럼 order by 컬럼 asc / desc) 윈도우함수() 순위함수, 집계함수, 행순서함수, 비율함수 over over은 윈도의 함수에서 꼭 들어가야 하며 over 내부에 partition by 결과 order by 가 온다. partition by 전체 집합을 어떤 기준(컬럼)에 따라 나눌지를 결정 order by 어떤 항목(컬럼)을 기준으로 순위를 정할 지 결정하는 부분 순위함수 ROW_NUMBER (동점자처리 x) 1,2,3,4 RANK(동점자 처리 후 동점자 수만큼 건너뜀) 1,2,2,4,5 DENSE_RANK (동점자 처.. 2023. 6. 5.
SQLD 문제풀이 14 - 집계함수 ROLLUP GROUP BY ROLLUP(COL1, COL2, COL3) GROUP BY 결과 1 : COL1, COL2, COL3 GROUP BY 결과 2 : COL1, COL2 GROUP BY 결과 3 : COL1 GROUP BY 결과 4: 전체합계 GROUP BY ROLLUP(COL1, (COL2, COL3)) GROUP BY 결과 1 : COL1, (COL2, COL3) GROUP BY 결과 2 : COL1 GROUP BY 결과 3: 전체합계 GROUP BY COL1, ROLLUP((COL2, COL3)) GROUP BY 결과 1 : COL1, (COL2, COL3) GROUP BY 결과 2 : COL1 오른쪽부터 없어짐 컬럼의 순서가 수행 결과에 영향을 미침 GROUPING ROLLUP, CUB.. 2023. 6. 4.
SQLD 문제 풀이 13 1. 아래와 같은 데이터 모델에 대한 설명으로 가장 적절한 것은? (단, 시스템적으로 회원기본정보와 회원상세정보는 1:1, 양쪽 필수 관계임을 보장한다.) 1) 회원ID 컬럼을 대상으로 (회원기본정보 EXCEPT 회원상세정보) 연산을 수행하면 회원상세정보가 등록되지 않은 회원ID가 추출된다. → 회원 상세정보에서 회원 ID가 참조값으로 들어가므로 무조건 있어야 한다. 2) 회원ID 컬럼을 대상으로 (회원기본정보 UNION ALL 회원상세정보) 연산을 수행한 결과의 건수는 회원기본정보의 전체건수와 동일하다. 2배가 됨 3) 회원ID 컬럼을 대상으로 (회원기본정보 INTERSECT 회원상세정보) 연산을 수행한 결과 건수와 두 테이블을 회원ID로 JOIN연산을 수행한 결과의 건수는 동일하다. 4) 회원ID 컬.. 2023. 6. 3.
728x90