본문 바로가기
NOTE/정보처리기사

정보처리기사실기 데이터베이스

by KIMECK 2020. 10. 8.
반응형

 

| 데이터베이스

 

 * 테이블 A / 컬럼명 col1 , col2

 

 SELECT  데이터 조회 

 : SELECT col1, col2 FROM A ; 

 WHERE 조건문

 : SELECT col1, col2 FROM A WHERE col1 = 'abc' ; 

 : SELECT col1, col2 FROM A WHERE col1 IN('abc','cap') ; 

 

 * LIKE 연산자 

 : SELECT col1, col2 FROM A WHERE col1 LIKE '%abc%' ; 

 

 * case 함수 : case when 으로 값을 넣는 함수 (decode와 비슷)

 : SELECT col1, col2,

   case when 조건 then when... then... END  AS no

   FROM A ;

 

 VIEW : 임시테이블로 쿼리의 결과값을 저장하여 사용함

 : CREATE VIEW sample AS SELECT * from A WHERE col1 = 'abc' ;

 

 HAVING : 집합연산(group by) where 조건절 대체로 사용

 : SELECT col1, COUNT(col2)

   FROM A

   GROUP BY col1

   HAVING COUNT(col2) >= 10 ; 

 

| 인덱스 : 검색을 빠르게 하기위한 자료구조 / 기본키는 자동 인덱스

  * 추가/삭제

    : Create INDEX 인덱스명 ON 테이블(컬럼) ;

    : Alter table 테이블 Drop Index 인덱스명 ;

 

| 트랜잭션 ( TranSaction )

  : 복수의 SQL 문을 수행하는 중에 장애가 발생했을 장애에 대응할 수 있도록

    하는 기능 (전체수행과 전체취소 두가지의 결과만 가져야함)

 - ACID 특성

   원자성 : All-or-Nothing / 커밋, 롤백

   일관성 : 트랜잭션 전후에 데이터가 손상을 받으면 안됨

   고립성 : 여러개의 트랜잭션이 수행될 때 성능과 데이터 안정성간의 trade-off

   지속성 : 트랜잭션이 종료된 후에도 데이터에 문제가 없어야됨

 

| 저장 프로시저 ( Stored Procedure )

  : SQL을 함수형태로 저장하고 사용하는 방법

    연산은 성능이 많이 떨어지며, 한 번에 많은 쿼리를 실행해야 할 때 가장 효과가 높다.

  * 리턴값이 없는 것 : 프로시저 // 있는 것 : 함수

 : DELIMITER //

   Create PROCEDURE InsertA()

   BEGIN

   insert into A values ('abc',1234);

   END

   //

   DELIMITER ;

  호출 : CALL insertA;

 

| 트리거 ( Trigger )

 : 특정한 조건이 되면 자동으로 호출(콜백:callBack)되는 저장 프로시저

 ex)

  Create TRIGGER 트리거명 BEFORE(또는 AFTER) CRUD ON 테이블명

  FOR EACH ROW

  BEGIN

  변경전(old.칼럼명) 또는 변경후 (new.컬럼명)을 이용한 처리

  END

 

| DCL  권한 설정 

 역할 생성 

 : CREATE Role a_admin;

  생성한 역할에 권한 부여 

 : GRANT INSERT, DELETE ON A TO a_admin;

  User 에게 a_admin 역할 부여

 : GRANT a_admin TO sampleUser;

 

| 정규화

  : 중복제거를 위한 테이블 정의 규칙

 

NoSQL ( Not Only SQL )

: 일반 읽기/검색에 최적화된 RDBMS 의 보완재의 역할

  로그머신, SNS메신저(카톡) 등 쓰기성능이 중요한 일련의 제품군을 뜻함

  - 저장형태에 대한 분류

    키/밸류 (Key/Value) : 킷값을 주면 벨류를 리턴하는 형태 ( Redis )

    정렬된 키/밸류 : 키값으로 정렬되는 형태 ( Hadoop, Cassandra )

    도큐먼트형태 : 벨류값이 JSON/XML (File)문서인 형태 ( MongoDB )

반응형

댓글