운영체제(OS; Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다.컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로, 다른 응용 프로그램이 유용한 작업
윈도우는 1990년대 마이크로소프트 사가 개발한 운영체제이다.윈도우의 버전에는 95, 98, me, xp, vista, 7, 8, 10 등이 있다.주요 특징으로는 GUI, 선점형 멀티태스킹, OLE, PnP 등이 있다.그래픽 사용자 인터페이스는 키보드로 명령어를 직접
유닉스의 개요 및 특징
운영체제를 제어하는 방법은 크게 CLI와 GUI로 구분할 수 잇다.CLI(Command Line Interface)키보드로 명령어를 직접 입력하여 작업을 수행하는 사용자 인터페이스GUI(Graphic User Interface)마우스로 아이콘이나 메뉴를 선택하여 작업을
인터넷이란 TCP/IP 프로토콜을 기반으로 하여 전 세계 수많은 컴퓨터와 네트워크들이 연결된 광범위한 컴퓨터 통신망이다.인터넷은 유닉스 운영체제를 기반으로 한다.통신망과 컴퓨터가 있다면 시간과 장소에 구애받지 않는다.인터넷에 연결된 모든 컴퓨터는 고유한 IP주소를 가진
다른 시스템 간의 원활한 통신을 위해 ISO(국제표준화기구)에서 제안한 통신 규약이다.OSI 7계층은 1~3계층을 하위, 4~7계층을 상위 계층이라고 한다.하위 계층물리 계층데이터 링크 계층네트워크 계층상위 계층전송 계층세션 계층표현 계층응용 계층서로 다른 시스템 간의
컴퓨터를 연결하는 장치로 정보 전송 시 정보가 케이블을 통해 전송될 수 있도록 정보 형태를 변경이더넷 카드(LAN 카드) 혹은 네트워크 어댑터라고도 함가까운 거리의 컴퓨터를 연결하는 장치각 회선을 통합적으로 관리하며 신호 증폭 기능을 하는 리피터의 역할도 포함더미 허브
서로 다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 통신 규약구문(Syntax): 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정의미(Semantics): 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관
인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고받을 수 있도록 하는 표준 프로토콜1960년대 말 ARPA에서 개발하여 ARPANET에서 사용하기 시작UNIX의 기본 프로토콜로 사용되었다가 현재는 인터넷 범용 프로토콜로 사용TCP(Transmission Con
소프트웨어 생명 주기(수명 주기)는 개발과 유지보수 등에 필요한 작업들을 체계적으로 정리한 개발 방법론의 바탕으로서, 개발을 위한 정의, 운용, 유지보수 등의 과정을 단계별로 나눈것입니다.소프트웨어 개발 단계와 각 단계별 활동, 결과에 대한 산출물로 표현합니다.개발자는
1. 소프트웨어 개발 방법론의 개요 소프트웨어 개발 방법론은 소프트웨어 개발, 유지보수 등에 필요한 여러 가지 일들의 수행 방법과 이러한 일들을 효율적으로 수행하려는 과정에서 필요한 각종 기법 및 도구를 체계적으로 정리하여 표준화 한 것이다. 목적은 소프트웨어 생산
스크럼이란 팀이 중심이 되어 개발의 효율성을 높인다는 의미가 내포된 용어이다.스크럼은 팀원 스스로가 스크럼 팀을 구성(Self-Organization)해야 하며, 개발작업에 관한 모든 것을 스스로 해결(Cross-Functional)할 수 있어야한다.스크럼 팀은 제품
XP(eXtreme Programming)는 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상하는 방법이다.XP는 짧고 반복적인 개발 주기 단순한 설계 고객의 적극적인 참여를 통해 소프트웨어를 빠르게
요구사항은 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건 등을 나타낸다.요구사항은 소프트웨어 개발이나 유지 보수 과정에서 필요한 기준과 근거를 제공한다.요구사항은 개발하려는 소프트웨 어의 전반적인 내용을 확인
요구사항 분석은 소프트웨어 개발의 실제적인 첫 단계로 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화(명세화)하는 활동을 의미한다.사용자 요구의 타당성을 조사하고 비용과 일정에 대한 제약을 설정요구를 정확하게 파악하여 목표를 정하고 어떤방식으로 해결할 지 결정소프
요구사항 분석을 위한 자동화 도구는 요구사항을 자동으로 분석하고, 명세서를 기술하도록 개발된 도구표준화와 보고를 통한 문서화 품질 개선데이터베이스가 모두에게 이용 가능하다는 점에서 분석자들 간의 적절한 조정교차 참조도와 보고서를 통한 결함, 생략, 불일치 등의 발견 용
시스템 분석, 설계, 구현 등 시스템 개발 과정에서 시스템 개발자와 고객 또는 개발자 상호간의 의사소통이 원활하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어이다.UML을 사용 시 6개의 구조 다이어그램, 7개의 행위 다이어그램 작성 가능UML의 구성 요소 :
유스케이스 다이어그램은 개발될 시스템과 관련된 외부 요소들, 즉 사용자와 다른 외부 시스템이 개발된 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점에서 표현한 것이다.외부 요소와 시스템 간의 상호작용사용자의 요구사항을 분석하기 위한 도구시스템의 범위를 파악클래스
소프트웨어 아키텍처는 소프트웨어의 골격이 되는 기본 구조이자 소프트웨어 구성 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체ex) 건축 설계와 비슷하다.의뢰자의 요구사항에 맞추어 건물의 용도와 형태를 정하고, 땅을 어떻게 다질지, 골조는 어떻게 세울 것인지와 같
아키텍처를 설계할 때 참조할 수 있는 전형적 해결 방식 or 예제를 의미SW 시스템의 구조를 구성하기 위한 기본적 윤곽을 제시서브시스템들과 그 역할이 정의되어 있음, 서브시스템 사이의 관계와 여러 규칙/지침 등이 포함되어 있음=아키텍처 스타일 = 표준 아키텍처개발 시간
현실 세계의 개체(Entity)를 기계의 부품처럼 하나의 객체(Object)로 만들어, 소프트웨어를 개발할 때에도 객체들을 조립해서 작성할 수 있는 기법구조적 기법의 문제점으로 인한 소프트웨어 위기의 해결책으로 사용구조적 기법의 문제점유지보수 고려하지 않고 개발 공정에
객체지향 분석은 사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스, 이와 연관된 속성과 연산, 그들 간의 관계등을 정의하여 모델링하는 작업이다.소프트웨어를 개발하기 위한 업무를 객체와 속성, 클래스와 멤버, 전체와 부분 등으로 나누어 분석한다.클래스, 객체
디자인 패턴(Design Pattern)은 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴이다.✅ 생성Builder : 생산 단계를 캡슐화 하여 구축 공정을 동일하게 이용하도록 하는 패턴Prototype : 복사
개발에 필요한 환경, 즉 편집기, 컴파일러, 디버거 등의 다양한 툴을 하나의 인터페이스로 통합하여 제공하는 것통합 개발 환경 도구란 통합 개발 환경을 제공하는 소프트웨어이다.코드의 자동 생성 및 컴파일 가능, 추가 기능 위한 도구를 다운로드 가능코드를 실행 or 테스트
애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차이다.개발된 소프트웨어가 고객의 요구사항을 만족시키는지 확인하고 소프트웨어가 기능을 정확히 수행하는지 검증한다.테스트 실행 전 개발한 소프트웨어의 유형을 분류하고 특성을 정리해서 중점적으로 테스틑할 사항
프로그램을 실행하지 않고 명세서나 소스 코드를 대상으로 분석하는 테스트워크 스루, 인스펙션, 코드 검사프로그램을 실행하여 오류를 찾는 테스트화이트박스 테스트, 블랙박스 테스트사용자의 요구사항에 대한 명세를 빠짐없이 테스트 케이스로 만들어 구현하고 있는지 확인하는 테스트
모듈의 원시 콬드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법모듈 안의 내용(작동)을 직접 볼 수 있음내부의 논리적인 모든 경로를 테스트해 테스트 케이스를 설계소스 코드(Source Code)의 모든 문장을 한번 이상
소프트웨어의 개발 단계에 따라 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트로 분류됩니다.애플리케이션 테스트는 소프트웨어의 개발 단계에서부터 테스트를 수행하므로, 단순히 소프트웨어에 포함된 코드 상의 오류뿐만 아니라 요구 분석의 오류, 설계 인터페이스 오류
단위 테스트가 끝난 모듈을 통합하는 과정에서 발생하는 오류, 결함 찾는 테스트모든 모듈이 미리 결합되어 있는 프로그램 전체를 테스트빅뱅 통합 테스트 방식소규모 소프트웨어에 유리, 단시간 내에 테스트 가능전체 프로그램 대상 -> 오류 발견 및 장애 위치 파악,수정 어려움
결함은 오류 발생, 작동 실패 등과 같이 소프트웨어가 개발자가 설계한 것과 다르게 동작하거나 다른 결과가 발생되는 것을 의미한다.사용자가 예상한 결과와 실행 결과 간의 차이나 업무 내용과의 불일치 등으로 인해 변경이 필요한 부분도 모두 결함에 해당된다.결함 관리 프로세
사용자 인터페이스는 사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치나 소프트웨어를 의미한다.초기의 사용자 인터페이스는 단순히 사용자와 컴퓨터 간의 상호작용에만 국한되었지만 점차 사용자가 수행할 작업을 구체화시키는 기능 위주로 변경되었고, 최근에는 정보
UI 표준과 지침을 토대로 기술의 중립성(웹 표준), 보편적 표현 보장성(웹 접근성), 기능의 호환성(웹 호환성)이 고려되었는지 확인한다.UI 표준전체 시스템에 포함된 모든 UI에 공통적으로 적용될 내용으로, 화면 구성이나 화면 이동 등이 포함된다.UI 지침UI 요구사
사용자의 요구사항에 맞게 UI의 화면 구조나 화면 배치 등을 설계할 때 사용하는 도구UI 설계 도구로 작성된 결과물은 사용자의 요구사항이 실제 구현되었을 때 화면은 어떻게 구성되는지, 어떤 방식으로 수행되는지 등을 기획단계에서 미리 보여주기 위한 용도로 사용된다.와이어
구현된 UI의 사용성을 검증하기 위해 테스트를 수행하고, 결과에 따라 개선 및 결과 보고서를 작성하는 행위 또는 그 절차를 의미하낟.UI테스트는 사용자가 미리 작성된 시나리오에 따라 직접 제품을 사용하면서 진행하는 사용자 중심 테스트UI테스트는 요구사항과 행동을 관찰할
형상 관리(SCM : Software Configuration Management)는 소프트웨어의 개별 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동이다.소프트웨어 변경의 원인을 알아내고 제어하며, 적절히 변경되고 있는지 확인하여 해당 담당자에게
공유 폴더 방식은 버전 관리 자료가 로컬 컴퓨터의 공유 폴더에 저장되어 관리되는 방식으로, 다음과 같은 특징이 있다.개발자들은 개발이 완료된 파일을 약속된 공유 폴더에 매일 복사담당자는 공유 폴더의 파일을 자기 PC로 복사한 후 컴파일 하여 이상 유무를 확인이상 유무
빌드란 소스 코드 파일들을 컴파일한 후 여러 개의 모듈을 묶어 실행 파일로 만드는 과정이며, 이러한 빌드를 포함하여 테스트 및 배포를 자동화하는 도구를 빌드 자동화 도구라고 한다.애자일 환경에서는 하나의 작업이 마무리될 때마다 모듈 단위로 나눠서 개발된 코드들이 지속적
인공지능은 인간의 두뇌와 같이 컴퓨터 스스로 추론, 학습, 판단 등 인간지능적인 작업을 수행하는 시스템이다.인공지능의 개발 언어로는 리스프(LISP), 프롤로그(PROLOG) 등이 있음일론 머스크가 설립한 회사이다. 사람의 뇌와 컴퓨터를 결합하는 기술을 연구한다.신경
안정적인 서비스 운영을 위해 장애 발생 시 즉시 다른 시스템으로 대체 가능한 환경을 구축하는 메커니즘대상을 평면에 출력하는 것이 아니라 손으로 만질 수 있는 실제 물체로 만드는 것특정 시간이나 환경 조건이 갖추어지면 스스로 형태를 변화시키거나 제조되는 자가 조립 기술이
막대한 양의 정형 또는 비정형 데이터의 집합이다.이전에 사용하지 않거나 알지 못했던 새로운 데이터, 기존 데이터에 새로운 가치가 더해진 데이터를 칭한다.일련의 데이터들을 정의하고 설명해주는 데이터디지털 정보 자원을 장기적으로 보존하기 위한 작업이다.오픈 소스를 기반으로
과학기술정보통신부 주관으로 추진 중인 사업으로, 스마트 시티, 스마트 스테이션 등 4차 산업혁명 시대를 맞아 새로운 변화에 따라 급격하게 증가하는 데이터 틀래픽을 효과적으로 수용하기 위해 시행되는 정부 주관 사업네트워크, 데이터 센터 등에서 소유한 자원을 가상화하여 개
데이터 타입은 변수에 저장될 데이터의 형식을 나타내는 것으로, 변수에 값을 저장하기 전에 문자형, 정수형, 실수형 등 어떤 형식의 값을 저장할지 데이터 타입을 지정하여 변수를 선언해야 한다.데이터타입Int(정수)정수, 즉 소수점이 없는 숫자를 저장할 때 사용Float(
변수는 컴퓨터가 명령을 처리하는 도중 발생하는 값을 저장하기 위한 공간으로, 변할 수 있는 값을 의미한다.변수는 저장하는 값에 따라 정수형, 실수형, 문자형, 포인터형 등으로 구분한다.영문자, 숫자, \_ 를 사용할 수 있다.첫 글자는 영문자나 \_로 시작해야 하며,
산술연산자에는 +, -, \*, /, %, ++, -- 가 있다.관계연산자에는 ==, !=, >, >=, <, <= 가 있다.비트 연산자에는 &(and), ^(xor), |(or), ~(not), <<(왼쪽 시프트), >>(오른쪽 시프트)논리 연산
1. c언어의 표준 입/출력 함수의 개요 scanf() getchar() gets() printf() putchar() puts() 2. scanf() 함수 키보드로 입력받아 변수에 저장하는 함수 입력받을 데이터의 자료형, 자릿수를 지정 한 번에 여러개의 데이터를 입
컴퓨터 프로그램은 명령어가 서술된 순서에 따라 무조건 위에서 아래로 실행되는데, 조건을 지정해서 진행 순서를 변경할 수 있다. 이렇게 프로그램의 순서를 변경할 때 사용하는 명령문을 제어문이라고 한다.– 제어문의 종류 : if문, 다중 if문, switch문, goto,
반복문은 제어문의 한 종류로 일정한 횟수를 반복하는 명령문을 말한다. 보통 변수의 값을 일정하게 증가시키면서 정해진 수가 될 때 까지 명령이나 명령 그룹을 반복 수행한다.반복문의 종류 : for, while, do~while 문이 있다.for문은 초기값, 최종값, 증가
1. 배열의 개념 배열은 동일한 데이터 유형을 여러 개 사용해야 할 경우 이를 손쉽게 처리하기 위해 여러 개의 변수들을 조합해서 하나의 이름으로 정의해 사용하는 것을 말한다. 배열은 하나의 이름으로 여러 기억장소를 가리키기 때문에 배열에서 개별적인 요소들의 위치는 첨
“포인터” 는 변수의 주소를 말하며, 변수의 주소를 저장할 때 사용하는 변수를 “포인터 변수” 라 한다.포인터 변수를 선언할 때는 자료형을 쓰고, 변수명 앞에 간접 연산자 \* 를 붙인다.포인터 변수에 주소를 저장하기 위해, 변수의 주소를 찾을 때는 변수 앞에 번지 연
변수의 자료형에 대한 선언이 없다.Python은 변수에 저장되는 값에 따라 자동으로 자료형이 지정된다.문장의 끝을 의미하는 세미콜론(;)을 사용할 필요가 없다.변수에 연속하여 값을 저장하는 것이 가능하다.예) x, y, z = 10, 20, 30if나 for와 같이 코
조건이 참일 때만 실행한다.Python은 C, Java의 ‘else if’ 대신 ‘elif’ 를 사용한다.if문 안에 if문이 포함된다.rangelist
현실 세계의 개체(Entity)를 기계의 부품처럼 하나의 객체로 만들어, 기계적인 부품들을 조립하여 제품을 만들 듯이 소프트웨어를 개발할 때도 객체들을 조립해서 프로그램을 작성할 수 있도록 한 프로그래밍 기법프로시저보다는 명령과 데이터로 구성된 객체를 중심으로 하는 프
스크립트 언어는 HTML 문서 안에 직접 프로그래밍 언어를 삽입하여 사용하는 것으로, 기계어로 컴파일되지 않고 별도의 번역기가 소스를 분석하여 동작하게 하는 언어이다.게시판 입력, 상품 검색, 회원 가입 등과 같은 데이터베이스 처리 작업을 수행하기 위해 주로 사용한다.
라이브러리는 프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 모아 놓은 집합체이다.자주 사용하는 함수들의 반복적인 코드 작성을 피하기 위해 미리 만들어 놓은 것으로, 언제든지 호출하여 사용할 수 있다.라이브러리에는 표준 라이브러리와
프로그램의 정상적인 실행을 방해하는 조건이나 상태를 예외 (Exception) 라고 하며, 이러한 예외가 발생했을 때를 대비하여 작성해 놓은 처리 루틴을 수행하도록 하는 것을 예외 처리 (Exception Handling) 라고 한다.예외가 발생했을 때 일반적인 처리
함수 원형이라는 의미로, 컴파일러에게 사용될 함수에 대한 정보를 미리 알리는 것이다.함수가 호출되 전에 함수가 미리 정의되는 경우에는 프로토타입을 정의하지 않는다.본문이 없다는 점을 제외하고 함수 정의와 형태가 동일하다.정의된 반환 형식은 함수 정의에 지정된 반환 형식
절차적 프로그래밍 언어는 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술해 나가는 언어이다.절차적 프로그래밍 언어는 프로그램이 실행되는 절차를 중요시 한다.절차적 프로그래밍 언어는 데이터를 중심으로 프로시저를 구현하며, 프로그램 전체가 유기적으로 연결되어 있다.\
응용 소프트웨어 개발을 위해 개발 프로젝트를 이해하고 소프트웨어 및 하드웨어 장비를 구축하는 것을 의미한다.응용 소프트웨어가 운영될 환경과 유사한 구조로 구축한다.개발 프로젝트의 분석 단계의 산출물을 바탕으로 개발에 필요한 하드웨어와 소프트웨어를 선정한다.하드웨어와 소
서버 개발은 웹 애플리케이션의 로직을 구현할 서버 프로그램을 제작하여 웹 애플리케이션 서버(WAS)에 탑재하는 것을 의미한다.웹 애플리케이션 서버에 구현된 서버 프로그램은 웹 서버로부터 받은 요청을 처리하여 결과를 반환하는 역할을 수행한다.서버 개발에 사용되는 프로그래
모듈은 모듈화를 통해 분리된 시스템의 각 기능들을 의미모듈은 단독으로 컴파일이 가능, 재사용 가능모듈의 독립성은 결합도와 응집도에 의해 측정됨독립성을 높이려면 결합도는 약하게, 응집도는 강하게, 모듈의 크기는 작게 만들어야 함모듈화 : 소프트웨어 성능 향상이나 수정 및
여러 프로그램에서 공통적으로 사용할 수 있는 모듈을 의미한다.자주 사용되는 계산식이나 매번 필요한 사용자 인증과 같은 기능들이 공통 모듈로 구성될 수 있다.모듈의 재사용성 확보와 중복 개발 회피를 위해 설계 과정에서 공통 부분을 식별하고 명세를 작성할 필요가 있다.다른
소프트웨어 개발 보안은 소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점을 최소화하여 보안 위협으로부터 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동을 의미한다.데이터의 기밀성, 무결성, 가용성을 유지하는 것을 목표로 한다.정부에서 제공하는 소프트웨어 개발 보
1. 자료 구조의 정의 프로그램에서 사용하기 위한 자료를 기억장치의 공장 내에 저장하는 방법과 저장된 그룹 내에 존재하는 자료 간의 관계, 처리 방법 등을 연구 분석하는 것을 말한다. 자료의 표현과 관련된 연산이다. 일련의 자료들을 조직하고 구조화하는 것이다. 어떠한
트리는 정점(Node,노드)과 선분(Branch,가지)을 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태입니다.트리는 하나의 기억 공간을 노드(Node)라고 하며, 노드와 노드 사이를 연결하는 선을 링크(Link)라고 합니다.트리트리 관련 용어노드 (Nod
1. 삽입정렬 (Insertion Sort) 삽입 정렬은 가장 간단한 정렬 방식으로 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬한다. 초기상태: 아래의 8,5,6,2,4를 삽입정렬을 사용해 정렬시키면 아래와 같은 과정을 거치게 된다. 1회
소프트웨어 개발 과정에서 다루어야 할 데이터들을 논리적인 구조로 조직화하거나, 물리적인 공간에 구축하는 것을 의미한다.데이터저장소는 논리 데이터저장소와 물리 데이터저장소로 구분논리 데이터저장소는 데이터 및 데이터 간의 연관성, 제약조건을 식별하여 논리적인 구조로 조직화
사용자의 요구를 분석하여 그것을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변ㅎ경한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것무결성 : 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약 조건을 항
데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화 하여 체계적으로 표현한 개념적 모형이다.데이터 모델은 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약조건 등을 기술하기 위한 개념적 도구들의 모임이다.현실 세계를 데이터베이스에 표현하
E-R(Entity-Relationship, 개체-관계) 모델은 개념적 데이터 모델의 가장 대표적인 것으로 1976년 피터 첸에 의해 제안되고 기본적인 구성요소가 정립되었다. E-R 모델은 개체와 개체 간읜 관계를 기본 요소로 이용하여 현실세계의 무질서한 데이터를 개념
관계형 데이터베이스는 2차원적인 Table을 이용해서 데이터 상호 관계를 정의하는 DB구조를 말한다.장점 : 간결하고 보기 편리하며, 다른 데이터베이스로의 변환이 용이하다.단점 : 성능이 다소 떨어진다.릴레이션은 데이터들을 Table의 형태로 표현한 것으로 구조를 나태
제약 조건이란 데이터베이스에 저장되는 데이터의 정확성을 보장하기 위하여 키(Key)를 이용하여 입력되는 데이터에 제한을 주는 것으로 개체 무결성 제약, 참조 무결성 제약 등이 해당된다.데이터베이스에서 튜플들을 서로 구분할 수있는 기준이 되는 애트리뷰트를 말함왼쪽이 &l
무결성은 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제 값이 일치하는 정확성을 의미한다. 무결성 제약조건은 데이터베이스에 들어 있는 데이터의 정확성을 보장하기 위해 부정확한 자료가 데이터베이스 내에 저장되는 것을 방지하기 위한 제약 조건을 말한다.
정규화란 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어가는 과정이다. 바람직한 스키마로 만들어간다는 것은 데이터베이스 설계를 논리적으로 재구성한다는 것으로 이해하면 된다. 이렇게 정규화를 수행하면 불필요한 데이터를 없애거나 삽입/삭
반정규화란 시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터를 통합, 중복, 분리하는 과정으로 의도적으로 정규화 원칙을 위배하는 행위이다. 시스템 성능이 향상되고 관리 효율성 증가사전에 데이터 일관성과 무결성을 우선으로 할지, 데이터베이스의 성능
1. 인덱스의 개념 인덱스는 데이터 레코드를 빠르게 접근하기 위해 쌍으로 구성되는 데이터 구조이다. 데이터 빠르게 찾을 수 있는 수단이며 이블에 대한 조회 속도 높여 주는 자료구조 테이블에서 자주 사용되는 컬럼 값 빠르게 검색 가능토록 색인 만들어 놓은 형태 인
뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 가상 테이블을 말한다. 뷰 이름을 질의어에서 활용할 경우 질의어가 실행될 때 뷰에 정의된 기본테이블로 대체되어 기본 테이블에 대해 실행되게 된다.뷰는 임시적인 작업을
국제 표준 데이터베이스 언어이며 많은 관계형 데이터베이스(RDB)를 지원하는 언어로 채택질의어지만 질의 기능만 있는 것이 아닌 구조의 정의, 조작, 제어 기능을 모두 가지고 있다.스키마, 도메인, 테이블, 뷰, 인덱스를 정의, 변경, 삭제할 때 사용하는 언어CREATE
DDL(데이터 정의어)는 DB 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어DDL의 종류에는 CREATE, ALTER, DROP 으로 구성됨스키마(데이터베이스 구조와 제약 조건에 관한 전반적인 명세를 기술한 것)를 정의하는 명령문표
DCL(데이터 제어어)는 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는 데 사용하는 언어DCL은 DBA가 데이터 관리 목적으로 사용데이터베이스 관리자가 사용자에게 권한 부여 혹은 취소하기 위한 명령어GRANT데이터베이스 관리자가 사용자에게 권한 부여REVOK
DML(데이터 조작어)는 데이터베이스 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 관리하는 데 사용하는 언어데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공한다.테이블에 새로운 튜플을 삽입 명령어표기법INSERT INTO 테이블명(\[속
1. 일반 형식 SELECT는 테이블에서 튜플을 검색 표기방법 PREDICATE : 불러올 튜플 수를 제한할 명령어를 기술 ALL : 모든 튜플 검색할 때 지정, 생략 가능 DISTINCT : 중복 튜플 존재 시 한개만 검색 DISTINCTROW : 중복
1. 일반 형식 SELECT는 테이블에서 튜플을 검색 표기방법 PREDICATE : 불러올 튜플 수를 제한할 명령어를 기술 ALL : 모든 튜플 검색할 때 지정, 생략 가능 DISTINCT : 중복 튜플 존재 시 한개만 검색 DISTINCTROW : 중복
JOIN(조인)은 2개의 테이블에 대해 연관된 튜플들을 결합하여, 하나의 새로운 릴레이션을 반환한다. 크게 INNER JOIN과 OUTER JOIN으로 구분된다.JOIN은 일반적으로 FROM 절에 기술하지만, 릴레이션이 사용되는 어디에나 사용할 수 있다.UNION구조가
절차형 sql은 c, java 등의 프로그래밍 언어와 같이 연속적인 실행이나, 분기, 반복 등의 제어가 가능한 sql을 의미한다.절차형 sql은 일반적인 프로그래밍 언어에 비해 효율은 떨어지지만 단일 sql문장으로 처리하기 어려운 연속적인 작업들을 처리하는데 적합하다.
절차형 SQL을 활용해 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행한다.프로시저를 만들어 DB에 저장하면 여러 프로그램에서 호출하여 사용할 수 있다.프로시저는 DB에 저장되어 수행되기 때문에 Stored Pr
데이터 입출력 애플리케이션의 성능 향상을 위해 SQL 코드를 최적화하는 것쿼리 성능 최적화 전에 성능 측정 도구인 APM을 사용하여 최적화 할 쿼리를 선정APM(Application Performanc Management/Monitoring) : 애플리케이션의 성능 관