개인공부 51

정보처리기사 오답 정리(6. 논리, 물리 데이터 저장소)

관계 대수의 종류 1. 셀렉트(Select) 연산자 : σ 릴레이션 R에서 조건을 만족하는 튜플 반환 2. 프로젝트(Project) 연산자 : π 릴레이션 R에서 주어진 속성들의 값으로만 구성된 튜플 반환 3. 조인(Join) 연산자 : ⋈ 공통 속성을 이용해 R과 S의 튜플들을 연결해 만들어진 튜플 반환 4. 디비전(Division) 연산자 : ÷ 릴레이션 S의 모든 튜플과 관련 있는 R의 튜플 반환 데이터베이스 이상 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상 삽입 이상, 삭제 이상, 갱신 이상이 존재함 정규화(Normalization) 관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정 함수..

정보처리기사 오답 정리(5. UI 설계)

패키지 다이어그램 폴더 모양의 패키지와 점선으로 표시된 의존관계, import라는 스테레오 타입 표기를 통해 패키지 다이어그램임을 파악할 수 있다. 시스템의 서로 다른 패키지들 사이의 의존 관계를 표현하기 위한 다이어그램으로 패키지와 의존관계로 표현한다 양식의 종류 1. Radio Box 주어진 항목 중에서 오직 하나만을 선택할 수 있는 컴포넌트 2. Combo Box 사용자가 박스를 클릭하면 선택할 항목들이 나타나는 드롭다운 형식의 컴포넌트 3. Check Box 주어진 항목 중에서 여러 항목을 선택할 수 있는 사각형 컴포넌트 UML 다이어그램 관계의 종류 1. 연관관계 2개 이상의 사물이 서로 관련되어 있음. 방향성이 존재한다면 실선 화살표로 표시한다. ex : 사람은 집을 가지고 있다. 이는 집은 ..

SQL 기본 5. Group by 응용(가공 컬럼, case when/rollup/cube)

4장에서 group by에 대하여 다음과 같은 설명을 한 바 있다. Select 절에는 group by 절에 기술된 컬럼의 이름(또는 가공된 컬럼)과 집계 함수만 사용되어야 한다. 그 외의 것들이 있을 경우에는 오류를 발생 4장에서 간단하게 짚고만 넘어갔지, 실제 이 '가공된 컬럼'이란 무엇인지에 대해서는 해당 장에서 상세히 짚고 넘어가고자 한다. 가공된 컬럼을 이용한 group by절 응용 앞서 소개한 바와 같이 group by 절에는 기술된 컬럼 외에도 다음과 같은 가공 컬럼이 올 수 있다. select *, to_char(a_date, 'yyyy') as a_year from a_table group by to_char(a_date, 'yyyy'); -- a_date 컬럼의 년도값을 기준으로 그룹핑..

정보처리기사 오답 정리(4. UI 요구사항 확인)

UI 설계 원칙 4가지 1. 직관성 누구나 쉽게 이해하고 사용할 수 있어야 한다. 2. 학습성 누구나 쉽게 배우고 익힐 수 있어야 한다. 3. 유연성 사용자의 요구사항을 최대한 수용하며 오류를 최소화해야 한다. 4. 유효성 사용자의 목적을 정확하게 달성하여야 한다. OUI(Organic User Interface) 유기적 상호작용 기반 인터페이스 입력장치가 곧 출력장치가 되고 현실에 존재하는 모든 사물이 입출력 장치로 변화할 수 있는 사용자 인터페이스 UI 설계 도구의 종류 1. 와이어프레임 페이지에 대한 개략적인 레이아웃/UI 등에 대한 뼈대를 설계함 이해관계자들과의 화면구성을 협의, 서비스에 대한 흐름을 공유하기 위해 화면 단위의 레이아웃을 설계하는 방시 2. 목업 와이어프레임보다 좀 더 실제와 유사..

SQL 기본 4. 그룹/집계 함수의 이해

데이터 분석을 함에 있어서 데이터를 묶는 Join과 더불어 양대산맥 위치쯤에 있는 Group by, Aggregation 함수라 카더라. 일단 group by가 뭐 하는 함수인지 대충 살펴보고 넘어가자. Group by는 뭐하는 거야? group by는 특정 컬럼의 똑같은 값을 기준으로 그룹핑을 해주는 키워드 group by 키워드 다음으로 적힌 컬럼 값으로 그룹화를 하면 다른 집계 함수(Aggregation function)와 함께 사용할 수 있음 이는 다시 말해? Select 절에는 group by 절에 기술된 컬럼의 이름(또는 가공된 컬럼)과 집계 함수만 사용되어야 한다. 그 외의 것들이 있을 경우에는 오류를 발생 여기서 가지는 그룹핑의 또 한 가지 특징! 💡특정 컬럼을 이용하여 그룹핑을 진행할 경..

SQL 기본 3. 시간 정보와 추출(Date, Timestamp, Time, Interval)

SQL에서는 크게 네 가지의 시간과 관련한 타입이 존재한다. (정확히는 현재 필자가 공부하고 있는 PostgreSQL을 기준으로) 1. Date : '일자'의 의미로 년,월,일의 정보만 가진다. 타입은 'YYYY-MM-DD'의 방식 문자열을 Date 형식으로 반환해주는 to_date to_date('2022-12-20','yyyy-mm-dd') 상기 '2022-12-20'는 문자열 정보이다. 날짜에 대한 정보는 하나도 가지고 있기 않기에 이를 to_date 함수를 이용하여 Date 타입으로 반환시켜주어야 올바른 사용이 가능하다. 반대로 Date 타입을 문자열로 변환하고 싶을 때는 to_char 함수를 사용한다. to_char(saldate, 'yyyy-mm-dd') -- saldate의 타입은 Date인..

정보처리기사 오답 정리(3. 요구사항 확인)

요구공학이란 사용자의 요구가 반영된 시스템을 개발하기 위하여 사용자 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 구조화된 활동 요구사항의 종류 기능 요구사항 목표시스템이 반드시 수행하여야 하거나 목표시스템을 이용하여 사용자가 반드시 수행할 수 있어야 하는 기능 분석, 설계, 구현, 테스트 공정을 거쳐 개발하는 요구사항 비기능 요구사항 기능 요구사항을 제외한 성능, 시스템 장비 구성 요구사항, 인터페이스 요구사항, 데이터 요구사항 등 생산성에 영향을 미치는 요인들 요구사항 개발 프로세스 1. 요구사항 도출 소프트웨어가 해결해야 할 문제를 이해하고 고객으로부터 제시되는 추상적 요구에 대해 관련 정보를 식별 수집 방법 결정, 수집된 요구사항을 구체적으로 표현하는 단계 2. 요구사항 분석 도출된 요구..

SQL 기본 2. Outer/Non Euqi Join

Inner Join은 뭔데? 첫 번째 장에서 다루었던 Join에 대한 내용이 Inner Join에 대한 내용이었다. 테이블 A와 B의 Join 방향은 어느 방향으로 가든 그 결과는 같다는 이야기 또한 했던 것으로 기억 이야기를 하기에 앞서서 Inner/Outer의 근본 개념 💡 A → B로 Join 되는 Table이라 할 때, A가 B 속으로 들어간다 하여 A를 Outer, B를 Inner라 칭한다. 여기서 Inner가 의미하는 것은 내부. 즉, A와 B가 모두 속하는 키값이 존재하는 경우에만 M 집합의 테이블을 구성하여 반환하는 것을 의미한다(1:M Join 기준). 상기 테이블은 키값이 되는 customer_id와 customer의 컬럼을 이용하여 Join을 시킨 결과이다. 결과에서도 보다시피 각각의..

SQL 기본 1. Join 메커니즘(Inner)

Join은 관계형 데이터베이스에서 가장 기본이자 중요한 기능 두 개 이상의 테이블을 서로 연결하여 데이터를 추출하는 과정을 의미한다. 관계형 데이터베이스에서는 Join을 통해 서로 다른 테이블간 정보를 원하는 만큼 가져올 수 있는 장점이 있다. 어떻게든 연결만 된다면 = 공통 Key값이 존재한다면 이 둘을 합쳐 새로운 테이블을 만들 수 있다는 것은 가장 큰 강점임 여기서 가져갈 수 있는 특징 한 가지! 💡 Join 하려는 각 테이블의 위치관계는 동등하다. 이는 두 테이블의 크기에 차이가 있다 하더라도 상호간의 정보를 교환할 수 있는 특징을 가진다고도 할 수 있다. 💡 여기서 유일하지 않은 테이블 A와 각 키값이 유일한(unique) 테이블 B가 있을 때 이 둘의 Join 결과 집합은 A 집합의 레벨을 그..

정보처리기사 오답 정리(2. 현행 시스템 분석)

디자인 패턴 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴 이를 참고하여 개발할 경우 개발의 효율성, 유지보수성, 운용성이 높아지며 최적화에 도움이 된다. 디자인 패턴에는 크게 생성, 구조, 행위 패턴이 존재한다. 디자인 패턴-생성 패턴 1. Builder 복잡한 인스턴스를 조립하여 만드는 구조 복합 객체를 생성할 때 객체를 생성하는 방법(과정)과 객체를 구현(표현)하는 방법을 분리함으로 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있는 패턴 작게 분리된 인스턴스를 조합하여 새로운 객체를 생성하는 방법(조립공장을 생각해보자) 2. Prototype 처음부터 일반적인 원형을 만들어놓고, 그것을 복사(복제)한 후 필요한 부분만 수정하여 사용..