상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - MySQL에서 외래 키(Foreign Key)란 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
M<a href='https://sangseek.com/sangseeks/ySQL/ko'>ySQL</a>에서 외래 키(Foreign Key)는 데이터베이스의 두 테이블 간의 관계를 정의하는 중요한 개념입니다. 외래 키는 한 테이블의 열(column)이 다른 테이블의 기본 키(primary key) 또는 고유 키(unique key)를 참조하도록 설정된 제약 조건입니다. 이를 통해 데이터의 무결성을 유지하고, 데이터 간의 관계를 명확하게 표현할 수 있습니다. 외래 키의 주요 <a href='https://sangseek.com/sangseeks/기능1/ko'>기능1</a>. 데이터 무결성 유지 : 외래 키는 참조 무결성을 보장합니다. 즉, 외래 키가 설정된 테이블에서 입력되는 값은 반드시 참조하는 테이블의 기본 키 또는 고유 키에 존재해야 합니다. 이를 통해 잘못된 데이터 입력을 방지할 수 있습니다.2. <a href='https://sangseek.com/sangseeks/관계 정의/ko'>관계 정의</a> : 외래 키를 사용하면 두 테이블 간의 관계를 명확하게 정의할 수 있습니다. 예를 들어, `주문` 테이블이 `고객` 테이블을 참조하는 경우, 외래 키를 통해 각 주문이 어떤 고객에 의해 생성되었는지를 명확히 할 수 있습니다.3. Cascade 옵션 : 외래 키는 데이터 삭제 및 업데이트 시의 행동을 정의할 수 있는 여러 옵션을 제공합니다. 예를 들어, 부모 테이블에서 행이 삭제될 때 자식 테이블의 관련 행도 자동으로 삭제되도록 설정할 수 있습니다. 이를 통해 데이터의 일관성을 유지할 수 있습니다. 외래 키의 구성 요소외래 키는 다음과 같은 요소로 구성됩니다:- 참조 테이블 : 외래 키가 참조하는 테이블. 일반적으로 이 테이블은 기본 키를 가지고 있습니다.- 참조 열 : 외래 키가 참조하는 열. 이 열은 참조 테이블의 기본 키 또는 고유 키와 일치해야 합니다.- 자식 테이블 : 외래 키가 설정된 테이블. 이 테이블은 외래 키를 통해 참조 테이블과 연결됩니다.- 자식 열 : 자식 테이블에서 외래 키로 설정된 열. 이 열은 참조 테이블의 기본 키 또는 고유 키와 일치해야 합니다. 외래 키 설정 방법MySQL에서 외래 키를 설정하는 방법은 다음과 같습니다:1. <a href='https://sangseek.com/sangseeks/테이블 생성/ko'>테이블 생성</a> 시 설정 : 테이블을 생성할 때 외래 키를 정의할 수 있습니다. 예를 들어, 고객 테이블과 주문 테이블을 생성할 때 외래 키를 설정할 수 있습니다. ```sql CREATE TABLE Customers ( CustomerID INT PRIMARY KEY, CustomerName VARCHAR(100) ); CREATE TABLE Orders ( OrderID INT PRIMARY KEY, OrderDate DATE, CustomerID INT, FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID) ); ```2. 기존 테이블에 추가 : 이미 존재하는 테이블에 외래 키를 추가할 수도 있습니다. ```sql ALTER TABLE Orders ADD CONSTRAINT fk_customer FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID); ``` 외래 키의 제약 조건외래 키를 사용할 때 몇 가지 제약 조건이 있습니다:- <a href='https://sangseek.com/sangseeks/데이터 타입/ko'>데이터 타입</a> 일치 : 외래 키와 참조하는 기본 키의 데이터 타입이 일치해야 합니다.- 인덱스 필요 : 외래 키가 참조하는 열은 인덱스가 필요합니다. MySQL은 기본 키에 자동으로 인덱스를 생성하지만, 고유 키의 경우 사용자가 인덱스를 생성해야 할 수 있습니다.- 제약 조건 충족 : 외래 키를 설정할 때, 참조하는 데이터가 이미 존재해야 합니다. 만약 참조하는 데이터가 없다면 외래 키 제약 조건을 위반하게 됩니다. 결론MySQL에서 외래 키는 데이터베이스 설계에서 매우 중요한 역할을 합니다. 데이터 간의 관계를 정의하고, 데이터 무결성을 유지하며, 데이터의 일관성을 보장하는 데 필수적인 요소입니다. 외래 키를 적절히 활용하면 데이터베이스의 구조를 명확하게 하고, 데이터 관리의 효율성을 높일 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기