모각코

[2024 동계 모각코] 1회차 회고록

narlo 2024. 1. 3. 23:04

오늘의 목표

SQLD 보수교육 듣기

 

데이터베이스

- 중복이 배제된 통합된 데이터의 집합

- 컴퓨터화하여 저장된 데이터

- 조직의 기능을 수행하는 데 반드시 유지해야 할 운영 데이터

- 한 조직에 있는 여러 응용 시스템들이 공동으로 소유하고 유지하며 이용하는 공용 데이터

 

데이터베이스의 목적

- 서로 다른 형태의 데이터(사용자 관점)의 통합화

- 중복된 데이터의 일관성 유지

- 저장된 데이터의 정확성을 보장하는 무결성 유지

- 데이터 중복의 최소화

- 업무상 데이터의 공유

- 데이터의 보안성 달성

- 데이터의 논리적, 물리적 독립성

- 데이터의 표준화 달성

 

데이터베이스의 구조(스키마)

- 외부 스키마 : 사용자 개개인이 보는 자료에 대한 관점에서의 데이터 모델 또는 사용자 뷰

- 개념 스키마 : 개별 사용자 뷰를 대상으로 분석 및 설계를 하여 엔티티, 애트리뷰트 및 관계 등으로 표현하고, 점진적으로 여러 사용자 뷰를 대상으로 종목과 상호 불일치되는 점을 제거하여 최종적으로 하나의 개념적 데이터 모델을 만듦

- 내부 스키마 : 주어진 DBMS 및 하드웨어의 계약조건 하에서 여러 가지 처리 요구사항 등을 최대한 만족시킬 접근방법을 선택하고 레코드 저장방법을 설계하여, 저장공간을 계산하는 등 데이터가 실제로 저장되는 방법과 관련 있는 모델

 

 

데이터 : 현실세계에 대해 전체가 아닌 특별히 관심을 끄는 부분을 표현한 것

개체 : 모집단을 구성하는 개체

속성 : 개체를 구성하는 더 이상 분리할 수 없는 정보단위

관계 : 모집단 개개의 개체들이 관련 지어지는 방법을 기술한 것으로써, 대개 업무에 관련된 개체들끼리의 관계를 정의

- 관계의 종류

  - 이진관계

  - n-ary 관계

  - 링 관계

 

트리 구조를 갖는 계층 데이터베이스

중복된 루프의 성질을 갖는 네트워크 데이터베이스

테이블과 행렬을 이용한 관계형 데이터베이스

큐 : FIFO 선입선출

스택 : LIFO 후입선출

 

정규화

- 비정규형 : 정규화를 하지 않은 일반적인 자료(전표, 보고서, 영수증, 서식 등)

- 1차 정규형 : 비정규형에서 반복되는 데이터를 분리하여 남은 결과물로서 중복된 데이터가 없는 상태

- 2차 정규형 : 1차 정규형에서 기본 키에 함수적으로 종속되지 않는 속성을 분리된 상태, 1차 정규형에서 복합 속성으로 이루어진 기본 키의 일부에 함수적으로 종속하는 속성들이 분리된 상태

- 3차 정규형 : 2차 정규형에서 기본 키가 아닌 속성 들에서, 한 속성에 함수적으로 종속하는 속성이 분리된 상태

- 4차 정규형 : 기본 키가 아닌 속성들에서, 한 속성의 값에 따라 다른 속성의 값이 함수적으로 종속인 상태

- 5차 정규형 : 기본 키에 함수적으로 종속하는 속성이 일대일인 상태

- BCNF(보이스-코드 정규형) : 모든 속성은 기본키에 대해 완전 종속해야 하고, 자신들이 복합 기본키에 속하지 않는 한 모든 기본 키에 대하여 완전 종속하여야 하며, 기본 키가 속성에 대하여는 완전 종속하지 않음

 

DDL : create, drop, ...

DML : select, insert, delete, update

DCL : grant, revoke

 

보안 프로토콜

- SSL : 인터넷을 통해 전달되는 정보 보안의 안전한 거래를 허용하기 위해 개발한 인터넷 통신 규약 프로토콜

- S-HTTP : 웹 페이지나 다른 문서를 안전하게 전송

- SET : 인터넷과 같은 오픈 네트워크에서 안전하게 상거래를 할 수 있도록 보장해 주는 보안 프로토콜

- S-MIME(Secure MIME) : 메시징 보안을 위한 기술

- Firewalls : 외부로부터 내부 중요 정보를 보호하기 위한 방화벽을 구성하는 기술

 

SQL 문법

ABS(n) : n의 절대값

CEIL(n) : n보다 크거나 같은 최소의 정수

COS(n) : n의 cosine값

COSH(n) : n의 hyperbolic cosine값

EXP(n) : e(2.71818283..)의 n 지수 승

FLOOR(n) : n보다 작거나 같은 최대의 정수

LN(n) : n (>0)의 natural logarithm

LOG(m, n) : m의 n logarithm

MOD(m, n) : m을 n으로 나눈 나머지

POWER(m, n) : m의 n 지수 승

ROUND(n, [m]) : 소수점 m자리에서 반올림 : m이 생략된 경우 디폴트 치는 0

SIGN(n) : n<0이면 -1, n=0이면 0, n>0이면 1

SIN(n) : n의 sine값

SINH(n) : n의 hyperbolic sine값

SQRT(n) : n의 루트 근 : n<0인 경우 NULL

TAN(n) : n의 tangent

TANH(n) : n의 hyperbolic tangent

TRUNC(n, [m]) : 소수점 m자리에서 절삭 : m이 생략된 경우 디폴트 치는 0

CHR(n) : 숫자 n에 대응하는 문자

CONCAT(char1, char2) : char1과 char2의 연결 값

INITCAP(char) : 각 단어의 첫 문자를 대문자로 변환

LOWER(char) : 소문자로 변환

LPAD(char1, n, [char2]) : char1의 왼쪽에 char2를 덧붙여서 전체 n문자가 되도록 한다. char2가 지정되지 않으면 디폴트로 공백이 적용된다.

LTRIM(char[,set]) : char는 첫 문자부터 확인해서 set에 지정된 문자가 나타나는 동안 해당 문자를 제거한다. set의 디폴트 치는 공백이다.

REPLACE(char, search_str, [,replace_str]) : search_str의 각 문자를 대응하는 replace_str로 치환, replace_str이 지정되지 않으면 search_str이 제거된다.

RPAD(char1, n[,char2]) : char1의 오른쪽에 char2를 덧붙여서 전체 n문자가 되도록 한다. char2가 지정되지 않으면 디폴트로 공백이 지정된다.

RTRIM(char[,set]) : char의 마지막 문자부터 확인해서 set에 지정된 문자가 나타나는 동안 해당 문자를 제거한다. set의 디폴트 치는 공백이다.

 

AVG(DISTINCT|ALL] n) : n의 평균값 : null값의 occurrence는 제외됨

COUNT([ALL] *) : query / sub - query로부터 추출된 행수

COUNT([DISTINCT|ALL] expr) : expr이 null이 아닌 행의 수

MAX([DISTINCT|ALL] expr) : expr의 최대값

MIN([DISTINCT|ALL] expr) : expr의 최소값

SYSDATE : 현재 날짜와 시간