
안녕하세요, 오늘은 Primary Key, Foreign Key 에 대해 정리해 보았습니다.
Primary Key란?
Primary Key는 데이터베이스 테이블에서 각 행을 고유하게 식별하는 데 사용되는 열입니다. 즉, Primary Key는 테이블 내에서 중복될 수 없는 값으로 구성되어야 하며, 이를 통해 각 레코드를 유일하게 구분할 수 있습니다. 예를 들어, 학생 정보를 담고 있는 테이블에서 학생 ID가 Primary Key로 설정된다면, 각 학생은 고유한 ID를 가지게 되어 데이터의 무결성을 유지할 수 있습니다.
Foreign Key란?
Foreign Key는 한 테이블의 필드가 다른 테이블의 Primary Key를 참조하는 관계를 나타냅니다. Foreign Key는 두 테이블 간의 관계를 설정하여 데이터의 일관성을 유지하는 데 도움을 줍니다. 예를 들어, 학생 테이블과 수업 테이블이 있을 때, 수업 테이블에서 학생 ID를 Foreign Key로 설정하면, 해당 수업에 등록된 학생을 쉽게 찾을 수 있습니다.
Primary Key와 Foreign Key의 차이점
Primary Key와 Foreign Key의 가장 큰 차이점은 그 역할에 있습니다. Primary Key는 각 레코드를 고유하게 식별하는 데 사용되며, 반드시 유일해야 합니다. 반면, Foreign Key는 다른 테이블의 Primary Key를 참조하여 두 테이블 간의 관계를 형성합니다. 즉, Foreign Key는 중복될 수 있으며, 여러 레코드가 같은 Foreign Key 값을 가질 수 있습니다.
Primary Key와 Foreign Key의 예시
실제 데이터베이스에서 Primary Key와 Foreign Key의 관계를 살펴보면, 예를 들어 학생 테이블(R1)과 학과 테이블(R2)이 있다고 가정해 보겠습니다. 학생 테이블의 Primary Key는 "Stud_Id"로 설정되고, 학과 테이블의 Foreign Key도 "Stud_Id"로 설정되어 두 테이블 간의 관계를 형성합니다. 이처럼 Foreign Key는 Primary Key를 참조하여 데이터 간의 연결을 만들어 줍니다.

또 다른 예로, 고객 테이블과 주문 테이블을 생각해 볼 수 있습니다. 고객 테이블의 Customer ID가 Primary Key로 설정되고, 주문 테이블에서는 Customer ID가 Foreign Key로 설정되어 고객과 주문 간의 관계를 명확히 합니다.

Primary Key와 Foreign Key의 중요성
Primary Key와 Foreign Key는 데이터베이스 설계에서 매우 중요한 역할을 합니다. 이 두 키를 적절히 설정함으로써 데이터의 무결성을 유지하고, 데이터 간의 관계를 명확히 할 수 있습니다. 또한, 데이터베이스의 성능을 향상시키고, 데이터 검색 및 관리의 효율성을 높이는 데 기여합니다.
오늘의 코드카타
class Solution {
public int solution(int[] num_list) {
int answer = 0;
int sum = 0;
int mul = 1;
for (int i = 0; i < num_list.length; i++) {
sum += num_list[i];
mul *= num_list[i];
}
if (sum * sum > mul) {
answer = 1;
}
return answer;
}
}
public class Main {
public static void main(String[] args) {
Solution solution = new Solution();
int[] a1 = {3, 4, 5, 2, 1};
int[] a2 = {5, 7, 8, 3};
System.out.println(solution.solution(a1));
System.out.println(solution.solution(a2));
}
}
원소들의 곱과 합