>

헤더 "ID"(정수), "이름"(문자열), "주소"(문자열)가있는 테이블이 있습니다.

+---------------------+
|  ID | Name  | City  |
+---------------------+
| 1  | John  | London |
| 2  | Mary  | Paris  |
| 3  | Cris  | Tokio  |
+---------------------+

나를 도와 주시고 그 테이블이 어떻게 관계가 있는지 보여 주시겠습니까?

이항 관계는 순서 쌍의 세트이며, 각 쌍은 세트 A에서 세트 B 로의 맵핑입니다. (예 : A = {1,2,3} B = {A, B} =>{1A, 2A, 2B, 3A}는 이진 관계입니다)

테이블 헤더 (속성 이름 세트)가 첫 번째 쌍 세트 (위의 예와 같이 A)를 형성한다고 생각하지만 제 경우 두 번째 세트는 무엇입니까? 페어가 필요하고 튜플이 페어가 아닌 경우 3- 튜플 ( "1 | John | London")이란 무엇입니까? 해당 페어의 두 번째 부분 (A 세트)은 항상 암시 적으로 암시됩니까?

내 경우에는 삼항 관계라고 생각하고 세 세트 (IS 세트, 이름 세트, 도시 세트)가 있으며 테이블 헤더는 관계에 대해 말하는 세트로 간주되지 않습니다 (헤더는 모두 3 때문에 사용됩니다) -튜플은 헤더에 따라 주문됩니다).이진 관계는 내 테이블과 전혀 관련이 없습니다.맞습니까?

prooflink

>

  • 답변 # 1

    수학의 이진 관계와 데이터베이스의 이진 관계를 혼용하지 마십시오. DB 개념에서 이진 관계는 수학의 이진 관계가 Set Theory와 관련된 두 개의 다른 엔티티 간의 관계를 가리 킵니다. 이것을보십시오

    그들은 다르지만 그들 사이에는 밀접한 관계가 있습니다.데이터베이스 전문가를위한 응용 수학

  • 답변 # 2

    1)테이블 헤더 :

    관계는 (순서대로)세트입니다 :

    { (ID, Integer), {Name, String}, {City, String) }
    
    

    2)테이블 바디의 경우

    관계는 (순서대로)세트입니다 :

    { (ID, 1), (Name, John), (City, London),  
      (ID, 2), (Name, Mary), (City, Paris), 
      (ID, 3), (Name, Cris), (City, Tokio) }
    
    

    예를 들어이 세 쌍의 { (ID, 1), (Name, John), (City, London) }  튜플 (3- 튜플 = 레코드 = 테이블 행)을 의미합니다. 더 정확하게 튜플은 쌍이 아닌 (순서대로) 트리플의 집합이어야합니다 : { (ID, Integer, 1), (Name, String, John), (City, String, London) } 하지만"ID"가 표시 될 때마다 항상정수(도메인 = 데이터 유형)임을 알 수 있으므로 도메인/유형이 생략되고 쌍 대신에 트리플렛에 대해 말하기).

    따라서 (정규화 된) 테이블은 대수 이진 관계와 유사 할 수 있으며 이진 관계는 일련의 순서 쌍으로 정의됩니다.

    그러한 relaltion = table의 경우 관계에 대한 쌍 세트에 1과 2의 쌍 세트 (헤더 및 본문에 대한 pirs 세트)의 조합이 포함되어야하는지 100 % 확신 할 수 없습니다.

  • 이전 sql - 2 개의 복잡한 GROUP BY/PARTITION BY 쿼리를 하나의 쿼리로 구성
  • 다음 python - float를 정수로 변환하여 점과 0이없는 숫자를 얻습니다