시작 화면
노래 리스트 DB
음역대에 따른 노래 검색
나의 음역대 추천 리스트
녹음 및 음역대 검색
youtube 노래방 링크

ABOUT Application

보다 노래에 관심이 있는 사람이라면 자신에게 맞는

노래를 필요로 합니다. 이러한 기본적인 발상에 맞추어 빅데이터를 활용, 사용자에게 편의성을 제공하는

어플리케이션입니다.

 

ABOUT Tools

안드로이드 스튜디오 + MySQL

 

 

Functions

  • 내게 맞는 음역대를 검색하면 그에 해당하는 노래들이 리스트로 추천됩니다.
  • 어플의 홈 화면으로 여러 노래들을 보고 해당 음역대를 볼 수 있습니다.('노래 선택해서 추천' 클릭)
  • '노래 선택해서 추천' 버튼을 클릭하면 해당 노래가 출력됩니다.
  • 내가 좋아하는 노래를 클릭하고 '결과 보기' 버튼을 누르면 추천 리스트에 내가 좋아하는 노래와 같은 음역대의 노래가 출력됩니다.
  • 자신의 목소리를 녹음해 그에 맞는 음역대를 추천해주는 기능
  • 내가 녹음 한 목소리의 최고음에 맞춰 노래 리스트를 보여줍니다.

 

깃허브

https://github.com/icd0422/Recommendation-within-Range

 

icd0422/Recommendation-within-Range

Contribute to icd0422/Recommendation-within-Range development by creating an account on GitHub.

github.com

 

게임 시작 화면

 

상점

 

보너스 스테이지
랭킹
플레이스토어 등재
실제 애드몹 하단배너 연동 광고수익

 

 안드로이드를 처음 접하고 처음으로 만든 어플리케이션이었다. 처음이라 좀 더 흥미있게 만들기 위해 게임을 주제로 진행 했고 어렸을 때 똥피하기게임을 했던 기억이나 다시 리마인드시키면서 만들기로 결정했다. 다 만들고 나서 게임은 안드로이드 스튜디오로 만드는 것이 적절하지 않다는 것을 느꼈다. 레이아웃 이라던지 어떤 객체를 기준으로 하는 게임적인 요소가 부족하여 힘들었다. 하지만 이것을 만듬으로써 안드로이드 스튜디오 자바코드가 어떻게 동작하는지 깊게 이해 하였다. 실제 플레이스토어 등재함으로써 500다운로드를 기록 하였다.(2019/07/14 기준), 하단 배너와 광고보상을 넣음으로서 실제 수익이 발생해 신기했고 프로그래밍에 더 흥미를 느낄수 있는 계기가 되었다.

 

 

깃허브

https://github.com/icd0422/Avoid_DDong

 

icd0422/Avoid_DDong

Contribute to icd0422/Avoid_DDong development by creating an account on GitHub.

github.com

 

게임 실행 화면

[그림1 : 게임 실행 중 화면, 맵화면 양쪽에 있는 배경을 랜덤하게 생성, 도로를 사용자 기준 앞뒤로 이동시킴 ]  

 

[그림2 : 컨셉에 맞는 자동차, 게임 실행중 경찰차가 도둑차를 잡으면 게임이 이김으로 끝남] 

 

[그림3 : 게임 실행 첫 화면] 
[그림4 : 게임 일시정지 화면] 
[그림5 : 점수 기록 화면] 
[그림6 : 순위 화면, sqllite를 사용하여 순위를 저장, 로컬데이터베이스] 
[그림7 : firefox 확장프로그램 사용으로 DB생성및 관리] 
[그림8 : 아이템들] 
[그림9 : 별아이템을 먹고 빨라진 도둑자동차] 

 

1. 착안점

기존의 러너게임은 코인을 먹고 점수를 올리며 장애물을 피하는 게임이 과반수이다. 뭔가 간단하기 심플한 러너게임에 특별함을 주면 어떨까? 라는 생각을 가지고 개발에 몰입하기 시작함. 기존의 게임은 1인용 이지만 2인용으로 러너게임을 만들어봄. 2인용으로만 할수있는 시스템을 생각(ex 경쟁전, 싸움, 술래잡기, 경찰과 도둑 등) 이때 경찰과 도둑이 제일 재밌을거 같다는 생각에 제작을 마음먹기로 했음. 서버를 통해서 2인용이 아닌 한컴퓨터로 2조작키를 사용하므로 플레쉬게임 느낌을 줌.

 

2. 차별성

기존의 1인용 러너게임에서 2인용게임을 만든 것이 특징입니다. 또한 2명의 플레이어가 무한이 달리는 것이 아니라 한플레이어가 도망가는 플레이어를 잡으면 게임이 끝나는 컨셉으로 만들었습니다. 아이템은 기존의 게임 카트라이더라는 게임이 있는데 그 게임에 착안을 둔 아이템도 있지만 경찰차가 벽아이템을 먹고 사용하면 자기 멀리 앞에 멀리 있는 거리에 벽을 세워 도둑차의 진행을 방해하고 도둑차 또한 이와 비슷한 아이템을 먹어 사용하면 자기가 지나가는 그 위치에 벽을 둠으로 경찰차의 주행을 방해하는 새로운 아이템을 만들었습니다.

3. 아쉬운점

일단 한화면에 2인용으로 플레이 하는 것이 아쉬웠다. 네트워크서버를 두어 멀티플레이 가능하게 했으면 했는데 동기화문제라던지 서버구축이라던지 시간상 구현하지 못한 것이 아쉬웠다. 두번째로는 그냥 한 직선도로만 구현했다는 것이 아쉬웠다. 자동으로 길생성해주는 에셋이 있지만 그것을 몰라서 이용 못한 것이 아쉬웠다. 좀 더 랜덤으로 길을 생성하고 직진뿐만아니라 곡선이나 방향이 있는 길을 생성하고 그에 따라 주변 환경도 바뀌면 더 임펙트 있었을 텐데 너무 아쉬운 것 같다.

 

4. 해결해야 할 점

시간이 급박하여 몇몇 사항을 해결하지 못하였다. 첫번째로는 도로의 양사이드 끝을 벗어 날 수 있다라는 것이다. 또한 도로가 경찰차를 중심으로 만들어지기 때문에 도둑이 경찰차 앞의 일정거리 이상 더 나아가면 없는 도로에서 주행할 때가 있다. 이시점을 계산해 이경우 도둑이 이겼다고 게임을 끝내야 하는데 시간상 구현하지 못하였다. 이렇게 해서 이부분과 전에 아쉬운 부분을 좋합하여 추후에 보완하고 개선할 예정입니다.

 

 

 

깃허브

https://github.com/icd0422/unity-3d-car-runner-Police-and-thief

 

icd0422/unity-3d-car-runner-Police-and-thief

Contribute to icd0422/unity-3d-car-runner-Police-and-thief development by creating an account on GitHub.

github.com

 

- 정보검색 방법 개요

 

Term Frequency : tf

단어 빈도수는 말 그대로 "단어가 그 문서에서 나타난 횟수"를 나타낸다

 

단어 빈도수는 그 문서에서 나타난 횟수를 나타냄으로써, 그 문서에서 그 단어가 얼마나 중요한지를 표현 할수 있다. 

 

Document Frequency : df 

문서 빈도수는 "해당 단어가 나타난 문서의 수" 이다. 따라서 각 단어가 그 문서에서 얼마나 나타났는지는 중요하지 않고, 몇개의 문서에서 나타났는지가 중요하다. 이 정보는, 만약 df 값이 높은 단어는 많은 문서에서 나타나는 것이므로, 검색에서 별로 중요한 단어가 아니라는 것을 나타낸다. (검색에 중요한 단어는 내가 찾을 문서에선 많이 나타나고, 다른 문서에선 적게 나타날 수록 중요하다.)

 

 

Inverse Document Frequency : idf

역문서 빈도수는 df를 역수 취한 것이다. df는 값이 클 수록 중요하지 않은 단어를 나타내는 것인데, 이것을 반대로 값이 클수록 중요한 단어로 나타내기 위하여 역수를 취한다고 보면 된다. 또한, df의 값의 범위는 굉장이 넓게 구성되는데, 이것의 차를 줄이기 위하여 로그(log) 값을 취해 준다

 

 

tf-idf Weight

tf-idf단어의 중요도를 수치로 표현 한 것으로써, tf 값과 idf값의 곱으로 이루어 진다

보통 로그를 붙이는데 붙이고 안붙이고는 해당 도메인의 특성에 따라 맞춰가 것이 좋겠다.

 

 

 

Cosine Similarity : cos(q,d) 

각도를 고려한 유사도 계산법을 알아보자

벡터 스페이스 모델에서 가장 많이 사용되는 문서와 질의어 간의 유사도 계산법이 바로, 코사인 유사도 방법이다

 

객체 설계도 구현 상세 내용

IndexWordDB : 일단 IndexWordDB에 대해서 설명 하자면 모든 문서에서 글자를 두 글자씩 따서 예를 들면 안녕하세요가 있으면 안녕, 녕하, 하세, 세요 이렇게 스트링을 따와서 KEY 값에 넣고 Data의 값으로는 다 0으로 넣어 뒀다. 이로서 모든 문서의 두글자를 다 저장해놨다.

 

WordDfDB : DB 색인어의 Df 단어가 전체 문서중 개의 문서에 나오나를 저장해놨다. 이때 IndexWordDB 사용하였다.

 

docDB[1] ~ docDB[30]  : 이것이 프로젝트의 핵심 DB 30개의 문서에 하나하나씩 DB 주었으면 DB에는 그문서의 id,title,size 저장 하였으며 제일 중요한 tf-idf 저장하였다. 특히 tf-idf 저장할때는 맨처음에는 tf 저장해놓았가 WordDfDB 저장되어 있는 Df 이용해 tf-idf 가중치로 그값을 변환하였다.

 

Cos 클래스 : 클래스에다가는 docNum(문서번호), similarity(코사인유사도) 저장하였다. 특히 Comparable<Cos>인터페이스를 구현하여 sort함수를 similarity 순으로 정렬 하였다.

 

 

 

- 실행 결과

색인기

 

검색기-콘솔
검색기-gui

 

 

 

깃허브

https://github.com/icd0422/Information-Retrieval-Engine

 

icd0422/Search-Engine

Contribute to icd0422/Search-Engine development by creating an account on GitHub.

github.com

 

ISP(Information Strategy Planning)

기업이 수림한 장기적인 목표와 방향을 효과적으로 지원하기 위해 전사적 관점에서 정보 시스템이나 정보 관리 등의 전략을 수립하는 활동    

 

CSF

MIT 경영 대학원에서 개발한 전략 정보시스템 실현을 위한 기법의 하나로, 성공에 불가결한 요인을 찾아내어 경영상 중요한 정보를 결정하는 방법

 

3C 분석

기업이 표적 시장을 선정하기 위해 고객, 경쟁사, 자사를 분석하여 자사의 성공에 필요한 전략을 수립하는 기법으로 일본의 경제평론가 오마에 겐이치가 제안

 

SWOT 분석

기업의 내, 외부 환경을 분석하여 강점은 부각, 약점은 보완, 기회는 활용, 위협은 억제하는 마케팅 전략을 수립하는 기법으로, 미국의 경영컨설턴트인 알버트 험프리가 고안

 

5-FORCE 분석

기업에 영향을 미치는 외부의 5가지 요인을 분석하여 기업의 경쟁 환경을 분석하기 위한 도구로, 미국의 경제학자 마이클 포터가 제안

 

7S 분석

조직 내부의 역량, 체계 등을 분석하는 기법으로 전략 경영체제에 적합한 내부 역량의 판단 방법론으로 사용

조직의 강점과 약점, 조직 문화 등 전체적인 관점에서 조직을 이해하고 분석하기 위한 도구

7요소 : 전략 / 시스템 / 구조 / 공유된 가치 / 기술, 역량 / 사람 / 스타일

 

6시그마

1987년 모토로라에서 창안된 방법론으로 생산현장의 무결함을 위해 시작된 불량률 축소 운동(측정 -> 분석 -> 향상 -> 관리)

 

벤치마킹

특정 분약에서 우수한 상대를 모델로 하여 자기 기업과의 성과 차이를 비교 분석하고 , 단점을 극복하기 위해 상대의 앞선 운영 프로세스를 배우면서 꾸준히 노력하여 자기 혁신을 하는 경영 기법이다.

 

BPR(Business Process Reengineering)

경쟁에서 우위를 확보하기 위해 기업의 핵심 부문인 비용, 품질, 서비스, 스피드와 같은 요인들이 획기적인 향상을 이룰 수 있도록, 프로세스를 기반으로 비즈니스 시스템을 근본적으로 재설계하여 혁신적인 성과를 추구하는 것이다.

* As-Is(현행 업무 프로세스) / To-Be(향후 업무 프로세스)

 

BPM(Business Process Management)

미리 정의된 사람 및 정보 자원과 업무의 흐름을 통합적으로 관리, 지원해주는 업무처리 자동화 기법으로서 , 기업의 프로세스를 통합적으로 관리하고 개선할 수 있도록 도와주는 도구이자 방법론

 

RTE(Real-Time Enterprise)

기업 내, 외부에 걸치 지속적인 프로세스의 개선과 실시간 정보제공을 통해 업무지연을 최소화하고 의사결정 스피드를 높여 경쟁력을 극대화하는 기업

 

PI(Process Innovation)

기존의 업무처리 방식을 정형화하고, 최적의 프로세스를 재구축하여 업무의 효율성을 높이려는 비지니스 프로젝트

 

ERP(Enterprise Resource Planning)

생산, 판매, 자재, 인사, 회계 등 기업의 전반적인 업무 프로세스를 하나의 체계로 통합 및 재구축하여 관련 정보를 서로 공유하고 이를 통해 신손학 의사결정 및 업무 수행이 가능하도록 도와주는 전사적 자원 관리 패키지 시스템

* APICS : 수주, 생산, 출하에 이르기까지의 일련의 작업 공정을 진행하기 위해 필요한 기업 경영 자원을 점검, 계획하기 위한 종합 정보시스템

* 가트너 그룹 : 제조 업무 시스템을 핵심으로 재무회계와 판매, 그리고 물류 시스템 등을 통합한 것으로 가상 기업을 지향하는 시스템

* MRP : 재고 품목에 대한 수요가 파생 수요일 경우 보다 복잡한 재고 계산이 필요하여 고안된 기법으로 재고 계획과 통제 시스템으로 구성

 

SEM(Strategic Enterprise Management)

경영자 및 관리자들이 기업의 수익 창출을 위한 합리적인 의사 결정을 할 수 있도록 신뢰할 수 있는 정보를 제공해 주는 전략적 의사결정 지원 시스템

   - 구성요소

      1. VBM : 기업 가치의 극대화를 기업의 궁극적 목표로 함

      2. ABM : 복잡해지는 원가관리체계를 실제 활동에 근거하여 정확한 원가를 계산하고 관련 활동과 원개대상에 대한 

      2. ABM : 성과를 측정하는 일련의 관리 체계(ABC를 이용)

      2. ABC : 원가의 발생 원인을 체계적으로 분석하여 정확한 제품의 원가를 계사하는 원가 계산 방법

      3. BSC : 매출액, 순이익 등 과거 성과인 재무지표에만 의존했던 기업 성과 측정에 비재무적인 측정을 추가하여 기업

      3. BSC : 의 성과를 균형 있게 평가하는 무형 자산 평가 모델

      3. BSC : (4가지 관점 : 재무적 관점 / 고객 관점 / 내부 비즈니스 프로세스 관점 / 학습과 성장 관점)

 

IRM(Information Resource Management)

기업의 정보 자언을 조직 전체가 공유할 수 있도록 자원 관리 원칙에 따라 관리하는 정보 관리 접근방법으로, 정보 활용의 효율성을 초대화하는 것을 목적으로 한다

 

ERM(Enterprise Risk Management)

기업의 궁극적인 목표 달성을 위해 기업이 직면하고 있는 주요 리스크들을 식별하고 관리하기 위한 리스크 관리 방식으로, 우리나라에서는 IMF를 겪으며 그 중요성이 강조되었다

 

SCM(Supply Chain Management)

기업 간 또는 기업 내부에서 제품이나 부품의 최초 생산자부터 최종 소비자에 이르는 공급망을 효율적으로 관리해 불필요한 시간과 비용, 재고 등을 줄이려는 관리 기법

 

PLM(Product Lifecycle Management)

기업이 제품의 원가를 낮추고 부가가치를 높일 수 있도록 기획부터 설계, 생산, 서비스, 폐기에 이르는 수명주기를 관리

 

CRM(Customer Relationship Management)

고객의 요구나 의견을 분석하여 고객의 성향과 욕구를 충족시키는 마케팅을 실시하므로 고객 관리 비용을 최소화하고 지속적인 기업의 가치 창출을 위해 등장

 

SRM(Supplier Relationship Management)

제품을 공급하는 공급업체와의 관계를 관리하고 평가하여 기업의 수익성을 높일 수 있도록 해주는 경영 기법

 

MDM(Master Data Managemet)

기업의 내, 외부에 산재해 있는 마스터 데이터의 단일화를 통해 활용도를 높이고 오류를 줄이기 위한 모든 활동의 집합

 

VRM(Vendor Relationship Management)

개인이 기업에게 제공할 개인 정보, 선호도, 패턴 등을 관리하는 기술로, 기업이 고객의 정보를 분석 및 통합하여 관리하는 CRM에 반대되는 개념(주용기능 : 개인용 데이터 저장소 / 개인용 데이터 분석 / 제안 요청서 / 권한 관리와 역 메시징)

 

EAI(Enterprise Application Integration)

기업 내에 운영되는 여러 종류의 플랫폼(DBMS, OS 등) 및 애플리케이션(ERP, SCM, CRM 등)들을 통합하고 유기적으로 처리할 수 있는 기반 기술을 통칭(구성 요소 : 어댑터 / 플랫폼 / 브로커 / 업무흐름

 

EIP(Enterprise Information Portal)

EAI를 통해 기업 내부의 그룹웨어, 인트라넷, 텍스트 파일, 이메일 등의 데이터는 물론 주식, 뉴스 등 외부 정보까지 모두 통합해 하나의 웹 화며으로 제공하는 통합 정보시스템으로, e포털이라고도 한다

(EIP 포털 분류 : 퍼블리싱 포털 / 퍼스널 포털 / 커머설 포털 / 엔터프라이즈 포털)

 

EKP(Enterprise Knowledge Portal)

한 기업의 내, 외부 정보를 통합하고 업무 프로세스와 연결하여 단일 창구를 통해 제공하는 지식정보 포털 시스템

 

KMS(Knowledge Management System)

기업 내의 지식을 관리하기 위한 분산 하이퍼미디어 시스템으로, 기업 환경이 지적 재산의 중요도가 부각되는 지식 기반 사회로 급격히 이동함에 따라 기업 경영 지식이라는 관점에서 새로게 조명하는 접근 방식

 

EA(Enterprise Architecture)

기업의 목표와 요구사항을 효과적으로 지원하기 위해 IT(정보기술) 인프라 각 부분의 구성과 구현 기술을 체계적으로 기술하는 작업(기본 요소 : 비즈니스 아키텍처 / 데이터 아키텍처 / 애플리케이션 아키텍처 / 기술 아키텍처)

 

BI(Business Intelligence)

기업 내부에 축적된 대량의 정보를 기업의 경영활동 전반에 활용될 수 있도록 정리, 분석하여 제공하는 애플리케이션과 기술을 총칭

 

BRMS(Business Rule Management System)

기업 정책, 가격 정책, 마케팅 전략, 이벤트 등 기업 운영에 사용되는 비구조적이고 복잡한 업무 프로세스를 자동으로 정의 및 제어함으로써 경험이 부족한 비전문가도 효과적인 업무 처리 및 상품 판매 등이 가능하도록 지원하는 시스템

 

의사 결정 지원 시스템(DSS, Decision Support System)

컴퓨터를 사용하여 정형화 되지 않는 문제, 즉 주로 반구조적인 문제로서 일부 측면은 계량화할 수 있으나 일부는 주관적으로 다룰 수밖에 없는 문제에 관해 의사결정자가 효과적인 의사결정을 할 수 있도록 지원하는 것이다.

 

전략 정보 시스템(SIS, Strategic Information System)

기업이 경쟁 우위를 확보하기 위하여 구축, 이용하는 정보 시스템

 

BPO(Business Process Outsourcing)

기업의 경쟁력 강화를 위해 핵심 업무를 제외한 모든 업무를 외부 전문 업체에 위탁하여 자사의 핵심 업무에 모든 역량을 집중하는 경영 기법

 

ITO(Information Technology Outsourcing)

프로그래밍이나 인터넷 등의 IT 관련 업무들을 외부 전문 업체에 위탁하는 경영 기법으로, BPO의 하위 개념에 속함

 

SLA(Service Level Agreement)

서비스 시간, 가용성, 성능, 복구 등 일정한 서비스 수준을 보장하기 위해 IT 서비스 사업자와 사용자 간에 맺는 계약

 

SLM(Service Level Management)

IT 서비스 사업자와 사용자 간에 맺은 SLA(서비스 수준 계약)에서 정의한 서비스에 대해 성과와 문제점을 정확히 측정, 평가하고 개선해 나아가는 과정

 

ITSM(IT Service Management)

서비스 사용자에게 제공되는 IT 서비스의 계획, 설계, 제공, 운영 및 관리를 위해 서비스 제공자가 수행하는 프로세스 및 지원 절차 등을 의미(구성 요소 : 프로세스 / 인력 / 조직 / 기술)

 

 

ITIL(IT Infrastructure Library)

IT 서비스의 운영 및 관리를 돕기 위한 문서들의 집합으로, IT 조직이 기존의 기술 중심적인 운영에서 사용자들의 요구에 초점을 맞춘 고객 지향적인 운영방식을 채택함에 따라 각자 개별적인 IT 관리 관행을 만드는 것을 방지하기 위해 영국 정부가 다양한 IT 서비스들의 관리 방법들을 모아 만든 표준적인 참고문헌

 

ISO/IEC 20000

IT 서비스 관리(ITSM)에 대한 최초의 국제 표준으로, IT 서비스 관리 시스템의 필요한 사항들을 구체적으로 명시

 

전자상거래

  • 정의
  • 전자거래 기본법 : 재화나 용역의 거래에 있어 전부 혹은 일부가 전자문서 교환 등 전자적 방식에 의해 처리되는 거래
  • OECD : 일반적인 개인과 조직 모두를 포함하여 텍스트, 음성, 화상 등의 디지털 데이터에 대한 처리와 전송에 기초한 상업 활동과 관련된 모든 종류의 거래
  • ISACA : 조직이 인터넷을 이용하여 고객, 공급자, 비즈니스 파트너 등과 전자적으로 비즈니스를 수행하는 프로세스
  • European Commission : 전자 공간에서 이루어지는 모든 비즈니스
  • 유형
  • B2C(Business to Customer) : 소비자를 대상으로 하는 서비스업으로 소비자에게 유, 무형의 재화를 제공, 판매 및 중개를 한다
  • B2B(Business To Business) : 특정 기업 간의 CALS 및 EDI를 통한 수주, 구매, 조달 및 납품 등과 관련된 기업 간의 전자상거래
...더보기

CALS

1985년 미국 국방부에서 컴퓨터를 이용해 군수 물자와 기술의 흐름을 합리적으로 통제하여 군수품 납품 체계를 개선할 목적으로 처음 도입되었습니다. CALS는 제품의 조달에서 설계, 개발, 생산, 운용, 유지보수에 이르는 제품의 수명 주기 전반에 대해 서류, 도면, 거래 등 모든 기술정보 등을 통합 데이터베이스로 관리합니다. CALS는 이후 전자상거래로 개념이 확대되어 오늘에 이르고 있습니다.

  • B2G(Business To Government) : 조달, 행정, 인증 등과 관련된 기업과 정부 간의 전자상거래
  • C2C(Customer to Customer) : 소비자 간의 일대일 거래가 이뤄지는 것을 뜻하는 것으로 소비자가 상품 구매자와 공급자가 되는 것
  • e-마켓플레이스 : 인터넷 상에서 다수의 기업 간, 공급과 수요 간에 유발되는 비즈니스 거래를 총칭하는 가상시장을 의미(4가지 유형 : 카탈로그형 / 경매형 / 역경매형 / 교환형)
  • 발전 단계 : 단방향 통신 단계 / 데이터베이스 접속 단계 / 데이터 교환 단계 / 프로세스 공유 단계
  • Escrow(조건부 양도증서) 서비스 : 전자상거래 시 판매자와 구매자의 거래가 문제없이 이루어질 수 있도록 제 3자가 도와주는 매매 보호 서비스

 

 

 

 

 

 

 

 

 

 

 

 

 

'정보처리기사 실기' 카테고리의 다른 글

1. 데이터베이스 실무 응용  (0) 2019.06.22

데이터베이스의 정의  

특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임으로 다음과 같이 정의할 수 있다.

   - 통합 데이터 : 검색의 효율성을 위해 중복이 최소화된 데이터의 모임

   - 저장 데이터 : 컴퓨터가 접근 가능한 저장 매체에 저장된 데이터

   - 운영 데이터 : 조직의 목적을 위해 존재 가치가 확실하고 반드시 필요한 데이터

   - 공유 데이터 : 여러 응용 프로그램들이 공동으로 사용하는 데이터

 

데이터베이스의 특징

   - 실시간 접근성  : 사용자의 질의에 대하여 즉시 처리

   - 계속적인 진화 : 삽입, 삭제, 갱신을 통하여 항상 최근의 정확한 데이터를 동적으로 유지

   - 동시 공유 : 여러 사용자가 동시에 원하는 데이터를 공용할 수 있는 특징

   - 내용의 의한 참조 : 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터 내용에 따라 참조

   - 데이터의 논리적, 물리적 독립성

 

데이터 언어

   - DDL : 데이터베이스 구조, 데이터 형식, 접근 방식 등 데이터 베이스를 구축하거나 변경할 목적으로 사용한는 언어

             ex) CREATE, ALTER, DROP

   - DML : 데이터 처리를 위해서 응용 프로그램과 데이터베이스 관리 시스템 간의 인터페이스를 위한 언어

             ex) INSERT, DELETE, UPDATE

   - DCL : 보안 및 권한 제어, 무결성 , 회복, 병행 제어를 위한 언어

             ex) COMMIT - 데이터베이스 조작 작업을 영구적으로 반영하여 완료

                    ROLLBACK -데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구

                    GRANT - 데이터베이스 사용자에게 사용 권한을 부여

                    REVOKE - 데이터베이스 사용자의 사용 권한을 취소

   * 트랜잭션 : 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 일련의 연산 집합으로서 작업의 단위               

   * 데이터베이스 관리자 : DDL과 DCL을 통해 데이터베이스를 정의하고 제어하는 사람 또는 그룹

 

* 기존 파일 시스템의 문제점인 데이터 종속성, 중복성을 해결하기 위해 DBMS 출현  

 

* 데이터베이스 관리 시스템의 필수 기능 : 정의 기능, 조작 기능, 제어 기능

 

* DSMS : 통신상의 데이터 스트리밍을 통해 데이터를 처리하고 관리하는 시스템 

 

* MARC : 목록 레코드를 식별하여 축적, 유통할 수 있도록 코드화한 메타 데이터

 

* 메타 데이터의 상호운용성을 확보하기 위한 방법에는 자원을 하나의 표준적인 메타 데이터로 통합하여 표현하는 방법, 자원의 특성을 감안하여 다양한 메타 데이터 형식과 기술 구조를 인정하고 상호 매핑을 통해 해결하는 방법, MDR에 의한 해결 방법이 있다.

 

* MDR : 메타 데이터의 등록과 인증을 통하여 메타 데이터를 유지, 관리하며, 메타 데이터의 명세를 공유하는 레지스트리

 

스키마

   - 외부 스키마 : 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의

   - 개념 스키마 : 개체 간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 정책 및 무결성 규정에 관한 

                     명세를 정의

   - 내부 스키마 : 데이터베이스의 물리적 구조를 정의

 

* 데이테베이스 설계 : 요구 조건 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 데이터베이스 구현

 

* 릴리이션 : 릴레이션 스키마 + 릴레이션 인스턴스 // 속성의 개수 : 차수 // 튜플의 개수 : 카디널리티

 

* 슈퍼키 / 후보키 / 기본키 / 대체키 / 외래키

 

* 식별 관계 / 비식별 관계

 

* 무결성

- 고유 무결성 : 릴레이션의 특정 속성에 대해 각 튜플이 갖는 속성 값들이 서로 달라야 한다는 규정

- 도메인 무결성 : 특정 속속의 값이 그 속성이 정의된 도메인에 속한 값이어야 한다는 규정

- 키 무결성 : 하나의 릴레이션에는 적어도 하나의 키가 존재해야 한다는 규정

- 관계 무결성 : 릴레이션에 어느 한 튜플의 삽이 가능 여부 또는 한 릴레이션과 다른 릴레이션의 튜플들 사이의 관계

                  에 대한 적절성 여부를 지정한 규정

- 참조 무결성 : 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 한다는 규정

- 개체 무결성 : 기본 릴레이션의 기본키를 구성하는 어떤 속성도 NULL 일 수 없다는 규정

 

* 관계대수 : 절차적 / 관계해석 : 비절차적

 

CREATE 예제

   CREATE TABLE 학생

      ( 이름 VARCHAR(15) NOT NULL,

        학번 CHAR(8),

        전공 CHAR(5),

        생년월일 DATE,

        PRIMARY KEY(학번),

        FOREIGN KEY(전공) REFERENCES 학과(학과코드)

           ON DELETE SET NULL

           ON UPDATE CASCADE,

        CONSTRAINT 생년월일제약 CHECK(생년월일>='1920-01-01'));

 

이상의 원인과 종류

테이블에서 일부 속성들의 종속으로 인해 데이터의 중복이 발생하기 때문

   - 삽입 이상 / 삭제 이상 / 갱신 이상

   

정규화

   - 제 1정규형 : 테이블에 속한  모든 속성의 도메인이 원자 값만으로 되어 있는 정규형

   - 제 2정규형 : 테이블이 제 1정규형이고, 기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속을 만족하는

                      정규형

   - 제 3정규형 : 테이블이 제 2정규형이고, 기본키가 아닌 모든 속성이 기본키에 대해 이행적 함수적 종속을 만족하지

                      않는 정규형

   - BCNF : 테이블에서 모든 결정자가 후보키인 정규형

 

트랜잭션의 특성

   - 원자성 : 특랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.

   - 일관성 : 트랜잭션 수행이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환한다.

   - 독립성 : 한 트랜잭션이 데이터를 갱신하는 동안 이 트랜잭션이 완료되기 전에는 갱신중인 데이터를 다른 트랜잭션

                들이 접근하지 못하도록 해야 한다.

   - 영속성 : 트랜잭션의 실행이 성공적으로 실행 완료된 후에는 시스템에 오류가 발생하더라도 트랜잭션에 의해 변경된

                내용은 계속 보존되어야 한다.

 

병행 제어

다중 프로그램의 이점을 황용하여 동시에 여러 개의 트랜잭션을 병행 수행할 때 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호 작용을 제어하는 기술

* 로킹 기법 : 주용 데이터의 액세스를 상호 배타적으로 하는 것으로, 트랜잭션들이 어떤 로킹 단위를 액세스하기 전에 Lock(잠금)을 요청해서 Lock이 허락되어야만 그 로킹 단위를 액세스할 수 있도록 하는 기법

 

튜닝

데이터베이스 응용 프로그램, 테이터베이스 자체, 운영체제 등의 조정을 통하여 데이터베이스 관리 시스템의 성능을 향상시키는 작업

* 인덱스 튜닝 : 분포도가 좋은 칼럼을 인덱스로 생성   ->   클러스터디 인덱스 / 넌클러스터디 인덱스

 

고급 데이터베이스

   - 분산 데이터베이스 : 논리적으로는 같은 시스템에 속하지만 물리적으로는 컴퓨터 네트워크를 통해 분산되어 있는 데

                               이터베이스

   - 멀티미디어 데이터베이스 : 텍스트, 그래픽, 정지 화상, 동영상, 음성 등이 복합적으로 구성된 데이터베이스

   - 주기억장치 데이터베이스 : 데이터베이스 전체를 주기억장치에 상주시킨 후 데이터베이스 연산을 수행하는 시스템

   - 데이터 웨어하우스 : 급증하는 다량의 데이터를 효과적으로 분석하여 정보화하고 이를 여러 계층의 사용자들이 효율

                                적으로 사용할 수 있도록 한 데이터베이스

   - 데이터 마트 : 전사적으로 구축된 데이터 웨어하우스로부터 특정 주제나 부서 중심으로 구축된 소규모 단일 주제의

                       데이터 웨어하우스

   - 데이터 마이닝 : 데이터 웨어하우스에 저장된 데이터 집합에서 사용자의 요구에 따라 유용하고 가능성 있는 정보를

                          발견하기 위한 기법 // ex) 클러스터링(군집화) 기법 : 상호 간에 유사한 특성을 갖는 데이터들을 집

                                                                                              단화

   - OLAP : 다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사결정에 활용하는 방식

               연산 : Roll-up / Drill-down / Drill-through / Drill-across / Pivoting / Slicing / Dicing

   - OTLP : 온라인 업무 처리 형태의 하나로 네트워크상의 여러 이용자가 실시간으로 데이터베이스의 데이터를 갱신하

               거나 검색하는 등의 작업을 처리하는 방식

   - ODBC : 프로그램과 데이터베이스의 종류에 관계없이 자유롭게 데이터베이스에 접근하여 사용할 수 있도록

                Microsoft사가 만든 응용 프로그램의 표준 인터페이스

 

 

'정보처리기사 실기' 카테고리의 다른 글

2. 업무 프로세스 실무 응용  (0) 2019.06.25

나머지연산

(a+b) % c = ((a%c) + (b%c)) % c

(a*b) % c = ((a*c) + (b*c)) % c

 

최대공약수(유클리드 호제법)

GCD(a, b) = GCD(b, a%b) -> a%b가 0일 때 그때의 b값이 최대공약수

1
2
3
4
5
6
7
8
9
10
11
12
int gcd(int a, int b)
{
    if (b == 0)
    {
        return a;
    }
 
    else
    {
        return gcd(b, a%b);
    }
}
cs

 

 

* GCD(a, b, c) = GCD(GCD(a, b), c)       // 더 많은 N개의 최대공약수를 구하는 것도 같은 방식

 

최대공배수

LCM(a, b) = (a*b) / (GCD(a, b))

+ Recent posts