목록후보키 (2)
컴공생의 다이어리
[프로그래머스] 후보키 - 파이썬(Python) from itertools import combinations def solution(relation): len_key = len(relation[0]) candidate_key = [] for i in range(1, len_key + 1): for combi in combinations(range(len_key), i): # 후보키가 될수 있는 key들의 전체 조합 temp = list() for r in relation: curr = [r[c] for c in combi] # 현재 후보키 조합에 해당하는 튜플 데이터 if curr in temp: # 유일성을 만족하지 않는 경우 break else: temp.append(curr) else: for c..
키(Key) 키는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성을 말한다. 키의 종류로는 후보키(Candidate Key), 기본키(Primary key), 대체키(Alternate Key), 슈퍼키(Super Key), 외래키(Foreign Key)가 있다. 후보키(Candidate Key) 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합이다. 기본키로 사용할 수 있는 속성들을 말한다. 후보키는 유일성과 최소성을 모두 만족시켜야 한다. 유일성 (Unique) 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야 함 최소성 (Minimality) 키를 구성하는 속성 하나를 제거하면 유일하게 식별할 수 없도록 ..