no image
[SQLD] 3-5. SQL 기본 - WHERE조건절, 연산자 종류, 비교연산자, LIKE연산자, NULL연산자, 논리연산자, 연산자 우선순위
A. WHERE 조건절 개요 1. DML을 이용하여 자료를 검색, 수정, 삭제할 때 구체적인 조건을 기술함으로써 작업 범위를 정의  B. 연산자 종류1. 요구 조건을 효율적으로 만족하는 쿼리문을 구성하기 위해서 연산자들을 사용2. 비교연산자, SQL연산자, 논리연산자, 부정비교연산자, 부정 SQL연산자로 분류   C. 비교 연산자1. = : 좌측, 우측 값이 동일 할 경우 참2. > : 죄측 값이 우측 값보다 큰 경우 참3. >= : 죄측 값이 우측 값보다 크거나 동일할 경우 참4. 5.    D. SQL 연산자1. BETWEEN A AND B : 좌측 값이 A 값과 B 값 사이에 있으면 참2. IN (값1, 값 2 …) : 좌측 값이 IN () 안에 기술된 값이 하나라도 일치하면 참3. LIKE 비교문..
2024.10.21
no image
[SQLD] 3-4. SQL 기본 - TCL 개념, 트랜잭션, COMMIT, ROLLBACK, SAVEPOINT
TCL(Transaction Control Language) 1) 개념논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어 2) 종류COMMIT, ROLLBACK, SAVEPOINT    A. 트랜잭션 개요1. 트랜잭션이란 데이터베이스의 논리적 연산 단위이며 분리될 수 없는 한 개 이상의 데이터베이스 조작 단위2. 하나의 트랜잭션에는 하나 이상의 SQL 문장이 포함3. 트랜잭션은 분할할 수 없는 최소의 단위4. 전부 작용하거나 전부 취소 (All OR Nothing)  B. 트랜잭션 특징원자성(Atomicity) - 트랜잭션에서 정의된 연산들은 모두 성공적으로 실행되던지 아니면전혀 실행되지 않은 상태로 남아 있어야 함 (All or Nothing)일관성(Co..
2024.10.21
no image
[SQLD] 3-3. SQL 기본 - DML 개념, 종류, 구문
DML(Data Manipulation Language)1) 개념- 만들어진 테이블에 관리하기를 원하는 자료들을 입력, 수정, 삭제, 조회하는 조작 관련 명령어2) 종류- INSERT, UPDATE, DELETE, SELECT   A. DML : INSERT1. 테이블에 데이터를 입력하는 명령어2. INSERT문의 구문형식은 COLUMN LIST를 작성 여부에 따라 두 가지 구문이 존재 【1번째 구문 형식 : 컬럼 목록 작성】1. INSERT INTO “테이블명” (COLUMN1, COLUMN2 … ) VALUES (VALUE1, VALUE2, …);2. INSERT INTO PLAYER (PLAYER_ID, PLAYER_NAME, PLAYER_NO) VALUES (‘ABC123’, ’박지성’, 7)  ..
2024.10.21
no image
[SQLD] 3-2. SQL 기본 - DDL 개념, 종류, 테이블 생성 규칙, 제약 조건
A. DDL(Data Definition Language) 1) 개 념테이블과 같은 데이터 구조를 정의하는 데 사용되는 명령어들로 그러한 구조를 생성/변경/삭제하거나 이름을 바꾸는 데이터 구조와 관련된 명령2) 종 류CREATE, ALTER, DROP, RENAME, TRUNCATEA. DDL(Data Definition Language)자주 사용되는 데이터 유형데이터 유형설 명CHARACTER(s)고정 길이 문자열 정보 (Oracle, SQL Server 모두 CHAR로 표현)s는 기본 길이 1바이트, 최대 길이 Oracle 2,000바이트, SQL Server 8,000바이트입력 값의 길이가 s보다 작을 경우 그 차이 만큼 공백문자로 입력됨VARCHAR(s)가변 길이 문자열 정보 (Oracle은 VA..
2024.10.21
no image
[SQLD] 3-1. SQL 기본 - 관계형 데이터베이스 개요
A. 데이터 베이스란?1 넓은 의미에서의 데이터베이스: 일상적인 정보들을 모아 놓은 것 자체2 일반적인 의미에서의 데이터베이스: 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것을 의미   B. 데이터 베이스의 발전1960 년대 - 플로우차트 중심의 개발 방법을 사용하였으며 파일 구조를 통해 데이터를 저장하고 관리1970 년대 - 데이터베이스 관리 기법이 처음 태동되던 시기였으며 계층형(Hierarchical) 데이터 베이스, 망형(Network) 데이터베이스 같은 제품들이 사용화1980 년대 - 현재 대부분의 기업에서 사용되고 있는 관계형 데이터베이스가 상용화되었으며 Oracle, Sybase,DB2와 같은 제품이 사용1990 년대 - Oracle, Sybase, In..
2024.10.21
no image
컨테이너와 쿠버네티스 개요
A. 컨테이너란?  컨테이너는 OS의 커널 위에서 cgroup, namespace, netfilter등과 같은 커널 기능들을 통해 프로세스를 cpu, memory, networking, filesystem의 특정 영역에 격리시켜 다른 공유 영역의 접근을 제한하고 독립적인 공간을 제공하는 기술입니다. 독립된 공간에 애플리케이션과 애플리케이션의 구동에 필요한 바이너리 및 라이브러리를 Docker나 Podman을 통해서 OCI(Open Container Initiative) 표준에 맞게 이미지화할 수 있으며 컨테이너 엔진 위에 배포, 관리 가능합니다 좀 더 간단히 말하자면 컨테이너는 애플리케이션을 환경에 구애 받지 않고 별도의 운영 환경을 제공해 주는 기술입니다. 즉, 운영체제에서 실행되는 프로세스를 별도로 ..
2024.10.21
no image
[SQLD] 2-6. 데이터 모델과 성능 - 예상문제풀이 (Question&Answer)
문제 1데이터 모델을 다음과 같이 만들었는데 학번, 과목번호 } 결정자이면서 PK이고 성적, 지도교수명, 학과명 } 종속자이다. 속성 중 과목번호가 결정자이고 지도교수명, 학과명 이 과목번호에만 함수종속성을 가진다면 이는 몇 차 정규형에 속하고 몇 차 정규화의 대상인가?  ① 1 차 정규형 - 2 차 정규화대상② 2 차 정규형 - 3 차 정규화대상③ 3 차 정규형 - 보이스코드 정규화대상④ 보이스코드 정규형 - 4 차 정규화대상 문제 2다음 모델에서 배송 엔터티에서 고객의 정보를 찾을 때 성능향상과 SQL 문장을 단순화하게 할 수 있도록 가장 적절한 반정규화 방법은 무엇인가? (전제사항 : 주문목록 엔터티에서는 고객의 주식별자를 상속받기를 원하지 않음, 배송 엔터티에서는 고객 엔터티의 모든 속성을 참조하..
2024.10.16
no image
[SQLD] 2-4. 데이터 모델과 성능 - DB 구조와 성능, 슈퍼/서브타입, PK/FK칼럼
A. DB 구조에 따른 성능 개선 방안1. 슈퍼타입/서브타입 모델 구현에 따른 성능2. 인덱스 특성을 고려한 PK/FK 데이터베이스 성능 향상3. 테이블과 FK제약 여부에 따른 성능  B. 슈퍼타입/서브타입 모델의 성능【슈퍼 서브타입 데이터 모델의 개요 】1. 업무 데이터의 특징을 공통과 차이점을 표현2. 공통 속성을 슈퍼 타입으로 모델링3. 차이점이 속성을 별도의 서브 엔터티로 표현4. 물리 데이터 모델 테이블로 변환을 할 때 선택의 폭을 넓힐 수 있음5. 물리 데이터 모델 테이블을 설계하는 단계에서 슈퍼 서브타입 데이터 모델을 일정한 기준에 의해 변환 【슈퍼 서브타입 데이터 모델의 변환 】1. 슈퍼 서브타입을 물리 데이터 모델 테이블로 변환을 잘못하면 성능이 저하2. 트랜잭션 특성을 고려하여 물리 데..
2024.10.16
no image
[SQLD] 2-3. 데이터 모델과 성능 - 대용량 데이터에 따른 성능, 수평분할, 수직분할, 테이블 분리, 로우체이닝
A. 대량 데이터 발생에 따른 테이블 분할 개요1. 업무에 자주 사용되는 특정 데이터가 한 군데에 몰리는 현상에 의해 발생2. 중요한 업무에 해당되는 데이터가 특정 테이블에 있는 경우에 발생3. 트랜잭션이 분산 처리될 수 있도록 테이블단위에서 분할의 방법 적용 필요    B. 컬럼 수가 많은 테이블 성능1. 데이터가 디스크에 넓게 분포할 가능성이 커져 디스크 I/O 가 대량 발생 가능성 있음2. 트랜잭션 유형을 파악하여 자주 접근하는 칼럼과 접근 빈도가 낮은 칼럼을 1:1로 수직 분할3. 필수 입력 속성인 컬럼들은 테이블 앞에 위치시켜 로우 길이를 줄일 수 있음4. Null 값으로 존재하는 속성들을 재분석하여 데이터모델 재설계를 고려5. 로우체이닝 발생 가능성이 증가   C. 대용량 데이터에 따른 성능1..
2024.10.16