본문 바로가기

Programming

(32)
관계형 데이터모델 (Relational Data Model) 관계형 데이터모델 관계형 데이터 모델은 데이터를 테이블(=릴레이션)의 구조로 표현하는 논리적 데이터 모델이다. 관계형 데이터 구조 : 릴레이션(1) 관계형 데이터 모델에서는 데이터를 원자 값(Atomic Value)으로 갖는 이차원의 테이블로 표현, 이를 릴레이션이라 한다. (2) 릴레이션의 구조는 물리적인 저장 구조를 나타내는 것이 아닌 논리적 구조이므로 다양한 정렬 기준을 통하여 릴레이션을 표현 (3) 릴레이션은 구조를 나타내는 릴레이션 스키마와 실제 값들인 릴레이션 인스턴스로 구성 cf) Relation Schema(=Relation intension, 릴레이션 내포) : 릴레이션의 이름, 각 속성의 이름과 타입, 그리고 속성 값의 도메인을 정의하는, 즉 다시 말해 릴레이션 에 데이터를 넣을 수 있..
스키마 (Schema) 스키마의 개념- 스키마는 DB의 구조와 제약 조건에 관한 전반적인 명세(Specitication)를 의미한다. - 스키마는 DB를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다. - 스키마는 사용자의 관점에 따라 외부, 개념, 내부 스키마로 나뉜다. 그림으로 표현하면 다음과 같다. 스키마의 특징- 데이터의 구조적 특성을 의미함- 데이터 사전(Data Dictionary)에 저장된다.- 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어진다.- 시간에 따라 불변인 특성을 갖는다.- 데이터의 논리적 단위에 명칭을 부여하고 그 의미를 기술한다. 스키마의 3계..
데이터베이스 관리 시스템(DBMS) DBMS (DataBase Management System)의 개념- DBMS는 사용자와 데이터 베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어이다. - DBMS는 기존의 파일 시스템(FILE SYSTEM)이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템으로 모든 응용 프로그램들이 DB를 공유할 수 있도록 관리해 준다. 파일 시스템의 문제점- 데이터 종속성으로 인한 문제점 : 응용프로그램과 데이터 파일 간에 상호 의존적인 관계가 존재하기 때문에 데이터 파일이 보조기억장치에 저장되는 방법이나 저장된 데이터의 접근 방법을 변경할대 응용 프로그램도 같이 변경해야 하는 문제점이 있다. - 데이터 중복성으로 인한 문제점 : 중복도니 데이터 간에 ..
DataBase 의 개념 DataBase 정의 데이터 베이스는 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임으로 다음과 같이 정의할 수 있다. - 통합 데이터(Integrated Data) : 검색의 효율성을 위해 중복이 최소화된 데이터의 모임 - 저장 데이터(Stored Data) : 컴퓨터가 접근 가능한 저장 매체에 저장된 데이터 - 운영 데이터(Operational Data) : 조직의 목적을 위해 존재 가치가 확실하고 반드시 필요한 데이터 - 공유 데이터(Shared Data) : 여러 응용 프로그램들이 공동으로 사용하는 데이터 DataBase 특징 - 실시간 접근성 (Real Time Accessibility) : 사용자의 질의에 대하여 즉시 처리하여 응답하는 특징 - 계속적인 진화 (Continu..
이분 검색 (Binary Search) - 알고리즘 이분 검색은 말 그대로 검색할 자료를 반씩 나누어서 나머지 반만 검색하는 방식을 반복하여 자료를 찾는 것으로, 빠른 속도로 자료를 찾을 수 있다. 단, 이분 검색은 데이터가 정렬되어 있어야 작업이 가능하다. 배열에 다음과 같이 자료가 들어 있을 때 55가 들어 있는 위치를 찾아보자. 8 15 35 55 60 61 70 80 92 99^ ^ 처음 자료인 8의 위치는 1이고 마지막 자료인 99의 위치는 10이다.위 값으로 가운데 값을 구하면 다음과 같다. 중간위치 M = (1+10)/2 = 5.5 ----> 5 (정수만 사용한다.) 중간위치의 값인 60은 55와 비교하여 55보다 더 큰 수 이므로, 8 15 35 55 60 61 70 80 92 99^ ^ 다음과 같이 찾으려는 값은 8과 55의 위치 즉 1과..
삽입 정렬(Insertion Sort) - 알고리즘 삽입 정렬은 두 번째 자료부터 시작하여 그 앞(왼쪽)의 자료들과 비교하여 삽입할 위치를 지정한 후 자료를 뒤로 옮기고 지정한 자리에 자료를 삽입하여 정렬하는 알고리즘이다. 즉, 두 번째 자료는 첫 번째 자료, 세 번째 자료는 두 번째와 첫번째 자료, 네 번째 자료는 세 번째, 두 번째 , 첫 번째 자료와 비교한 후 자료가 삽입될 위치를 찾는다. 자료가 삽입될 위치를 찾았다면 그 위치에 자료를 삽입하기 위해 자료를 한 칸씩 뒤로 이동시킨다. 그림으로 된 자세한 설명을 보시려면 아래 더보기를 클릭하세요. 배열에 8 5 6 2 4 가 저장되어 있다고 가정하고 자료를 정렬하면, 1회전 : 두 번째 자료인 5를 key로 해서 그 이전의 자료들과 비교한다.Key 값 5 와 첫 번째 자료인 8을 비교한다. 8이 5보..
버블 정렬(Bubble Sort) - 알고리즘 버블 정렬은 첫 번째 자료와 두 번째 자료를, 두 번째 자료와 세 번째 자료를, 세 번째 자료와 네 번 째를,... 이런 식으로 (마지막 - 1) 번째 자료와 마지막 자료를 비교하여 교환하면서 자료를 정렬한다. 1회전을 수행하고 나면 가장 큰 자료가 맨 뒤로 이동하므로 2회전에서는 맨 끝에 있는 자료는 정렬에서 제외되고, 2회전을 수행하고 나면 끝에서 두 번째 자료까지는 정렬에서 제외 된다. 이렇게 정렬을 1회전 수행할 때마다 정렬에서 제외되는 데이터가 하나씩 늘어난다. 보다 쉬운 설명을 원하시면 아래의 더보기를 눌러주세유~ 배열에 8 5 6 2 4가 저장 되어 있다고 가정하고 자료를 정렬하자. 1회전 : 첫 번째 자료 8을 두 번째 자료 5와 비교하여 교환하고, 두 번째의 8과 세 번째의 6을 비교하여..
선택정렬 (Selection Sort) - 알고리즘 선택 정렬은 첫 번째 자료를 두 번째 자료부터 마지막 자료까지 차례대로 비료하여 가장 작은 값을 찾아 첫 번째에 놓고, 두 번째 자료를 세 번째 자료부터 마지막 자료까지와 차례대로 비교하여 그 중 가장 작은 값을 찾아 두 번째 위치에 놓는 과정을 반복하며 정렬을 수행한다. 1회전을 수행하고 나면 가장 작은 값의 자료가 맨 앞에 오게 되므로 그 다음 회전에서는 두 번째 자료를 가지고 비교한다. 마찮가지로 3회전에서는 세 번째 자료를 정렬한다. 설명만으로 이해가 어려우므로 아래에 그림으로 자세히 설명하겠다. 예를 들어, 배열에 8 5 6 2 4 가 저장되어 있다고 가정하고 선택정렬을 한다면, 1회전 : 첫 번째 자료 8 (1회전에서는 배열 0번이 기준이다.)을 두 번째 자료부터 마지막 자료까지와 비교하여 가..