2009/04/26 19:26
관계형이란(01) General Tech.2009/04/26 19:26
데이터베이스의 종류
데이터베이스란? - 조직이나 조직 내의 프로세스를 모델링 하는데 사용하는 조직화된 데이터의 집합
운영 데이터베이
- 저장되는 데이터가 동적임.(소매점, 출판사, 제조업체, 병원과 클리닉 등)
분석 데이터베이스
- 역사적이고 시간에 의존적인 데이터를 저장하고 추적. 정적 데이터(화학 실험실, 지질학 회사, 마케팅 분석 등)
최초의 관계형 데이터베이스는?
- 1969년에 태동, 창시자는 에드거 F. 코드(IBM 연구소, 박사)
- 데이터 중복성, 취약한 데이터 무결성, 물리적 구현에 대한 데이터베이스 구조의 의존성 문제 해결을 위해 고민.
- 1970년 6월에 '대규모 공유 데이터뱅크를 위한데이터의 관계형 모델' 연구에서 관계형 모델 제시.
- 집합 이론과 1차 술어논리 라는 수학 분야를 기초에 둠.
관계형 데이터베이스 소프트웨어
- 19070년대의 메인 프레임 컴퓨터는 IBM이 개발한 System R과 버클리에서 개발된 INGRES를 사용.
- 메인 프레임용 RDBMS는 80년대의 오라클의 Oracle과 IBM의 DB2로 이어짐
- 이후 PC붐에 의해 dBase(에스톤 테이트), Paradox(앤사 소프트웨어), R:BASE(마이크로림) 가 등장
- 서버/컴퓨팅 개념에 의해 Oracle 8i와 MS의 SQL Server 7 등장
- 인터넷 시대에 웹 중심 데이터베이스 등장함, Cold Fusion(어르), Sybase(사이베이스), 비주얼 인터데브(MS)
관계형 데이터베이스의 해부
- 관계형 모델에서 관계형 데이터베이스 내의 데이터는 릴레이션내에 저장됨.
- 릴레이션은? - 투플(레코드), 속성(필드)로 구성됨.
테이블
- 데이터베이스의 주요 구조.
- 각 테이블은 항상 하나의 특정 주제를 나타냄.
- 각 테이블은 하나의 주 키(레코드 식별자)라는 필드를 포함함.
- 테이블이 나타내는 주제는 객체(Object) 또는 사건(Event)일 수 있음.
- 주제가 객체라면? 사람, 장소, 사물처럼 실제적인 것을 나타냄.
- 주제가 사건이라면? 주어진 시점에 발생한 어떤 것을 저장함.(재판 공청, 자금 배포, 실험 테스트 결과, 지질학
조사등)
필드
- 데이터베이스의 가장 작은 구조
- 테이블의 주제의 한 가지 특성을 나타냄
- 데이터를 저장하는데 실제적으로 사용되는 구조.
- 필드 자체의 무결성과 데이터 무결성을 확인하는 데 바친 시간의 양 -> 정보의 질
레코드
- 테이블 주제의 고유한 인스턴스
- 테이블 내의 모든 필드로 구성(주제와 무관함)
키
- 테이블 내에서의 목적을 결정
- 주 키와 외래 키
- 주 키 : 테이블 내의 각 레코드를 고유하게 식별하는 하나의 필드 또는 필드 그룹
- 주 키의 중요성(2가지) : 전체 데이터베이스에서 특정 레코드를 식별하고 그 필드는 데이터베이스에서 주어진
테이블을 식별함
- 데이터베이스 내의 테이블간 관계에서 주 키는 다른 테이블의 외래키가 됨으로써 관계를 설정하고, 관계 수준의
무결성을 보장하는 데이 도움이 됨.
뷰
- 데이터베이스 내의 하나 이상의 테이블들의 필드로 구성되는 가상적인 테이블
- 기반 테이블(Base Table)로 구성함.
- 기반 테이블에서 데이터를 추출하여 정보를 여러 측면에서 볼 수 있도록 해주고 많은 융통성을 줌.
- 저장된 쿼리, 또는 쿼리라고 부름
관계
- 주어진 테이블의 레코드들을 다른 테이블의 레코드들과 연관을 맺게 하는 방법.
- 일대일, 일대다, 다대다 3가지 종류가 있음.
- 일대일 : 첫 번째 테이블의 한 레코드가 두 번째 테이블의 오직 한 레코드와 연관된 것(역으로도 마찬가지)
관계에서 주 테이블(primary table)과 종속 테이블(secondary table)로 불림.
외래키는 종속 테이블의 주키 역할도 수행함.
- 일대다 : 첫 번째 테이블의 한 레코드가 두 번째 테이블의 여러 레코드들과 연관될 수 있음.
두 번째 테이블은 첫 번째 테이블의 한 레코드하고 밖에 연결이 안됨.
- 다대다: 첫 번째 테이블의 한 레코드가 두 번째 테이블의 여러 레코드와 관계를 가지고 거꾸고 두 번째 테이블의
한 레코드가 첫 번째 테이블의 여러 레코드와 관계를 가짐.
이 관계를 설정하기 위해 연결 테이블(linking table)이 필요함.
부적절하게 설정된 관계는 '해결되지 않는다.' -> 해결방법은? 연결 테이블은 만든다.
'General Tech.' 카테고리의 다른 글
| MSDN 웹 캐스트 시리즈 (0) | 2009/07/28 |
|---|---|
| 데이터베이스 구조 튼튼한지 확인(02) (0) | 2009/04/26 |
| 관계형이란(01) (0) | 2009/04/26 |
| 사용자 데이터베이스 이전하기. (0) | 2008/12/21 |
| DAS (0) | 2008/11/30 |
| IF, InnerJoin, CASE 적용 프로시저 (0) | 2008/11/30 |
