전체 글(76)
-
[정보처리기사] 데이터베이스 트리거란?
3과목: 데이터베이스 구축 데이터베이스 트리거란? 트리거(Trigger)는 테이블에 대한 이벤트에 반응해 자동으로 실행되는 작업을 의미합니다. 트리거는 데이터 조작 언어(DDL)의 데이터 상태의 관리를 자동화 하는데 사용됩니다. 트리거를 사용하여 데이터 작업을 제한, 작업 기록, 변경 작업 검사 등을 할 수 있습니다. 정리하자면 구체적으로 특정 테이블에 INSERT, DELETE, UPDATE같은 DML 문이 수행될 때 데이터베이스에서 자동으로 동작하기에 사용자 호출이 필요 없습니다. 트리거의 유형 BEFORE / AFTER: 트리거가 실행되는 시기를 지정한다. INSTEAD OF: 트리거를 원래 문장 대신 수행한다. WHEN: 트리거를 시작하는 조건식을 지정한다. 트리거 사용 예시
2023.02.08 -
[정보처리기사] 데이터 무결성 제약조건
3과목: 데이터베이스 구축 데이터 무결성 제약조건이란? 무결성 제약조건이란 데이터베이스의 정확성, 일관성을 보장하기 위해 저장, 삭제, 수정 등을 제약하기 위한 조건을 뜻합니다. 무결설 제약조건의 종류 개체 무결성: 각 릴레이션의 기본키를 구성하는 속성은 Null값이나 중복된 값을 가질 수 없습니다. (2번 선택지) 참조 무결성: 외래키 값은 Null이거나 참조하는 릴레이션의 기본키 값과 동일해야 합니다. 즉, 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다. (3, 4번 선택지) 도메인 무결성: 속성들의 값은 정의된 도메인에 속한 값이어야 합니다. (1번 선택지) 고유 무결성: 특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우, 릴레이션의 각 튜플이 가지는 속성 값들은 서로 달라야 합니다..
2023.02.08 -
[정보처리기사] ARP/RARP 프로토콜이란?
4과목: 프로그래밍 언어활용 ARP 프로토콜이란? ARP 프로토콜 (Address Resolution Protocol) 이란, 소프트웨어적으로 할당된 논리 주소인 IP주소를 실제적인 물리주소인 MAC 주소(Media Access Control)로 바꾸어주는 역할을 하는 '주소 해석 프로토콜' 을 의미합니다. RARP 프로토콜이란? RARP 프로토콜(Reverse Address Resolution Protocol)이란, MAC 주소를 IP주소로 변환해주기 위해 사용되는 동적 매핑 프로토콜을 의미합니다. 출처: https://velog.io/@ragnarok_code/ARP-Address-Resolution-Protocol
2023.02.08 -
[정보처리기사] 은행가 알고리즘(Banker's Algorithm)
4과목: 프로그래밍 언어활용 은행가 알고리즘(Banker's Algorithm)은 교착상태에 빠질 가능성이 있는지 판단하기 위해 샹태를 '안전상태(safe state)' 와 '불안정상태(unsafe state)' 로 나눠 판단합니다. 교착상태란? 교착상태(deadlock)는 두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태를 의미합니다. 예를들어 좁을 길을 지나는 두 대의 자동차가 서로 길을 막고 비켜 주지 않는 상황을 상상해 봅시다. 한 대의 자동차의 양보 없이는 공유된 좁은 길을 두 대 모두 지나가는 방법이 없을 것입니다. 여기서 두 대의 자동차를 프로세스로 좁은 길(받대편으로 건너가려고 하는 상황)을 공유 자원으로 생각한다면 두 개..
2023.02.08 -
[Spring] spring에 mybatis 적용하기
이번 글은 spring에 mybatis를 적용하는 방법에 대해 정리해보려고 합니다. 먼저 mybatis는 무엇이고 어떤 역할을 하는지 알아보겠습니다. Mybatis란?Mybatis는 자바에서 JDBC를 통해 DB에 접근하여 SQL 쿼리를 수행할 수 있도록 지원하는 개발 프레임워크입니다. 제가 JDBC를 위해 자바에서 사용할 수 있는 JPA보다 Mybatis를 좋아하는 이유는 Mybatis장점 때문입니다. Mybatis의 장점복잡한 SQL 쿼리를 수행하는데 유리하다.자바와 SQL 쿼리를 분리할 수 있다. 제가 강조하고 싶은 장점은 첫 번째 복잡한 SQL 쿼리를 수행하는데 장점이 있다는 점입니다. 이렇게 복잡한 쿼리가 있다고 했을 때 JPA로 작성하는 것은 힘든 작업 일 수 있습니다. (왜 힘든지에 대해서..
2022.11.26 -
[Spring] PSA(Portable Service Abstraction)
이번 글에서는 스프링의 핵심 기술 IoC/DI, AOP와 더불어 PSA에 대해 정리해보려고 합니다. (본 글은 토비의 스프링 3.1의 내용을 제가 이해한 방식으로 정리한 글입니다.)PSA란 Portable Service Abstraction의 약자로 서비스 추상화라고 부릅니다. 추상화라는 단어에 대해 좀 더 깊이 들어가 보겠습니다. 자바에서는 표준 스펙, 사용 제품, 오픈 소스를 통틀어서 사용 방법과 형식은 다르지만 기능과 목적이 유사한 기술이 존재합니다. 예를 들어 DB에 접근하기 위해 Jdbc, Hibernate, Mybatis, JPA 등 DB Connection을 생성하고 SQL문을 실행하고 결괏값을 받는 등 DB와 관련된 로직을 처리한다는 점에서 기능과 목적은 동일하지만 사용하기 위한 방법은 다..
2022.11.05