관계형 데이터베이스
관계형 데이터베이스는 관계형 모델에 기반하여 데이터와 데이터들의 관계를 나타내기 위해 테이블들의 집합을 사용한다. 관계형 데이터베이스는 또한 DML과 DDL을 포함한다. 대부분의 상업적인 관계형 데이터베이스 시스템은 SQL 언어를 사용한다.
- 테이블
첫 번째 instructor 테이블은 이름이 El Said 이고 32343라는 ID를 갖는 교수가 역사학과의 일원이며 60000달러의 연봉을 받고 있음을 나타낸다. 두 번째 department 테이블은 생물학과가 Watcon 건물에 위치해 있으며 90,000$ 의 예산을 갖고 있음을 나타낸다. 물론 실세계의 대학교는 더 많은 학과와 교수들을 가지고 있다. 여기에서는 개념들을 보여주기 위해 작은 테이블들을 사용한다. 같은 스키마를 갖는 더 큰 예제는 온라인에서 구할 수 있다.
관계형 모델은 레코드-기반 모델의 한 예이다. 레코드-기반 모델이라 명명한 것은 데이터베이스가 몇 개의 형으로 이루어진 고정 형식의 고정 형식의 레코드로 구성되기 때문이다. 각 테이블은 특정한 형(type)의 레코드들을 포함한다. 각 레코드형은 정해진 수의 필드(또는 속성)를 정의한다. 테이블의 각 열은 레코드형의 속성에 대응한다.
테이블이 파일 안에서 어떻게 저장되는지를 살피는 것은 어렵지 않은 일이다. 예를 들어, 하나의 레코드 안에서 각각의 속성은 특정 문자(컴마와 같은)로 구분되며, 각각의 레코드는 또 다른 문자(\n같은)로 구분되어 저장된다. 관계형 데이터베이스는 하위 수준의 상세한 구현을 데이터베이스 개발자나 사용자로부터 숨긴다.
관계형 모델에서 정보의 불필요한 중복 문제를 가진 스키마가 있을 수도 있다는 것에 주의하라 예를 들어, department 의 budget을 instructor 레코드의 속성으로 저장했다고 하자. 그러면 언제라도 특정 예산의 값(예를 들어 물리학과의 예산)이 바뀌면 그 변화는 물리학과와 연관되어 있는 모든 교수들의 레코드에 반영될 것이다.
- 데이터 조작 언어
- 데이터 정의 언어
- 응용 프로그램에서의 데이터베이스 접근
- DML과 DDL 문을 데이터베이스에 보내기 위한 응용 프로그램 인터페이스 제공. C언어를 위한 표준인 ODBC(Open Database Connectivity)가 응용 프로그램 인터페이스(API) 표준으로 사용된다. Java를 위한 표준으로는 JDBC(Java Databse Connectivity)가 있다.
- 호스트 프로그램 안에 DML 을 내장하기 위한 호스트 언어 문법의 확장. 보통은 특별히 정한 문자가 DML 호출의 시작을 알리고, DML 선 컴파일러(DML precompiler)라 부르는 처리기가 DML문을 호스트 언어의 프로시저 호출로 바꾸어 준다.
'Programming > DataBase System' 카테고리의 다른 글
Chapter1 - 데이터 저장과 질의 (0) | 2019.04.11 |
---|---|
Chapter1 - 데이터베이스 설계 (0) | 2019.04.06 |
Chapter1 - 데이터베이스 언어 (0) | 2019.04.06 |
Chapter 1 - 데이터 관점 (0) | 2019.04.06 |
Chapter1 - 데이터베이스 시스템의 목적 (0) | 2019.04.06 |