본문 바로가기

728x90

자격증

(9)
[정보처리산업기사] 객체 지향 설계 원칙 SOLID 객체 지향 설계 원칙시스템 변경이나 확장에 유연한 시스템을 설계하기 위해 지켜야 할 5가지 원칙입니다.앞 글자를 따 SOLID 원칙이라고도 불립니다. 1. 단일 책임 원칙(Single Responsibility Principle, SRP)클래스는 하나의 책임만 가져야 한다.응집도는 높고 결합도는 낮게 설계해야 한다.A클래스와 B클래스가 서로 의존적일 때 A클래스가 변경이 된다면 B클래스 또한 변경이 됩니다.시스템 변경이 되었어도 A클래스만 변경이 되어야 하는 것이 SRP입니다. 2. 개방-폐쇄 원칙(Open-Closed Principle)확장에는 열려 있어야 하고, 수정에는 닫혀 있어야 한다.기존 코드를 변경하지 않고 기능을 추가할 수 있도록 설계를 해야하며 공통 인터페이스를 하나의 인터페이스로 묶어 캡..
[정보처리산업기사] 운영체제 운영체제란?컴퓨터 시스템들의 자원들을 관리해주고 사용자에게 편리하고 효과적인 환경을 제공하는 여러 프로그램들의 모임입니다.대표적인 운영체제는 윈도우이며 리눅스, 유닉스 등 다양한 운영체제가 있습니다.여기서의 자원은 하드웨어(프로세서, 기억장치, 입출력장치 등)와 소프트웨어(데이터, 명령어)를 의미합니다. 운영체제는 사용자와 하드웨어간의 인터페이스로서 동작을 하는 시스템 소프트웨어입니다.만약 컴퓨터에 운영체제가 없다면 사람이 하나하나 전선을 연결하며 코드를 짜야합니다. 운영체제의 목적처리 능력(Throughput)일정 시간 내에 시스템이 처리하는 일의 양반환 시간(Turn Around Time)작업이 처리가 완료될 때까지 걸린 시간사용 가능도(Availability)시스템을 사용할 필요가 있을 때 즉시 사..
[SQLD] 집합연산자 SQL 집합 연산자: UNION, UNION ALL, INTERSECT, MINUS/EXCEPTSQL에서는 집합 연산자를 사용하여 두 개 이상의 테이블에서 데이터를 결합하거나 비교할 수 있습니다. 이 연산자들은 각각 합집합, 교집합, 차집합의 개념을 기반으로 데이터를 처리합니다.  UNION ALL특징: 두 테이블의 중복된 레코드를 포함하여 결합합니다.장점: 중복된 데이터도 모두 유지하기 때문에 성능이 UNION보다 좋습니다. 데이터를 단순히 합치는 용도로 사용됩니다.예시: A : {1, 2, 3, 4}, B : {3, 4, 5, 6}A UNION ALL B => {1, 2, 3, 3, 4, 4, 5, 6}UNION 특징: 중복된 레코드는 한 번만 포함하여 결합합니다. 단점: 중복 제거를 위해 추가적인 ..
[SQLD] 서브 쿼리 서브쿼리란?서브쿼리(Subquery)는 SQL 문 내부에 포함된 또 다른 SQL 문으로, 마치 함수가 특정 위치에 들어가는 것처럼 SQL 문 내에서 그 위치에 맞는 결과를 반환하는 독립적인 쿼리입니다. 서브쿼리는 메인 쿼리의 일부로 작동하며, 주로 복잡한 질의나 데이터를 더 세분화하여 조회할 때 사용됩니다.서브쿼리의 종류서브쿼리는 사용되는 위치와 반환되는 결과에 따라 여러 가지로 분류될 수 있습니다. 주요 서브쿼리의 종류는 다음과 같습니다:스칼라 서브쿼리 (Scalar Subquery)인라인 뷰 (Inline View)중첩 서브쿼리 (Nested Subquery)1. 스칼라 서브쿼리 (Scalar Subquery)스칼라 서브쿼리는 하나의 값(스칼라 값)을 반환하는 서브쿼리입니다. 이 서브쿼리는 주로 SE..
[SQLD] NULL 속성 Null이란?데이터베이스에서 Null은 값이 존재하지 않거나 아직 입력되지 않은 상태를 의미하는 특별한 표현입니다. Null은 "값이 없음"을 의미하며, 이는 0이나 공백(" ")과는 전혀 다른 의미를 가집니다.0: 숫자 데이터로서, 값이 "0"임을 의미합니다.공백 (" "): 문자 데이터로서, 값이 "빈 문자열"임을 의미합니다.Null: 데이터가 존재하지 않음을 의미하며, 이는 숫자나 문자와 같은 데이터 값이 아닌, 값 자체가 정의되지 않았음을 나타냅니다.Null의 특성타입이 없습니다: Null 자체는 어떤 데이터 타입도 가지지 않습니다. Null은 그 자체로 "미정의" 상태를 나타내며, 어떤 특정한 데이터 타입으로 간주되지 않습니다. 하지만 Null이 할당된 필드는 특정 데이터 타입을 가질 수 있습니..
[SQLD] 트랜잭션 트랜잭션은 데이터베이스에서 중요한 개념으로, 데이터의 정합성을 유지하기 위해 작업들을 하나의 단위로 묶어 실행하는 것을 말합니다. 이는 작업이 모두 완료되거나 전혀 완료되지 않도록 보장합니다.예시 설명A라는 사람이 B라는 사람에게 100만원을 송금하는 상황을 예로 들겠습니다:A는 100만원을 송금합니다 (A의 계좌에서 100만원 차감).송금 과정 중 오류가 발생하여 B의 계좌에 돈이 입금되지 않았습니다.이 상황에서는 A의 계좌에서만 100만원이 빠져나가고 B의 계좌에는 아무 변화도 없습니다. 이런 경우를 방지하기 위해 트랜잭션을 사용합니다. 트랜잭션은 작업의 모든 부분이 성공적으로 완료되거나, 오류가 발생하면 아무 것도 변경되지 않도록 합니다.트랜잭션의 중요성트랜잭션은 데이터베이스의 정합성을 유지하는 데..
[SQLD] 정규화 정규화란?모델링된 데이터베이스에서 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 수행하는 과정에서 데이터의 일관성이 깨질 수 있습니다. 이를 데이터베이스 이상현상(Anomaly)이라고 합니다.데이터베이스 이상현상 예시:삽입 이상: 데이터를 삽입할 때 원치 않은 정보까지 삽입될 때 발생합니다.갱신 이상: 중복 저장된 데이터 중 하나만 갱신하고 다른 하나를 갱신하지 못했을 때 발생합니다.삭제 이상: 원치 않은 정보까지 삭제될 때 발생합니다.이러한 문제를 해결하기 위해 데이터 중복을 최소화하고 잘 조직된 상태로 분해하는 과정을 정규화라고 합니다.정규화를 하면 CRUD 성능은 좋아지며, SELECT 성능은 좋아질 때도 있지만 많은 JOIN이 발생할 수 있어 대부분 성능이 하락하게 됩니다. SELECT 성능을 ..
[SQLD] Entity와 속성 Entity란?엔티티는 데이터베이스의 구성 요소로, 독립적으로 식별 가능한 객체(Object)를 의미합니다.예를 들어, 대학을 모델링할 때 학생, 교수, 수업 등이 엔티티로 정의될 수 있습니다.엔티티는 자신을 표현하기 위해 속성(Attribute)이라는 하위 요소를 가지고 있습니다.Entity의 특징업무에 필요하며 관리해야 하는 정보: 엔티티는 특정 업무에 필요한 정보를 포함하고 있어야 합니다.식별이 가능하도록 유일한 식별자(PK)를 가지고 있다: 엔티티는 각 인스턴스를 고유하게 식별할 수 있는 식별자(Primary Key, PK)를 반드시 가져야 합니다.영속적으로 존재하는 인스턴스(행)가 2개 이상 존재한다: 엔티티는 최소 두 개 이상의 행이 존재해야 합니다.하위 요소로는 반드시 속성을 가지고 있다: ..

728x90