SQL에서 기본키(Primary Key)는 테이블 내의 각 행을 고유하게 식별하는 역할을 합니다. 기본키는 테이블의 중복된 데이터를 방지하고, 데이터의 무결성을 보장하는 데 중요한 역할을 합니다.
외래키(Foreign Key)는 관계형 데이터베이스에서 하나의 테이블의 필드(또는 필드 집합)가 다른 테이블의 기본키를 참조하는데 사용되는 키입니다. 이는 테이블 간의 관계를 설정하고 데이터의 무결성을 유지하는 데 도움이 됩니다.
기본키(Primary Key)는 데이터베이스 테이블의 각 행을 고유하게 식별하는 데 사용되며, 데이터의 정확성과 무결성을 유지하는 데 중요한 역할을 합니다.
테이블을 생성할 때, CREATE TABLE 문을 사용하여 기본키를 정의합니다. 기본키는 해당 테이블의 주요 식별자가 되며 다음과 같은 예시로 정의할 수 있습니다.
CREATE TABLE 사용자 (
사용자ID INT PRIMARY KEY,
이름 VARCHAR(50),
이메일 VARCHAR(100)
);
SQL일반적으로 숫자로 된 기본키는 AUTO_INCREMENT 속성을 사용하여 자동으로 증가하도록 설정합니다. 이렇게 하면 데이터베이스가 새로운 레코드를 삽입할 때 자동으로 기본키 값을 증가시킵니다.
CREATE TABLE 주문 (
주문ID INT AUTO_INCREMENT PRIMARY KEY,
날짜 DATE,
사용자ID INT
);
SQL이미 존재하는 테이블에 기본키를 추가하려면 ALTER TABLE 문을 사용할 수 있습니다.
ALTER TABLE 주문
ADD PRIMARY KEY (주문ID);
SQL두 개 이상의 열을 결합하여 복합 기본키를 정의할 수 있습니다.
CREATE TABLE 주문_상세 (
주문ID INT,
상품ID INT,
PRIMARY KEY (주문ID, 상품ID)
);
SQLALTER TABLE 사용자
DROP PRIMARY KEY;
SQLALTER TABLE 주문
MODIFY PRIMARY KEY (다른ID);
SQL외래키(Foreign Key)는 데이터베이스에서 두 테이블 간의 관계를 설정하고 연결하는 데 사용되며, 데이터의 일관성과 무결성을 유지하는 데 중요한 역할을 합니다. 외래키를 사용하는 방법에 대해 자세히 설명하겠습니다:
테이블을 생성할 때, CREATE TABLE 문을 사용하여 외래키를 정의합니다. 외래키는 참조할 테이블과 참조할 열을 명시합니다.
CREATE TABLE 주문 (
주문ID INT PRIMARY KEY,
날짜 DATE,
사용자ID INT,
FOREIGN KEY (사용자ID) REFERENCES 사용자(사용자ID)
);
SQL이미 존재하는 테이블에 외래키를 추가하려면 ALTER TABLE 문을 사용할 수 있습니다.
ALTER TABLE 주문
ADD FOREIGN KEY (사용자ID) REFERENCES 사용자(사용자ID);
SQL외래키는 보통 제약 조건(constraint)으로 사용되어 데이터 무결성을 보장합니다.
CREATE TABLE 주문 (
주문ID INT PRIMARY KEY,
날짜 DATE,
사용자ID INT,
FOREIGN KEY (사용자ID) REFERENCES 사용자(사용자ID)
ON DELETE CASCADE
ON UPDATE NO ACTION
);
SQL✔️위의 예시에서 ON DELETE CASCADE는 참조된 키가 삭제될 때 주문 테이블의 해당 행도 삭제되도록 설정한 것입니다.
두 개 이상의 열을 결합하여 복합 외래키를 정의할 수 있습니다.
CREATE TABLE 주문_상세 (
주문ID INT,
상품ID INT,
PRIMARY KEY (주문ID, 상품ID),
FOREIGN KEY (주문ID) REFERENCES 주문(주문ID),
FOREIGN KEY (상품ID) REFERENCES 상품(상품ID)
);
SQLALTER TABLE 주문
DROP FOREIGN KEY 주문_사용자_fk;
SQLALTER TABLE 주문
DROP FOREIGN KEY 주문_사용자_fk;
SQL외래키를 적절하게 활용하면 데이터베이스의 관계를 잘 구성하고 데이터의 일관성을 유지할 수 있습니다.
기본키와 외래키는 데이터베이스의 핵심 원리로, 데이터의 정확성과 무결성을 보장합니다. 기본키는 각 레코드를 식별하고, 외래키는 테이블 간의 관계를 형성하여 데이터 일관성을 유지합니다. 적절한 활용을 통해 데이터베이스의 구조를 명확하게 설계하고 효율적으로 관리할 수 있습니다.
Queue란 무엇인가? Java에서 Queue는 데이터 구조의 일종으로, 데이터를 선입선출(FIFO, First-In-First-Out) 방식으로 처리합니다. 이 글에서는 Queue의…
Stack이란 무엇인가? Java에서 Stack은 자료구조의 한 종류로, 데이터를 순서대로 쌓아 올리는 형태로 운영됩니다. 컴퓨터 과학에서…
소개 자바에서 Map 인터페이스는 키(Key)와 값(Value)의 쌍을 저장하는 자료구조입니다. 이는 연관 배열이라고도 불리며, 각 키는…
소개 자바에서 Set은 중복을 허용하지 않는 데이터 집합을 의미합니다. List와 달리 동일한 요소를 여러 번…
해시(Hash)란 무엇인가? 해시(Hash)는 자바 프로그래밍에서 빠르고 효율적인 데이터 저장 및 검색을 위한 핵심적인 개념입니다. 이…