인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

방명규님의 프로필 이미지

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

관계대수 (영상)

관계대수

해결된 질문

작성

·

63

0

14:04

 

  • 프로젝션 학생이름, 나이 한거에서

  • 중복 허용하지 않는다고 하셨는데

  • 검색해보니 DISTINCT 를 사용해야 중복허용이 안된다고 나오는데 어떤 차이가 있는건가요?

답변 2

1

주말코딩님의 프로필 이미지
주말코딩
지식공유자

관계대수와 SQL은 다릅니다. SQL이라는 언어의 기초가 되는 개념으로 수학적인 개념입니다.

 

프로젝션은 중복을 제거하는 것이 맞습니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 방명규님.

관계대수에서의 프로젝션(Projection)은 데이터베이스 연산 중 하나로, 테이블에서 특정한 열(Column)만을 선택적으로 추출하는 작업을 의미합니다. 프로젝션은 일반적으로 중복된 데이터 줄을 제거하는 특징을 가지며, 이는 관계형 데이터베이스 이론에서 기본적으로 중복을 허용하지 않기 때문입니다.

SQL에서 중복을 제거하려면 DISTINCT 키워드를 사용하는데, 이는 SQL의 한 특성으로 SQL의 SELECT 문에 기본적으로 중복을 허용하기 때문입니다. 따라서, SELECT DISTINCT를 사용하여 중복을 제거한 결과를 얻을 수 있습니다.

다음과 같은 예시를 통해 설명드리겠습니다:

-- 중복된 학생 이름과 나이를 포함해서 목록을 얻으려면
SELECT 학생이름, 나이 FROM 학생;

-- 중복을 제거하려면
SELECT DISTINCT 학생이름, 나이 FROM 학생;

따라서, 관계대수 이론과 SQL의 차이는 개념적으로 인지하고 사용하는 것이 중요합니다. 관계대수에서 프로젝션은 기본적으로 중복을 허용하지 않는 반면, SQL SELECT문에는 명시적으로 DISTINCT를 사용하여 중복을 제거할 수 있습니다.

추가적인 설명이나 더 깊이 있는 정보가 필요하시면, 아래 링크를 통해 유사한 질문과 답변을 확인해 보시기 바랍니다:
- 자주 묻는 SQL 기본 개념과 명령어들 이 링크는 프로젝션과 SQL의 중복 처리에 대한 기본적인 설명을 포함하고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.