반응형

자격증 219

[SQL 첫걸음] 3강. 데이터베이스 서버

1 데이터베이스 서버의 종류 클라이언트 / 서버 모델 웹 시스템 클라이언트 / 서버 클라이언트 기능을 하는 사용자가 지정한 URL과 연결된 웹 서버의 요청(Request)을 보내면 클라이언트의 요청을 받은 웹 서버에서는 그에 맞게 처리 후 응답(Response)을 클라이언트에게 반환합니다. RDBMS(관계형 데이터베이스 관리시스템)의 클라이언트 서버 RDBMS도 웹 시스템과 마찬가지로 클라이언트/서버 모델로 구성되어 있지만 ID와 비밀번호를 이용한 사용자 인증이 필요하다. 사용자 조작에 따라 요청을 전달하는 "클라이언트"와 해당 요청을 받아 처리하는 "서버"로 소프트웨어를 나누고, 복수의 컴퓨터 상에서 하나의 모델을 구현하는 시스템이다. 2. 웹 애플리케이션의 구조 웹 애플리케이션은 일반적으로 웹 서버와..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 2강. 다양한 데이터베이스

1. 데이터베이스의 종류 계층형 데이터베이스 폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식의 데이터베이스이다. 하드디스크 / DVD파일시스템을 이러한 계층형 데이터베이스라고 하며 최근에는 많이 사용하고 있지 않다. 관계형 데이터베이스 행과 열을 가지는 표 형식의 데이터(2차원 데이터)를 저장하는 형태의 데이터베이스이다. 각각에 표에 이름을 붙여 사용하며 SQL을 사용할 수 있는 데이터베이스는 오직 관계형 데이터베이스 밖에 없다. 객체지향 데이터베이스 객체(Object)는 것을 중심으로 프로그래밍하는 언어이며 가능하면 그대로를 데이터베이스에 데이터를 저장하는 것이다. XML 데이터베이스 XML형식으로 기록된 데이터를 저장하는 데이터베이스이며 SQL 명령어가 불가능하며 검색할 떄는 XQuery라는 명..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 1강. 데이터베이스

1. 데이터베이스란? 넓은 의미로는 컴퓨터 안에 기록된 모든 것으로 일반적으로 통용되는 의미는 특정 데이터를 확인하고 싶을 때 간단하게 찾아낼 수 있도록 정리된 형태의 데이터입니다. 💡 데이터베이스는 일반적으로 "DB"로 불리며 저장장치 내에 정리되어 저장된 데이터의 집합이다.이를 효율적으로 관리하는 소프트웨어를 데이터베이스 관리 시스템(DBMS)이라고 한다. 2. 데이터베이스 사용목적 생산성 시스템 개발 과정에서 생산성 향상을 도모하며 어떤 시스템에서 데이터를 검색, 추가, 삭제, 갱신과 같은 처리를 하는 기본 기능을 제공해준다. 결국 개발에 필요한 작업이 줄어들어 비용에서 효율적이다. 기능성 복수 사용자에 요청에 대응, 대용량에 데이터를 저장하거나 고속으로 검색하는 기능을 제공하며 관리 기능을 사용자..

자격증/SQLD 2022.04.04

[정보처리산업기사] 86강 쿼리 성능 최적화

1.쿼리 성능 최적화 개요 데이터 입출력 애플리케이션의 성능 향상을 위해 SQL 코드를 최적화하는 것 쿼리 성능 최적화 전에 성능 측정 도구인 APM을 사용하여 최적화 할 쿼리를 선정 APM(Application Performanc Management/Monitoring) : 애플리케이션의 성능 관리를 위해 접속자, 자원 현황, 트랜잭셩 수행 내역, 장애 진단 등 다양한 모니터링 기능을 제공하는 도구 최적화 대상 쿼리에 대해 옵티마이저가 수립한 실행 계획을 검토하고 SQL 코드와 인덱스 재구성 2. 옵티마이저(Optimizer) 옵티마이저는 작성된 sql이 가장 효율적으로 수행되도록 최적의 경로를 찾아 주는 모듈이다. 옵티마이저 종류 RBO(rule based optimizer) CBO(cost base..

[정보처리산업기사] 85강 프로시저(Procedure)

1. 프로시저 개요 절차형 SQL을 활용해 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행한다. cf) 절차형 SQL : DB에서 연속적인 실행, 분기, 반복 등의 제어가 가능한 SQL 프로시저를 만들어 DB에 저장하면 여러 프로그램에서 호출하여 사용할 수 있다. 프로시저는 DB에 저장되어 수행되기 때문에 Stored Procedure라고 부른다. 프로시저는 시스템의 일일 마감 작업, 일괄 작업 등에 주로 사용된다. 프로시저 구성도 DECLARE : 프로시저의 명칭, 변수, 인수, 데이터 타입을 정의하는 선언부 BEGIN/END : 프로시저의 시작과 종료를 의미 CONTROL : 조건문 또는 반복문이 삽입되어 순차적으로 처리 SQL : DML, D..

[정보처리산업기사] 84강 절차형 SQL

1. 절차형 SQL의 개요 절차형 sql은 c, java 등의 프로그래밍 언어와 같이 연속적인 실행이나, 분기, 반복 등의 제어가 가능한 sql을 의미한다. 절차형 sql은 일반적인 프로그래밍 언어에 비해 효율은 떨어지지만 단일 sql문장으로 처리하기 어려운 연속적인 작업들을 처리하는데 적합하다. 절차형 sql은 dbms 엔진에서 직접 실행되기 때문에 입/출력 패킷이 적은 편이다. begin ~ end 형식으로 작성되는 블록 구조로 되어 있기 때문에 기능별 모듈화가 가능하다. 절차형 sql의 종류 프로시저(procedure) : 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 sql작업을 수행한다. 트리거(trigger) : 데이터 입력, 갱신, 삭제 등의 이벤트가 ..

[정보처리산업기사] 83강 DML - JOIN

1. JOIN의 개념 JOIN(조인)은 2개의 테이블에 대해 연관된 튜플들을 결합하여, 하나의 새로운 릴레이션을 반환한다. 크게 INNER JOIN과 OUTER JOIN으로 구분된다. JOIN은 일반적으로 FROM 절에 기술하지만, 릴레이션이 사용되는 어디에나 사용할 수 있다. 사용 형식과 의미 UNION 구조가 동일한 두 테이블을 통합할 땐 UNION을 사용한다. 중복된 행은 한 번만 출력 UNION ALL 구조가 동일한 두 테이블을 통합한 후 중복된 행도 그대로 출력한다 INTERSECT 두 SELECT 문의 조회 결과 중 공통된 행만 출력한다 EXCEPT 첫 번째 SELECT문의 결과에서 두 번째 SELECT 문의 조회 결과를 제외한 행을 출력한다 JOIN 2개 테이블에 대해 연관된 튜플을 결합하여..

[정보처리산업기사] 82강 SELECT - 2

1. 일반 형식 SELECT는 테이블에서 튜플을 검색 표기방법 SELECT [PREDICATE] [테이블명.]속성명 [AS 별칭][, [테이블명.]속성명, ...] FROM 테이블명[, 테이블명, ...][, WINDOW 함수 OVER (PARTITION BY 속성명1, ... ORDER BY 속성명2) [AS 별칭]] [WHERE 조건] [GROUP BY 속성명, 속섬영, ..] [HAVING 조건] [ORDER BY 속성명 [ASC | DESC]]; PREDICATE : 불러올 튜플 수를 제한할 명령어를 기술 ALL : 모든 튜플 검색할 때 지정, 생략 가능 DISTINCT : 중복 튜플 존재 시 한개만 검색 DISTINCTROW : 중복 튜플 존재 시 한개만 제거하지만 튜플 전체를 대상으로 함 속성..

[정보처리산업기사] 81강 SELECT - 1

1. 일반 형식 SELECT는 테이블에서 튜플을 검색 표기방법 SELECT [PREDICATE] [테이블명.]속성명 [AS 별칭][, [테이블명.]속성명, ...] FROM 테이블명[, 테이블명, ...][, WINDOW 함수 OVER (PARTITION BY 속성명1, ... ORDER BY 속성명2) [AS 별칭]] [WHERE 조건] [GROUP BY 속성명, 속섬영, ..] [HAVING 조건] [ORDER BY 속성명 [ASC | DESC]]; PREDICATE : 불러올 튜플 수를 제한할 명령어를 기술 ALL : 모든 튜플 검색할 때 지정, 생략 가능 DISTINCT : 중복 튜플 존재 시 한개만 검색 DISTINCTROW : 중복 튜플 존재 시 한개만 제거하지만 튜플 전체를 대상으로 함 속성..

[정보처리산업기사] 80강 DML

1. DML의 개념 DML(데이터 조작어)는 데이터베이스 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 관리하는 데 사용하는 언어 데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공한다. 2. INSERT INTO (삽입문) 테이블에 새로운 튜플을 삽입 명령어 표기법 INSERT INTO 테이블명([속성명1, 속성명2, ...]) VALUES (데이터1, 데이터2, ...) //사원 테이블에 (이름 - 김이박, 부서 - 개발)을 삽입하는 SQL문 INSERT INTO 사원(이름, 부서) VALUE(김이박, 개발); //사원 테이블에 있는 개발의 모든 튜플을 개발 부원(이름, 생일) 테이블에 삽입하는 SQL문 INSERT INTO 개발부원(이름, 주소) SELECT 이름, 주소..

반응형