관계 대수는 "수학적 기호와 연산자를 사용"하여 데이터베이스에서 원하는 결과를 도출하는데 사용됩니다. 이를 통해 특정 조건에 따라 데이터베이스에서 추출하려는 데이터의 집합을 명확하게 정의할 수 있습니다. 이것은 데이터베이스의 "내부적인 처리"에 가깝게 연관되어 있어, "데이터의 저장 방법과 처리 방법을 고려"하여 사용해야 합니다.
반면에 관계 해석은 "사람이 이해할 수 있는 질의 언어"로, 데이터베이스에서 원하는 결과를 분명하게 명시하는 데 사용됩니다. 관계 해석은 데이터베이스의 외부적인 처리에 가깝게 연관되어 있어, 이를 통해 사용자는 "데이터베이스의 내부 구조나 처리 방법에 대해 알 필요 없이" 질의를 수행할 수 있습니다.
일반적으로, 데이터베이스 설계자나 개발자는 데이터베이스에서 추출하려는 정보의 복잡성과 처리 방법을 고려하여 적절한 질의 언어를 선택합니다. 단순한 데이터 추출이나 필터링을 위해서는 관계 해석이 적합하며, 보다 복잡한 데이터 처리나 집계를 위해서는 관계 대수를 사용하는 것이 효과적일 수 있습니다.
다음은 관계 대수와 관계 해석의 표기법의 차이입니다.
학생과 성적 두 릴레이션의 자연 조인 결과가 성적이 90 이상인 것만 선택한 후, 이름 속성만을 선택하려 하는 경우,
관계 대수
π 이름(σ 성적 ≥ 90 (학생 ⋈ 성적))
관계 해석
{name | ∃id, score(id, '수학', score1) ^ score(id, '영어', score2) ^ score1 ≥ 90 ^ score2 ≥ 90 ^ name = 이름}
이번에는 성적 관계에서 각 과목별로 평균 성적을 구하는 경우입니다.
관계 대수
π 과목, AVG(성적)(성적)
관계 해석
{과목, AVG(s) | ∃id, 성적(id, 과목, s)}
'정보처리기사' 카테고리의 다른 글
[운영체제] 운영체제에서 메모리 관리를 위한 기법들 (0) | 2023.04.20 |
---|---|
[정보처리기사: 운영체제] 라운드 로빈(Round Robin, RR) 스케줄링 알고리즘 (0) | 2023.04.20 |
[정보처리기사] 웹 세션(Session)이란? (0) | 2023.04.20 |
[정보처리기사] 웹 캐시(Cache)란? (0) | 2023.04.19 |
[정보처리기사] HTTP 쿠키(Cookie)란? (0) | 2023.04.19 |