반응형

https://www.datawithbaraa.com/sql-introduction/sql-tables/

Domain (도메인)

 

  • 정의: 하나의 속성(attribute)이 가질 수 있는 값들의 집합
  • 예시:
    • 성별 속성의 도메인 = { 'M', 'F' }
    • 나이 속성의 도메인 = 자연수 집합
Title ISBN Author YearPublished Publisher
The Hunger Games B765 Suzanne Collins 2008 Scholastic Press
Harry Potter B123 J.K. Rowlings 1997 Scholastic Press

위와 같은 테이블이 있을 때, ISBN의 도메인은 알파벳+3자리 숫자입니다.

Relation Schema (릴레이션 스키마)

  • 정의: 릴레이션의 구조(형식)를 정의하는 틀

위의 테이블을 예시로 들면, 릴레이션 스키마는 Book(Title, ISBN, Author, YearPub, Pub)이 됩니다.

Relation (릴레이션)

 

  • 정의: 릴레이션 스키마에 따라 생성된 실제 데이터 집합, 즉 테이블
  • 스키마는 설계도, 릴레이션은 실물 데이터

릴레이션의 속성

  • 데이터베이스 내에서 각 릴레이션(테이블)의 이름은 고유(unique)해야 합니다. 즉, 같은 이름을 가진 두 개의 테이블은 존재할 수 없다는 뜻이며, 쿼리 실행 시 어떤 테이블을 참조하는지 명확해야 하기 때문입니다.
  • 모든 셀은 하나의 atomic value만 가져야 합니다. 밑의 테이블은 Courses 복수의 값이 들어 있어 atomic value 위반합니다. 

 

  • 각 속성(Attribute, 열)의 이름은 유일해야 합니다. 테이블 내에서 두 속성이 같은 이름을 가지면 안 됩니다.
  • 속성(Attribute)의 값들은 동일한 도메인으로부터 옵니다. 예를 들어, Age라는 속성에는 전부 정수(integer)만 들어가야 하고, 중간에 문자열이나 날짜가 섞이면 안 됩니다.
  • 속성의 순서는 의미가 없습니다. SELECT * FROM Student 했을 때, 열 순서가 바뀌어도 데이터 의미는 동일합니다.
  • 튜플의 순서도 의미가 없습니다. 릴레이션은 집합(set)이기 때문에, 행의 순서도 중요하지 않습니다.
  • 각 튜플(Tuple, 행)은 유일해야 합니다. 동일한 튜플이 중복되면 안 됩니다. 일반적으로 Primary Key를 통해 튜플의 유일성이 보장됩니다.

 

Attribute (속성)

 

  • 정의: 테이블의 열(Column)에 해당하며, 각각의 데이터 항목의 종류를 정의
  • 예시: Student 테이블의 속성 → StudentID, Name, Age

위의 테이블에는 총 다섯 개의 속성이 존재합니다. 

Tuple (튜플)

 

  • 정의: 테이블의 행(Row)에 해당하며, 하나의 레코드/데이터 인스턴스

위의 테이블에는 총 2개의 튜플이 존재합니다.

Cartesian Product (데카르트 곱)

  • 정의: 두 릴레이션 R(A1, A2)와 S(B1, B2)의 모든 조합을 생성하는 연산
  • R에 n개 튜플, S에 m개 튜플 → 결과는 n × m개 튜플
  • 보통 JOIN의 기초 개념으로 활용됨

 

반응형
올리브한입