임용/데이터베이스 8

Chapter 08 데이터 모델링

8.1 데이터의 세계 컴퓨터에 저장할 데이터의 구조를 논리적으로 표현하기 위해 사용하는 지능적 도구를 데이터 모델(data model)이라 한다. 인간이 오관을 통해 감지할 수 있는 개체(entity)로 되어 있는 현실 세계(real world)이다. 현실 세계에 존재하는 실체의 의미로부터 얻은 개념(concept)으로 표현한 개념 세계(conceptual world)이다. 개념 세계를 컴퓨터가 처리할 수 있는 데이터(data)로 표현한 컴퓨터 세계(computer world)이다. 현실 세계에 대한 인식을 추상적 개념(abstract concepts)으로 표현하는데 이 과정을 개념적 모델링(conceptual modeling)이라 하고, 이 개념적 모델링으로부터 얻은 결과를 개념적 구조(conceptu..

Chapter 07 데이터 종속성과 정규화

7.1 데이터의 논리적 표현 각 릴레이션은 어떤 애트리뷰트들로 구성해야 하는가를 결정하는 것이 곧 릴레이션 스키마(relation schema)의 설계가 된다. 기본적으로 고려해야 될 사항에는 애트리뷰트들 사이에 존재하는 관계성(relationshiop), 즉 데이터 종속성(data dependency), 효율적인 데이터 처리, 그리고 데이터의 일관성 유지 등이 포함되어야 한다. 데이터 중복(data redundancy)은 데이터 관리상의 여러 가지 치명적이 문제를 야기시킨다. 이러한 곤란한 현상을 이상(anomaly)이라 하는데 특별히 릴레이션의 데이터 값을 변경하려 할 때 이 현상이 일어나게 된다. (1) 삭제 이상 만일 학번 200인 학생이 과목 'C123'의 등록을 취소한다고 하자. 자연히 학번 ..

Chapter 06 SQL

SQL(Structured Query Language) 데이터 언어는 원래 1974년에 IBM 연구소에서 발표한 SEQUEL(Structred English QUEry Language)에 연유한다. IBM은 처음 이 언어를 실험적 관계 데이터베이스 시스템, 'SYSTEM R'의 인터페이스로 설계 구현하였다. SQL의 의미는 구조화 질의어지만 단순히 검색만을 위한 데이터 질의어가 아니라 종합 데이터베이스 언어 역할을 한다. 즉, 데이터 정의어(DDL), 데이터 조작어(DML) 그리고 데이터 제어어(DCL)의 기능을 모두 제공하고 있다. SQL의 특징은 온라인 터미널을 통해 대화식 질의어를 사용하는 것은 물론이고 Java, COBOL, C, C++ 등과 같은 범용 프로그래밍 언어로 쓰여진 응용 프로그램에 삽..

Chapter 05 관계 대수와 관계 해석

5.1 관계 대수 관계 대수(relational algebra)는 릴레이션을 처리하기 위한 연산(operation)의 집합으로서 각 연산의 피연산자(operand)가 모두 릴레이션이고 연산 결과도 또한 릴레이션이라는 특성을 가지고 있다. 5.1.1 일반 집합 연산자 (1) 합집합(UNION, ∪) 합병 가능한 두 릴레이션 R과 S의 합집합(∪), 즉 R∪S는 릴레이션 R 또는 릴레이션 S에 속하는 튜플 t로 구성되는 릴레이션이다. 수학적 표현을 빌리면 다음과 같이 정의할 수 있다. R∪S = {t | t∈R ∨ t∈S} 이 합집합으로 만들어진 결과 릴레이션은 두 릴레이션 R이나 S의 차수와 같고 카디널리티 |R∪S| ≤ |R| + |S|가 된다. (2) 교집합(INTERSECT, ∩) 합병 가능한 두 릴..

Chapter 04 관계 데이터베이스

4.1 관계 데이터 모델 관계 데이터 모델(relational data model)은 1970년에 IBM의 E. F. Codd에 의해 처음 제안되었다. 이것은 외적으로 통일적이고 단순한 테이블 형태(tabular form)의 구조로 모든 데이터를 표현하지만 이론적으로는 수학적인 릴레이션(mathematical relation)을 기초로 하고 있다. 통상적인 테이블의 개념은 관계 데이터베이스 시스템이 기반으로 하고 있는 관계 데이터 모델 환경 하에서 사용하는 학술적인 용어와 다르다. 테이블은 열(column)과 행(row)으로 이루어져 있다. 열을 필드(field) 또는 아이템(item)이라 하고, 행을 레코드(record)라고도 한다. 또한 테이블의 열(column), 즉 필드는 애트리뷰트(attribu..

Chapter 03 데이터베이스 시스템의 구성

3.1 3단계 데이터베이스 데이터베이스 구조(structure)와 제약조건(constraints)에 대한 명세(specification)를 기술한 것을 스키마(schema)라 한다. 스키마에는 데이터 구조를 표현하는 데이터 객체(data object), 즉 개체(entity), 개체의 특성을 표현하는 속성(attribute), 이들 간에 존재하는 관계(relationship)에 대한 정의와 이들이 유지해야 될 제약조건(constraints)이 포함되는 것이다. 데이터베이스 관리 측면에서는 데이터를 이용하는 각 개인의 뷰(view), 이런 각 개인의 모든 뷰가 종합된 기관 전체의 뷰, 그리고 시스템 즉 물리적 저장 장치의 입장에서 보는 각 저장 장치의 뷰 등 세 단계로 구별하여 데이터베이스를 기술하고 이들..

Chapter 02 데이터베이스 관리 시스템

2.1 데이터베이스 관리 시스템의 발전 배경파일 시스템의 특성첫째, 응용 프로그램은 응용 프로그래머가 생각하는 논리적 파일 구조를 직접 물리적 파일 구조로 구현해야 한다.둘째, 응용 프로그래머는 물리적 데이터 구조에 대해 잘 알고 있어야만 데이터에 대한 접근 방법을 응용 프로그램 속에 효율적으로 구현시킬 수 있다.셋째, 모든 응용 프로그램이 자기 자신의 데이터 파일을 가지고 있어야만 되는 환경이기 때문에 결국 하나의 파일은 하나의 응용만을 위해 존재하게 된다. 2.1.1 데이터 종속성데이터 종속성(data dependency)이란 응용 프로그램과 데이터 간의 상호 의존 관계를 말한다. 데이터 구성 방법이나 접근 방법을 변경할 때는 자연히 이것을 기초로 한 응용 프로그램도 같이 변경시켜야 한다. 2.1.2..

Chapter 01 정보 환경

1.1 정보 처리 시스템 1.1.1. 정보와 데이터 데이터(data)는 현실 세계(real world)로부터 단순한 관찰이나 측정을 통해서 수집된 사실(fact)이나 값(value)를 말한다. 따라서 이 데이터는 숫자로 표현되는 수치는 물론이고 어떤 문자들로 표현되는 스트링(string), 텍스트(text), 이미지(image), 그래픽스(graphics)도 포함한다. 정보(information)란 어떤 상황에 대한 적절한 결정(decision making)을 할 수 있게 하는 지식(knowledge)으로서 데이터의 유효한 해석(interpretation)이나 데이터 상호간의 관계(relationship)를 말하는 것이다. I = P(D) (I : Information, P : Processor, D :..