외래키(Foreign Key) 또는 포린키란 하나(또는 여러개)의 다른 릴레이션의 기본키(PK) 필드를 가르키는 데이터의 참조 무결성(Referential integrity)을 확인하기 위해 사용되는 키(Key)를 의미한다. 간략히 FK(에프케이)라고도 한다. [1]
개요
특징
외래키(FK, Foreign Key)는 관계 데이터 모델의 릴레이션 간의 관계를 표현하고, 다른 릴레이션의 기본키(PK)를 참조한다. 외래키는 몇가지의 주요 특징이 있는데 첫번째, 참조하고(외래키) 참조되는(기본키) 양쪽 릴레이션의 도메인은 서로 같아야 한다. 도메인이란 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값들의 집합인데[3]
, 외래키는 참조 무결성 조건에 부합해야되기 때문에 도메인이 같아야 한다. [4] 두번째, 참조되는 값이 변경되면 참조하는 값도 변경된다. 첫번째 특징과 연관되어 참조하고 참조되는 릴레이션의 도메인이 같아야되기 때문에 참조되는 값이 변경되면 그에 맞게 참조하는 값도 변경하여 도메인을 서로 같게 해야한다. 세번째, NULL값과 중복 값이 허용된다. 기본키(PK)는 데이터를 구별할 수 있는 고유성을 지니고 있어야하기 때문에 중복과 NULL값이 허용되지않는다. 하지만 외래키(FK)는 정의와 같이 다른 릴레이션을 참조하고 있는데 그게 전부이다. NULL값이 허용됨으로써 데이터를 검색할때, 특정 정보만 모를 경우 NULL로 지정해두고 검색할 수 있다. 네번째, 자기 자신의 기본키(PK)를 참조하는 외래키도 가능하다. 다섯번째, 외래키가 기본키의 일부가 될 수 있다. [5]
각주
- ↑ 〈Foreign Key:외래키〉, 《프로그램 개발 지식 공유 사이트(www.devkuma.com)》, 2018-01-09
- ↑ 〈2.관계데이터모델〉, 《개인사이트》, 2017-11-14
- ↑ 〈릴레이션 용어-속성(애트리뷰트),튜플,도메인,차수,카디날리티〉, 《개인사이트》, 2019-03-01
- ↑ 〈키(Key)의 개념 및 종류〉, 《개인사이트》, 2017-10-23
- ↑ 〈각 키에 대해서 공부하고 기본키와 외래키의 특징을 알아보자〉, 《개인사이트》, 2018-06-29
참고자료
같이 보기
이 외래키 문서는 데이터에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.
|
개발 : 프로그래밍, 소프트웨어, 데이터 □■⊕, 솔루션, 보안, 하드웨어, 컴퓨터, 사무자동화, 인터넷, 모바일, 사물인터넷, 게임, 메타버스, 디자인
|
|
데이터
|
ACID • CRUD • CSV • DAO • DB • DBMS • DB 명령어 • DCL • DDL • DML • DTO • ERD • ETL • JDBC • LOD • MDM • ODBC • RDBMS • RDF • SQL • 가상 데이터베이스 • 관계형 데이터베이스 • 그래프 • 기본키(PK) • 내부조인 • 널 • 노드 • 다이어그램 • 대리키 • 대체키 • 데이터 • 데이터댐 • 데이터마트 • 데이터 모델링 • 데이터뱅크 • 데이터베이스(DB) • 데이터베이스 언어 • 데이터 사이언스 • 데이터 사전 • 데이터 웨어하우스 • 데이터 정의어(DDL) • 데이터 제어어(DCL) • 데이터 조작어(DML) • 데이터 클러스터 • 데이터 토큰 (문자열) • 데이터 통합 • 덱 • 디비서버 • 라이트조인 • 락 • 레코드 • 레프트조인 • 로그 • 로그파일 • 로깅 • 롤백 • 리두로그 • 릴레이션 • 마스터데이터 • 마스터데이터관리(MDM) • 마이그레이션 • 메타데이터 • 배열 • 뷰 • 빅데이터 • 서브쿼리 • 수퍼키 • 순차리스트 • 스키마 • 스택 • 슬로우쿼리 • 엔티티 • 역정규화 • 연결리스트 • 외래키(FK) • 외부조인 • 인덱스 • 인덱싱 • 인젝션 • 자료구조 • 정규화 • 정보 • 조인 • 커밋 • 쿼리 • 큐 • 키 • 타깃 • 테이블 • 튜플 • 트랜잭션 • 트리 • 트리거 • 티비마이그레이터 • 풀조인 • 프로시저 • 필드 • 해시 • 해시맵 • 해시태그 • 해시테이블 • 해시함수 • 해싱 • 후보키
|
|
데이터베이스 관리 시스템 (DBMS)
|
관계형 데이터베이스 관리 시스템(RDBMS) • 노에스큐엘(NoSQL) • 데이터베이스 관리 시스템(DBMS) • 더비 • 디비투(DB2) • 레디스 • 마리아디비(MariaDB) • 마이에스큐엘(MySQL) • 몽고디비 • 빅테이블 • 사이베이스 • 선디비 • 알티베이스 • 액세스 • 에스큐엘(SQL) • 에스큐엘라이트(SQLite) • 에이치베이스 • 엠에스에스큐엘(MS-SQL) • 오라클(Oracle) • 인터베이스 • 인포믹스 • 카산드라 • 카우치디비 • 큐브리드 • 티베로 • 파이어버드 • 포스트그레스큐엘(PostgreSQL) • 하이퍼테이블
|
|
DB 명령어
|
alter • array • create • delete • drop • from • full join • grant • inner join • insert • join • left join • null • order by • outer join • rename • revoke • right join • select • truncate • update • where
|
|
시스템 연계
|
API • CGI • EAI • ESB • JPA • RSS • SOA • SOAP • SSL • SSO • web3.js • XML • 디비투디비(DB-to-DB) • 레스트풀(RESTful) • 상호운용성 • 시스템 인터페이스 • 신디케이션 API • 오픈 API • 웹 API • 웹개방성 • 윈도우 API • 자바 API • 크롤링 • 프라이빗 API
|
|
위키 : 자동차, 교통, 지역, 지도, 산업, 기업, 단체, 업무, 생활, 쇼핑, 블록체인, 암호화폐, 인공지능, 개발, 인물, 행사, 일반
|
|