database.sarang.net
UserID
Passwd
Database
ㆍDBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DBMS Tutorials 780 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 780
데이터베이스 개론
작성자
정재익(advance)
작성일
2003-06-19 12:21
조회수
13,686

데이터베이스란?/데이터베이스 관리 시스템이란

=============================================

 

데이타베이스의 정의

 

데이터베이스는 사람들이 관심을 가지고 있는 데이터를 모아둔 것입니다. 일상 생활에서 자주 접할 수 있는 데이타베이스의 예로는 은행의 고객 자료의 데이타베이스나 학교에서 학생 자료 데이타베이스, 도서관에서 도서 데이타베이스 등을 들 수가 있습니다. 이러한 예에서 보는 것처럼 하나의 데이타베이스에는 서로 관련된 데이타들이 컴퓨터가 처리할 수 있는 형태로 저장되어있읍니다. 하지만 이렇게 저장된 데이터는 사용자의 물음에 대해 대답할 수 있어야만 의미를 가질 수 있습니다.

 

 

도서관 데이타베이스를 예로 든다면, 데이타베이스에는 현재 도서관에 있는 책들에 대한 데이타 즉 작가, 출판년도, 도서명 등등의 데이타들이 저장되어 있으며 사용자는 자신이 찾고자 하는 책에 관한 정보를 데이타베이스로부터 추출해낼 수 있습니다. 다시말하면 데이타베이스는 데이타를 보관하고 사용자에 물음에 대답하는 시스템이라고 할 수 있습니다.

 

 

데이타베이스에 저장된 데이타는 끊임없이 변화합니다. 다시 도서관의 예를 본다면 새로운 책이 들어올 때마다 새로운 도서에 대한 데이타가 저장되어야하고 책이 대출되었을 때나 반납되었을 때 대출과 반납에 대한 정보가 저장되어야 합니다. 데이타베이스는 이러한 외부의 변화에 맞추어 적절히 저장된 데이타를 변경시킬 수 있어야 합니다. 즉 데이타베이스는 새로운 데이타를 저장하거나 기존의 데이타를 삭제, 변경시키는 작업을 저장된 데이타가 일관성을 유지할 수 있도록 수행해야 합니다.

데이타 베이스 관리 시스템 (Database Management System)

 

데이타베이스를 생성하고, 관리하며, 데이터로부터 사용자의 물음에 대한 대답을 추출하는 프로그램의 집합을 데이터베이스 관리시스템이라 합니다. 데이타베이스 관리 시스템의 첫번째 목표는 바로 데이타를 저장하고 이 데이타로부터 유용한 정보를 얻어내기위한 효율적이면서도 편리한 방법을 사용자에게 주는데 있습니다.

 

 

데이타베이스 관리 시스템이 데이타를 관리하기 위해서는 저장할 데이타의 구조를 정의해야 하며, 이렇게 정의된 구조에 따라 효율적으로 데이타를 저장해야 합니다. 또한 이렇게 저장된 데이터로부터 좀더 빠르게 정보를 추출할 수 있기 위한 방법들을 제공 해야합니다.

 

 

실제로 데이타를 관리하는 데 있어서는 여러 문제점이 발생하게 됩니다. 예를 들어 학사 관리 데이타베이스에서 학생의 출생년도가 1800인 데이타가 있다거나 또는 학생의 소속학과가 실제로 존재하지 않는 학과로 되어있는 경우, 또한 학번이 같은 사람이 둘 이상 있는 것과 같이 잘못된 데이타가 데이타베이스에 저장될 경우 이로부터 얻은 정보는 아무런 의미가 없게 됩니다. 위와 같은 잘못된 데이타가 데이타베이스에 저장되는 것을 막는 것 또한 데이타베이스가 해야 할 일들 중 하나입니다.

 

 

보통의 경우에 데이타베이스는 동시에 여러 사람들이 사용하게 됩니다. 이렇게 하나에 데이타베이스가 동시에 여러 장소에서 사용될 경우, 한명의 사용자가 사용할 때와는 다른 문제점을 발생시킬 수도 있읍니다. 데이타베이스를 효율적으로 사용하기 위해서는 이처럼 동시에 데이타베이스에 접근하는 것을 가능하도록 해야 하며, 이때에 발생할 수 있는 문제를 데이타베이스 관리 시스템이 해결해야 합니다.

 

관계형 데이터베이스란?

==========================

 

관계형 데이터베이스란?

 

관계형 데이터베이스는 모든 데이터들을 테이블과 같은 형태로 나타내어 저장하는 데이타베이스입니다. 일상생활에서 데이타를 정리하여 표현할 때 흔히 표와 같은 방법을 사용하게 되는데, 관계형 데이타베이스는 이 '표'의 개념을 사용해서 데이터를 구성하는 방법을 사용하고 있습니다.

 

 

예를 들어 고객들의 주소와 전화번호를 정리할 때 표, 즉 테이블을 사용한다면, 첫번째 열은 이름, 두번째 열은 주소, 세번째 열은 전화번호를 써서 나타낼 수 있습니다.

 

 

개체-관계 모델에서 정의한 데이타들을 실제로 관계형 데이타베이스를 사용하여 저장하기 위해서는 개체-관계 모델을 테이블로 변환시키는 과정이 필요합니다. 즉 개체-관계 모델은 실제 데이타베이스와는 상관없이 저장하고자 하는 데이타를 정의한 것이며, 테이블은 데이타를 관계형 데이타베이스에서 실제로 표현하는 방법입니다.

 

 

관계형 데이타베이스에서는 단순히 데이타를 테이블의 형태로 나타낼 뿐만 아니라 저장된 데이타로부터 원하는 정보를 추출할 수 있는 방법을 정의하고 있습니다.

 

SQL 이란?

=============

 

SQL 이란?

 

실제로 Database를 컴퓨터를 이용하여 구축하려면, 이전에 인간이 이해할 수 있도록 만들어 놓은 table 들을 컴퓨터가 알 수 있는 형태로 바꾸어 입력해 주어야 합니다.

 

 

뿐만 아니라 실제의 자료들도 컴퓨터에 입력되어야 하고, 자료의 입력 후에도 자료를 변 경하고, table자체의 모양을 바꾸는 등 컴퓨터와의 계속적인 interaction으로 DB를 실제 상황에 항상 근접하도록 만들어 주는 것이 필요합니다.

만일 90년도에 만든 학생 DB 를 96년까지 변경없이 나둔다면 거기서 얻어지는 정보는 전혀 무의미한 것일 것입니다 .

 

 

이렇게 컴퓨터와 인간의 interaction에 쓰이는 것이 바로 DBMS외 여러 software들이고 , DBMS에서 쓰이는 language중 가장 널리 알려지고 많이 사용되고 있는 것이 SQL입니 다.

 

 

SQL은 data를 define(DDL) 하는 데에 쓰이는 명령문과 data를 insert, delete하는 등의 조작에 쓰이는 부분(DML), 그리고 query 명령문 부분과 그 외의 기능을 수행하는 부분(DCL)들로 이루어져있습니다.

 

개체 관계 모델이란?

=====================

 

개체-관계모델이란?

 

데이터베이스를 설계하는 과정에서 가장 먼저 해야 할 일은 사용자가 관심이 있는 데이터는 무엇이며 그 데이터로부터 얻고자 하는 정보는 무엇인지에 관해 조사하는 것입니다. 이러한 과정을 사용자의 요구분석이라고 하는데 이 단계에서는 사용자가 요구하는 실세계의 데이타를 분명하고 이해하기 쉽게 나타내어 다음 단계에서 사용자의 요구에 맞는 데이터베이스를 만들 수 있도록 해야 합니다.

 

 

이렇게 현실세계의 수 많은 데이타 중에서 관심의 대상이 되는 데이타만을 추려내어 추상적 형태로 나타내는 것을 데이터모델링 이라고 합니다. 언어가 가지고 있는 모호성 때문에 보통의 언어보다 좀더 형식화되고 다이어그램등을 사용하여 표현하게 되는데 이를 개체-관계 모델이라 합니다.

[Top]
No.
제목
작성자
작성일
조회
861SQL 에서 Join 이란...
정재익
2003-10-22
18510
860Database system 이란? [1]
정재익
2003-10-22
10548
859ACID
정재익
2003-10-22
8921
780데이터베이스 개론
정재익
2003-06-19
13686
779데이터베이스 연결문자열을 웹에서 분리하자
정재익
2003-06-19
8491
774AIX 4.3 + apache1.3 + tomcat4.1.24 설정 문서
정재익
2003-06-19
10841
663SQL 작성법
정재익
2003-01-08
11332
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2020 DSN, All rights reserved.
작업시간: 0.010초, 이곳 서비스는
	PostgreSQL v13.0으로 자료를 관리합니다