데이터베이스의 역사 - 관계형 데이터베이스 모델 #51
jcrescent61
started this conversation in
Database
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
관계형 데이터베이스 모델
사용자의 입장에서 보았을 때 데이터가 어떤 모양으로 표현되고 관리되는가에 따라 데이터베이스는 계층형 모델, 네트워크 모델, 관계형 모델로 분류된다.
최근에는 객체지향 모델, 객체-관계형 모델이 발표되었지만 사용 DBMS에서는 관계형 데이터베이스 모델이 압도적으로 많이 사용되고 있다.
관계형 데이터 베이스의 특징
테이블
테이블 형태로 표현되어있어서 누구나 쉽게 이해할 수 있다.
질의어(SQL)
사용자가 데이터를 다룰 수 있도록 질의어(SQL)가 제공된다.
SQL은 자연어에 가까운 문법을 가지고 있어 배우기 쉽고 데이터를 어떻게 가져올 것인가 대신에 어떤 데이터를 원하는지만 기술해주면 된다.
SQL명령어나 문법은 표준화 되어있어 대부분의 명령어는 모든 관계형 데이터베이스 제품에서 공통적으로 사용될 수 있다.
관계형 데이터베이스 용어
테이블과 관련된 용어
릴레이션 == 테이블
지금까지 테이블이라고 칭했던 것으로 관계형 데이터베이스에서 정보를 구분하여 저장하는 기본 단위이다.
하나의 릴레이션은 현실세계의 어떤 개체(Entity)를 표현하고 저장하는데 사용된다.
위의 사진처럼 학생에 관한 정보를 저장하기 위해선 STUDENT 릴레이션이 필요하고 과목에 대한 정보를 저장하기 위해서는 SUBJECT라는 릴레이션이 필요하다. 릴레이션은 서로를 구분할 수 있는 이름을 가지며 동일한 데이터베이스 내에서는 같은 이름을 가진 릴레이션이 존재할 수 없다.
일반적으로 데이터베이스는 많은 수의 릴레이션들을 포함하게 된다.
속성 == 열, 칼럼
릴레이션을 표현할 개체의 구체적인 정보 항목에 해당되는 것이 속성이다.
현실세계의 개체들은 많은 속성을 가진다. 그중에서 관리해야 할 필요가 있는 속성들만을 선택해 릴레이션에 포함시킨다.
속성 역시 고유한 이름을 가지며 동일 릴레이션 내에 같은 이름의 속성이 존재할 수 없다. 릴레이션이 다르면 같은 속성 이름을 공통으로 사용할 수 있다.
튜플 == 행
릴레이션이 현실세계의 개체를 표현한다면 튜플은 그 개체에 속한 구성원들 개개의 정보를 표현한다.
"학생"은 개체를 나타내는 이름이고 "전혜지일" 등은 "학생" 개체의 구성원이라고 할 수 있다.
도메인
도메인이란 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값들의 집합이다.
도메인이라는 개념이 필요한 이유는 릴레이션에 저장되는 데이터 값들이 본래 의도했던 값들만 저장되고 관리되도록 해야하기 때문이다. "성별"이라는 속성이 있다면 이 속성이 가질 수 있는 값은 {남, 여} 이고 데이터 베이스 설계자는 성별의 도메인을 정의하고 그 값으로 {남, 여}를 지정한 뒤 성별 이라는 속성은 해당 도메인의 값만 가질 수 있게 지정해놓아야한다. 그래야 실수로 {남, 여} 이외의 데이터가 입력되는 것을 피할 수 있다.
Beta Was this translation helpful? Give feedback.
All reactions