Coding Note 69

OSI 7계층 & TCP/IP 4계층

인터넷 프로토콜 스위트 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 통신규약(프로토콜)의 모음이다. 1. OSI 7 계층 국체표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 개념적으로 설명한 것이다. 계층 구조를 가짐으로써 데이터자체의 흐름을 각 구간별로 데이터의 움직임을 알 수 있다. 또한 트러블슈팅 자체가 용이해지며 각 다른 벤더사와의 호환성도 해결될 수 있다. L7 응용 계층 (Application layer) 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행 인터페이스 역할을 하며, 사용자의 입출력 부분을 담당 L6 표현 계층 (Presentation Layer) 코드 간 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다..

CS 공부 2023.07.21

SQLD / 과목 2 / 제 2장 SQL 활용 / 계층형 질의와 셀프 조인, 서브쿼리

1. 계층형 질의와 셀프 조인 1) 계층형 질의(Hierarchical Query) 테이블에 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해 사용, 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터를 말함 Oracle 계층형 질의 SELECT... FROM 테이블 WHERE condition AND condition... START WITH condition CONNECT BY [NOCYCLE] condition AND condition... [ORDER SIBLINGS BY column. column, ...] START WITH 계층 구조 전개의 시작 위치를 지정하는 문구. 루트 데이터를 지정 CONNECT BY 다음에 전개될 자식 데이터를 지정하는 문구. 자식 데이터는 CONNECT..

자격증/SQLD 2023.03.10

SQLD / 과목 2 / 제 2장 SQL 활용 / 표준 조인, 집합 연산자

1. 표준 조인 1) STANDARD SQL 개요 일반 집합 연산자 UNION : 합집합(중복 행은 1개로 처리 UNION ALL : 합집합(중복 행도 표시) INTERSECTION : 교집합(INTERSECTION) EXCEPT, MINUS : 차집합(DIFFERENCE) CROSS JOIN : 곱집합(PRODUCT) 순수 관계 연산자 SELECT 연산은 WHERE절로 구현 PROJECT연산은 SELECT절로 구현 NATURAL JOIN연산은 다양한 JOIN기능으로 구현 DIVIDE 사용 안 함 2) FROM 절 JOIN 형태 INNER JOIN NATURAL JOIN USING 조건절 ON 조건절 CROSS JOIN OUTER JOIN 3) INNER JOIN OUTER(외부) JOIN과 대비하여 내..

자격증/SQLD 2023.03.10

SQLD / 과목 2 / 제 1장 SQL 기본 / GROUP BY, HAVING절, ORDER BY절, 조인(JOIN)

1. GROUP BY, HAVING절 1) 집계함수(Aggregate Function) 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려줌 GROUP BY절은 행들을 소그룹화 SELECT절, HAVING절, ORDER BY절에 사용 가능 집계 함수의 종류 COUNT(*) NULL 값을 포함한 행의 수 COUNT(표현식) 표현식의 값이 NULL값인 것을 제외한 행의 수 SUM([DISTINCT | ALL] 표현식) NULL값을 제외한 합계 AVG([DISTINCT | ALL] 표현식) NULL 값을 제외한 평균 MAS([DISTINCT | ALL] 표현식) 표현식의 최댓값(문자, 날짜 데이터 타입도 사용 가능) MIN([DISTINCT | ALL] 표현식) 표현식의 최소값(문자, 날짜 데이터 타입도..

자격증/SQLD 2023.03.10

SQLD / 과목 2 / 제 1장 SQL 기본 / WHERE, 함수(FUNCTION)

1. WHERE 1) WHERE 조건절 개요 WHERE절은 FROM절 다음에 위치하며, 조건식은 아래 내용으로 구성된다. SELECT [DISTINCT/ALL] 칼럼명 [ALIAS명] FROM 테이블명 WHERE 조건식; 2) 연산자의 종류 구분 연산자 연산자의 의미 비교 연산자 = 같다 > 보다 크다 >= 보다 크거나 같다 NOT -> 비교연산자 -> AND -> OR 3) ROWNUM, TOP 사용 ROWNUM Pseudo Column으로써 SQL 처리 결과 집합의 각 행에 대해 임시로 부여되는 일련번호, 테이블이나 집합에서 원하는 만큼의 행만 가져오고 싶을 때 WHERE 절에서 행의 개수를 제한하는 목적으로 사용 TOP SQL Server에서 결과 집합으로 출력되는 행의 수를 제한할 때 사용 TOP..

자격증/SQLD 2023.03.10

SQLD / 과목 2 / 제 1장 SQL 기본 / DML, TCL

1. DML(Data Manipulation Language) 1) INSERT 테이블에 데이터 입력 INSERT INTO 테이블명 (COLUMN_LIST) VALUES (COLUMN_LIST에 넣을 VALUE_LIST); INSERT INTO 테이블명 VALUES (전체 COLUMN에 넣을 VALUE_LIST); CHAR, VARCHAR일 경우 " ' " (Single Quotation)으로 입력할 값을 입력 숫자일 경우 " ' " (Single Quotation)을 사용하지 않는다. 2) UPDATE 입력한 정보 중 잘못 입력하거나 변경이 필요한 경우 UPDATE 테이블명 SET 수정할 칼럼명 = 원하는 값; => 해당 칼럼에 있는 모든 값 변경 3) DELETE 데이터 삭제 DELETE TABLE ..

자격증/SQLD 2023.03.09

SQLD / 과목 2 / 제 1장 SQL 기본 / 관계형 DB의 개요, DDL

1. 관계형 데이터베이스 개요 1) 데이터베이스 일상적인 정보들을 모아 놓은 것 특정 기업이나 조직 또는 개인이 필요에 의해(ex: 부가가치가 발생하는) 데이터를 일정한 형태로 저장해 놓은 것 DBMS(Database Management System) DB를 생성, 관리, 조작하는 데 사용되는 소프트웨어 시스템이다. 효율적인 데이터 관리뿐만 아니라 예기치 못한 사건으로 인한 데이터의 손상을 피하고, 필요시 필요한 데이터를 복구하기 위한 것 데이터베이스의 발전 1960 년대 플로우차트 중심의 개발 방법 사용 파일 구조를 통해 데이터를 저장 관리 1970 년대 계층형(Hierarchical) 데이터베이스, 망형(Network) 데이터베이스 같은 제품들이 상용화 1980 년대 관계형 데이터베이스 상용화 Ora..

자격증/SQLD 2023.03.09

SQLD / 과목 1 / 제 2장 데이터 모델과 성능 / 분산 데이터베이스와 성능

1. 분산 데이터베이스의 개요 여러 곳으로 분산되어 있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터집합 2. 분산 데이터베이스의 투명성(Transparency) 분할 투명성(단편화) 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 sute에 저장 위치 투명성 사용하려는 데이터의 저장 장소 명시 불필요. 위치정보가 System Catalog에 유지되어야 함 지역사상 투명성 지역 DBMS와 물리적 DB 사이의 Mapping보장. 각 지역시스템 이름과 무관한 이름 사용 가능 중복 투명성 DB객체가 여러 site에 중복되어 있는지 알 필요가 없는 성질 장애 투명..

자격증/SQLD 2023.03.09

SQLD / 과목 1 / 제 2장 데이터 모델과 성능 / 데이터베이스 구조와 성능

1. 슈퍼/서브 타입 모델의 성능고려 방법 슈퍼/서브타입 데이터 모델의 개요 최근 데이터 모델링에 Extended ER 모델을 사용하는 이유는 업무를 구성하는 데이터 특징을 공통과 차이점의 특징을 고려하여 효과적으로 표현 슈퍼/서브타입 데이터 모델의 변환 성능 저하 원인(트랜잭션을 고려하지 않은 경우) 트랜잭션은 항상 일괄로 처리하는데 테이블은 개별로 유지되어 Union연산에 의해 성능이 저항될 수 있다. 트랜잭션은 항상 서브타입 개별로 처리하는데 테이블은 하나로 통합되어 있어 불필요하게 많은 양의 데이터가 집약되어 있어 서능이 저하되는 경우가 있다. 트랜잭션은 항상 슈퍼+서브 타입을 공통으로 처리하는데 개별로 유지되어 있거나 하나의 테이블로 집약되어 있어 성능이 저하되는 경우가 있다. 성능을 고려한 슈..

자격증/SQLD 2023.03.08

SQLD / 과목 1 / 제 2장 데이터 모델과 성능 / 대량 데이터에 따른 성능

1. 대량 데이터발생에 따른 테이블 분할 개요 대량의 데이터가 존재하는 테이블에 많은 트랜잭션이 발생하여 성능이 저하되는 테이블 구조에 대해 수평/수직 분할 설계를 통해 성능 저하를 예방할 수 있음. 로우체이닝(Row Chaining) 로우 길이가 너무 길어서 데이터 블록 하나에 데이터가 모두 저장되지 않고 두 개 이상의 블록에 걸쳐 하나의 로우가 저장되어 있는 형태 로우마이그레이션(Row Migration) 데이터 블록에서 수정이 발생하면 수정된 데이터를 해당 데이터 블록에서 저장하지 못하고 다른 블록의 빈 공간을 찾아 저장하는 방식 2. 한 테이블에 많은 수의 칼럼을 가지고 있는 경우 로우 체이닝과 로우 마이그레이션이 발생하여 많은 블록에 데이터가 저장되면 DB 메모리에서 디스크 I/O가 발생할 때 ..

자격증/SQLD 2023.03.08