목차 데이터 입/출력의 개요 📌 데이터 입/출력은 소프트웨어의 기능 구현을 위해 데이터베이스에 데이터를 입력하거나 데이터베이스의 데이터를 출력하는 작업을 의미한다. 데이터 입/출력은 단순 입력과 출력뿐만 아니라 데이터를 조작하는 모든 행위를 의미하며, 이와 같은 작업을 위해 SQL(Structured Query Language)을 사용한다. 데이터 입/출력을 소프트웨어에 구현하기 위해 개발 코드 내에 SQL 코드를 삽입하거나, 객체와 데이터를 연결하는 것을 데이터 접속(Data Mapping)이라고 한다. SQL을 통한 데이터베이스의 조작을 수행할 때 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 트랜잭션(Transaction)이라고 한다. SQL (S..
목차 데이터 저장소 📌 데이터저장소는 소프트웨어 개발 과정에서 다루어야 할 데이터들을 논리적인 구조로 조직화하거나, 물리적인 공간에 구축한 것을 의미한다. 데이터저장소는 논리 데이터저장소와 물리 데이터자장소로 구분된다. 논리 데이터저장소는 데이터 및 데이터 간의 연관성, 제약조건을 식별하여 논리적인 구조로 조직화한 것을 의미한다. 물리 데이터저장소는 논리 데이터저장소에 저장된 데이터와 구조들을 소프트웨어가 운용될 환경의 물리적 특성을 고려하여 하드웨어적인 저장장치에 저장한 것을 의미한다. 논리 데이터저장소를 거쳐 물리 데이터저장소를 구축하는 과정은 데이터베이스를 구축하는 과정과 동일하다. 데이터베이스 📌 데이터베이스는 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임으로 다음과 같이 정..
목차 이분 검색 이분 검색(이진 검색, Binary Search)은 전체 파일을 두 개의 서브파일로 분리해 가면서 Key 레코드를 검색하는 방식이다. 이분 검색은 반드시 순서화된 파일이어야 검색할 수 있다. 찾고자 하는 Key 값을 파일의 중간 레코드 Key 값과 비교하면서 검색한다. 비교 횟수를 거듭할 때마다 검색 대상이 되는 데이터의 수가 절반으로 줄어듦으로 탐색 효율이 좋고 탐색 시간이 적게 소요된다. 중간 레코드 번호 M = (F+L)/2 (단, F : 첫 번째 레코드 번호, L : 마지막 레코드 번호) 🔔 예) 1~100 까지의 숫자 중 15를 찾는 데 걸리는 횟수는? ① 첫 번째 값(F)과 마지막 값(L)을 이용하여 중간 값 M을 구하여 찾으려는 값과 비교한다. M = (1+100)/2 = 5..
목차 삽입 정렬 (Insertion Sort) 📌 삽입 정렬은 가장 간단한 정렬 방식으로 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬한다. 두 번째 키와 첫 번째 키를 비교해 순서대로 나열(1회전)하고, 이어서 세 번째 키를 첫 번째, 두 번째 키와 비교해 순서대로 나열(2회전)하고, 계속해서 n번째 키를 앞의 n-1개의 키와 비교하여 알맞은 순서에 삽입하여 정렬하는 방식이다. 평균과 최악 모두 수행 시간 복잡도는 0(n2승) 이다. 시간 복잡도의 가장 간단한 정의는 알고리즘의 성능을 설명하는 것이다. 다른 의미로는 알고리즘을 수행하기 위해 프로세스가 수행해야 하는 연산을 수치화 한 것이. 왜 실행시간이 아닌 연산수치로 판별할까? 명령어의 실행 시간은 컴퓨터의 하드웨어 또는 프..
목차 트리의 개요 📌 트리는 정점(Node, 노드)과 선분(Branch, 가지)을 이용하여 사이클을 이루지 않도록 구성한 그래프(Graph)의 특수한 형태이다. 트리는 하나의 기억 공간을 노드(Node)라고 하며, 노드와 노드를 연결하는 선을 링크라고 한다. 트리는 가족의 계보(족보), 조직도 등을 표현하기에 적합하다. 트리 관련 용어 노드(Node) : 트리의 기본 요소로서 자료 항목과 다른 항목에 대한 가지(Branch)를 합친 것 🔔 예) A, B C, D, E, F, G, H, I, J, K, L, M 근 노드(Root Node) : 트리의 맨 위에 있는 노드 🔔 예) A 디그리(Degree, 차수) : 각 노드에서 뻗어 나온 가지의 수 🔔 예) A = 3, B = 2, C = 1, D = 3 단..
목차 💡 주요 키워드 ? 배열, 스택, 그래프, 트리, 정렬, 데이터베이스, DBMS, 스키마, SQL, 트랜잭션 자료 구조의 정의 📌 효율적인 프로그램을 작성할 때 가장 우선적 고려사항은 저장 공간의 효율성과 실행시간의 신속성이다. 📌 자료구조는 프로그램에서 사용하기 위한 자료를 기억장치의 공간 내에 저장하는 방법과 저장된 그룹내에 존재하는 자료 간의 관계, 처리 방법 등을 분석하는 것을 말한다. 자료 구조는 자료의 표현과 그것과 관련된 연산이다. 자료 구조는 일련의 자료들을 조직하고 구조화하는 것이다. 어떠한 자료 구조에서도 필요한 모든 연산들을 처리할 수 있다. 자료 구조에 따라 프로그램 실행시간이 달라진다. 자료 구조의 분류 배열 (Array) 📌 배열은 동일한 자료형의 데이터들이 같은 크기로 나..
목차 미들웨어 (Middleware)의 개념 📌 미들웨어는 미들(Middle)과 소프트웨어(Software)의 합성어이다. 미들웨어는 클라이언트가 서버 측에 어떠한 처리를 요구하고, 또 서버가 그 처리한 결과를 클라이언트에세 돌려주는 과정을 효율적으로 수행하도록 도와주는 소프트웨어이다. 예를 들어 미들웨어는 웹 서버와 DB서버 사이에서 웹 서버가 요구하는 다양한 요청사항들을 DB서버에 적합한 인터페이스로 변환하여 요청하고 그 결과를 다시 웹 서버에 반환함으로써 원활하게 데이터가 오갈 수 있도록 도와주는 중계자의 역할을 수행한다. 분산 컴퓨팅 환경에서 서로 다른 기종 간의 하드웨어나 프로토콜, 통신 화경 등을 연결하여 운영체제와 응용 프로그램, 또는 서버와 클라이언트 사이에서 원만한 통신이 이루어지도록 다..
목차 시스템 인터페이스 설계서의 개요 📌 시스템 인터페이스 설계서는 시스템의 인터페이스 현황을 확인하기 위해 시스템이 갖는 인터페이스 목록과 각 인터페이스의 상세 데이터 명세를 정의한 문서이다. 시스템 인터페이스 설계서는 시스템 인터페이스 목록과 시스템 인터페이스 정의서로 구성된다. 시스템 인터페이스 설계서는 인터페이스 송, 수신 방법과 인터페이스 송, 수신 데이터 명세화 과정에서 작성한 산출물을 기반으로 작성 한다. 시스템 인터페이스 설계서를 작성한 후에는 시스템 인터페이스 목록에 있는 각각의 인터페이스를 시스템 인터페이스 정의서의 내용과 비교하여 누락되거나 보완이 필요한 경우 내용을 수정한다. 시스템 인터페이스 설계서는 내, 외부 모듈 간 공통적으로 제공되는 기능과 각 데이터의 인터페이스를 확인하는데..