본문 바로가기

728x90

정보처리

(17)
키의 개념 및 종류 키란 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성을 말함. 1. 슈퍼키(Super Key) - 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키를 말함. 릴레이션을 구성하는 모든 튜플 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않음. - 슈퍼키는 릴레이션을 구성하는 모든 튜플에 대해 유일성(Unique)은 만족하지만, 최소성(Minimality)은 만족하지 못함. 2. 후보키(Candidate Key) - 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합. - 후보키는 유일성과 최소성을 모두 만족 3. 기본키(Primary Key) - 기본키는 후보키 중에서 특별히 선정된 키로 중복된 값을 가..
관계형 데이터 모델 관계형 데이터 모델은 데이터를 테이블(Table) 또는 릴레이션(Relation)의 구조로 표현하는 논리적 데이터 모델 1. 관계형 데이터 구조 : 릴레이션 - 관계형 데이터 모델에서는 데이터를 원자 값(Atomic Value)으로 갖는 이차원의 테이블로 표현하는데, 이를 릴레이션이라고 함. - 릴레이션의 구조는 물리적인 저장 구조를 나타내는 것이 아닌 논리적 구조이므로 다양한 정렬 기준을 통하여 릴레이션을 표현할 수 있음. - 릴레이션은 구조를 나타내는 릴레이션 스키마(Relation Schema)와 실제값들인 릴레이션 인스턴스(Relation Instance)로 구성 - 릴레이션의 열(Column)을 속성(Attribute)이라 하고, 행(Row)을 튜플(Tuple)이라고 함. - 릴레이션에서 하나의..
ER(Entity Relationship) 모델 1. ER 모델 - ER 모델은 개념적 데이터 모델의 가장 대표적인 것으로, 1976년 피터 첸(Peter Chen)에 의해 제안 - ER 모델은 개체, 속성, 관계 등에 대하여 용이하게 표현할 수 있는 ER 도형(ERD: Entity Relationship Diagram)을 정의 2. ER 도형 ER 모델은 몇 가지 도형들을 이용하여 현실 세계를 표현. 3. 개체 및 개체 타입 - 개체는 현실 세계의 객체로서 유형 또는 무형의 정보 대상으로 존재하며 서로 구별될 수 있는 것을 뜻하고 개체의 특성을 나타내는 속성을 가짐. - 하나의 개체를 개체 어커런스(Entity Occurrence) 또는 개체 인스턴스(Entity Instance)라 하고, 개체 어커런스들의 집합에 대한 공통의 특성들을 갖는 개체 클..
데이터베이스 설계 1. 데이터베이스 설계의 개념 - 데이터베이스 설계란 데이터베이스의 구조, 즉 데이터베이스 스키마(Database Schema)를 개발하는 과정 - 요구 조건 분석(Requirement Analysis), 개념적 설계(Conceptual Design), 논리적 설계(Logical Design), 물리적 설계(Physical Design), 데이터베이스 구현(Database Implementation)의 단계를 순서대로 반복하여 수행 - 데이터베이스 설계 시에는 데이터베이스의 구조에 치중하는 데이터 중심(Datadriven) 설계와 데이터 처리 및 응용에 치중하는 처리 중심(Processing-driven) 설계를 병행 2. 요구 조건 분석 - 요구 조건 분석은 데이터베이스를 사용할 사람이 필요홀 하는 용..
스키마 1. 스키마(Schema)의 개념 - 스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세(Specification)를 의미 - 스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의 - 스키마는 사용자의 관점에 따라 외부 스키마(External Schema), 개념 스키마(Conceptual Schemna), 내부 스키마(Internal Schema)로 나뉨 2. 스키마의 특징 - 스키마는 데이터의 구조적 특성을 의미 - 스키마는 데이터 사전(Data Dictionary)에 저장 - 스키마는 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용..
데이터베이스 관리 시스템(DBMS) 1. 데이터베이스 관리 시스템(Database management System)의 개념 - 데이터베이스 관리 시스템은 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어 - 데이터베이스 관리 시스템은 기존의 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템으로 모든 응용 프로그램들이 데이터베이스를 공유할 수 있도록 관리 - 기존 파일 시스템의 문제점 1) 데이터 종속성으로 인한 문제점 : 응용 프로그램과 데이터 파일 간에 상호 의존적인 관계가 존재하기 때문에 데이터 파일이 보조기억장치에 저장되는 방법이나 저장된 데이터의 접근 방법을 변경할 때 응용 프로그램도 같이 변경해야 하는 문제가 발생 2) 데이터 중복성으로 인..
데이터베이스 개념 1. 데이터베이스의 정의 데이터베이스는 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임으로 다음과 같이 정의 - 통합 데이터(integrated Data) : 검색의 효율성을 위해 중복이 최소화된 데이터의 모임 - 저장 데이터(Stored Data) : 컴퓨터가 접근 가능한 저장 매체에 저장된 데이터 - 운영 데이터(Operational Data) : 조직의 목적을 위해 존재 가치가 확실하고 반드시 필요한 데이터 - 공유 데이터(Shared Data) : 여러 응용 프로그램들이 공동으로 사용하는 데이터 2. 데이터베이스의 특징 - 실시간 접근성(Real Time Accessibility) : 사용자의 질의에 대하여 즉시 처리하여 응답하는 특징 - 계속적인 진화(Continuous Ev..
JAVA 기초 JAVA는 C, C++ 언어를 베이스로 제작된 언어로 C언어와 문법이 거의 같음. 예 1) C로 작성된 코드 #include void main(){ int i, j = 0; for(i = 1; i < 10; i++){ j = j + i; } printf("%d, %d", i, j); } JAVA로 작성된 코드 public class Program{ public static void main(String[] args){ int i, j = 0; for(i = 1; i < 10; i++){ j = j + i; } System.out.printf("%d, %d", i, j); } } 1. 배열과 반복문 JAVA에서는 향상된 for문을 사용할 수 있음. 향상된 for문은 객체를 대상으로만 가능. JAVA에서는 ..
C언어 함수 1. 사용자 정의 함수 사용자 정의 함수는 사용자가 필요한 기능을 취향대로 만들어 사용할 수 있는 함수. 사용자 정의 함수를 사용하면 프로그램 구조가 간단해지고 이해하기 쉬워짐. 무엇보다 동일한 코드를 반복 입력하는 수고를 줄일 수 있음. 예 1) #include void func(int i, int j); main(){ int a = 3; b = 12; func(a, b); printf("%d, %d\n", a, b); } void func(i, j) int i, j; { i *= 3; j /= 3; printf("%d, %d\n", i, j); } 리턴 값이 없는 func함수를 만들고 함수에서 사용할 인수는 int i, int j로 정의 main() 함수 안에서 a = 3, b = 12 선언 후 fu..
C언어의 포인터, 배열, 구조체 1. 포인터 변수는 어떤 수나 문자를 저장하기 위해 사용하며 이 변수는 기억장소의 어느 위치에 대한 이름이며 그 위치는 주소로도 표현할 수 있음. C언어에서는 변수의 위치, 즉 주소를 제어할 수 있는 기능을 제공. 변수의 주소를 출력할 수도 있고 주소를 주소 변수에 저장할 수도 있음. 주소를 저장할 수 있는 변수를 포인터 변수라고 함. - 포인터 변수를 선언할 때는 자료의 형을 먼저 쓰고 변수명 앞에 *을 붙임 - 포인터 변수에 주소를 저장하기 위해 변수의 주소를 구할 때는 변수 앞에 &을 붙임 - 실행문에서 포인터 변수에 *를 붙이면 해당 포인터 변수가 가리키는 곳의 값을 이야기함 예 1) #include main(){ int a = 20; int *b; b = &a; *b = *b + 10; prin..

728x90