문과 코린이의, [C#] 기록/문과 코린이의, [SQL] 기록

[문과 코린이의 IT 기록장] MSSQL - 기본키, 외래키 ( 기본키 (Primary Key) , 외래키 (Foreign Key), 관계형 데이터베이스란?)

벼리네 2022. 1. 19. 10:28
반응형

[문과 코린이의 IT 기록장] MSSQL - 기본키, 외래키 ( 기본키 (Primary Key) , 외래키 (Foreign Key), 관계형 데이터베이스란?)

[문과 코린이의 IT 기록장] MSSQL -  기본키, 외래키 ( 기본키 (Primary Key) , 외래키 (Foreign Key), 관계형 데이터베이스란?)

 


< 참고 강의 영상 >

 

MSSQL Server 2016 기반의 데이터베이스 입문에서 활용까지 Part.1 - 인프런 | 강의

데이터베이스 구축에서부터 테이블 생성, 각종 SQL 쿼리문을 사용해서 데이터베이스 내 데이터를 조작, 변경할 수 있습니다., MSSQL로 시작하는 데이터베이스 학습 -데이터를 다양하게 조작, 변경,

www.inflearn.com

2022.01.19 - [문과 코린이의, [SQL] 기록] - [문과 코린이의 IT 기록장] MSSQL - SQL 데이터베이스 입문(SQL Server 설치 폴더, SQL Server에서 사용하는 샘플 데이터베이스, Pubs 샘플 데이터베이스, SQLCMD명령어로 DB 생성하기, Pubs 샘플 데이터베이..

 

[문과 코린이의 IT 기록장] MSSQL - SQL 데이터베이스 입문(SQL Server 설치 폴더, SQL Server에서 사용하는

[문과 코린이의 IT 기록장] MSSQL - SQL 데이터베이스 입문(SQL Server 설치 폴더, SQL Server에서 사용하는 샘플 데이터베이스, Pubs 샘플 데이터베이스, SQLCMD명령어로 DB 생성하기, P..

vansoft1215.tistory.com

2022.01.19 - [문과 코린이의, [SQL] 기록] - [문과 코린이의 IT 기록장] MSSQL - Databse 학습 가이드 및 개론(DataBase 학습 가이드, DBMS란?, DBMS 실습)

 

[문과 코린이의 IT 기록장] MSSQL - Databse 학습 가이드 및 개론(DataBase 학습 가이드, DBMS란?, DBMS 실습)

[문과 코린이의 IT 기록장] MSSQL - Databse 학습 가이드 및 개론(DataBase 학습 가이드, DBMS란?, DBMS 실습) < 참고 강의 영상 > MSSQL Server 2016 기반의 데이터베이스 입문에서 활용까지 Par..

vansoft1215.tistory.com


1. 기본키 (Primary Key) (= 주키)

- 고유한 식별값을 가질 수 있는 열기본키라고 한다.

 * 즉, 기본키는 지정 가능함.

- 당연히 중복되어서는 안된다.

상품코드가 기본키가 될 것임.

1) 기본키가 필요한 이유는?

- 기본키인 열의 구분을 활용해, 어떤 특정 레코드(행)을 찾고자 할 때 도움이 되기 때문이다.

- 기본 키를 지정함으로써 제약을 걸 수 있게 된다.  ex. 중복되는 값 입력 X / NULL값 허용 X

 

2) 기본키 실습

 a. pubs DB의 authors테이블의 디자인 들어가기

 

b. 기본키 확인

기본키 O - 기본키 제거 부분
기본키 X - 기본키 설정 부분
NULL 허용 부분

 

c. 레코드 실제 확인

상위 1000개 행 열기

d. 레코드 추가

상위 200개 행 편집
올바른 입력 (NULL 값 X)
올바르지 않은 입력 (NULL 값 입력)
올바르지 않은 입력 (중복되는 값 입력)

 


2. 외래키 (Foreign Key)

- SQL DB는 특정한 열을 외래키로 지정할 수 있다.

- 외래키는 어떤 테이블에 있는 특정 열이, 다른 테이블에 있는 열(보통 기본키)를 참조하는 것이다.

 ex. 매출테이블의 상품코드열이, 상품테이블의 상품코드 열(기본키)를 참조한다.(가리킨다)

 * 매출테이블의 매출코드 1번은, 상품코드 4를 가리키고 있음 -> 따라서 이는 배를 나타내고 있는 것

 * 즉, 매출테이블의 상품코드 열은, 상품테이블을 가리키는 외래키가 된다.

 

- 외래키를 지정하면 흔히 부모/자식 테이블의 관계라고 부른다. * 외래키 테이블이 자식 테이블

 

1) 목적

: 두 테이블에 공통으로 들어있는 자료를 서로 확실하게 이어주기 위함이다.

 (=> 무결성에 위배되지 않도록. 즉 참조무결하도록)

 

2) 주의

: 참조되는 테이블이 먼저 만들어지고 값도 입력되어 있어야 한다.

: 이 때 외래 키로 참조되는 부모 테이블의 열은, 보통 기본키로 지정된다. 

 * 즉, 외래 키로 참조되는 테이블은 NULL 값을 허용하지 않아야 한다.

 

3) 특징

- 외래키는 다른 테이블의 데이터를 참조할 때 없는 값을 참조하지 않도록 제약을 해준다.

 * 없는 값을 입력하려고 하면 에러가 난다. -> 참조 무결성 위배

 


 

3. 관계형 데이터베이스란?

- 결국 관계형 데이터베이스란, 여러 테이블간의 데이터가 기본키와 외래키의 설정으로 관계가 맺어진다는 것이다.

- 이러한 관계설정이 관계형 데이터베이스의 가장 핵심이다.

 


* 유의사항
- 아직 공부하고 있는 문과생 코린이가, 정리해서 남겨놓은 정리 및 필기노트입니다.
- 정확하지 않거나, 틀린 점이 있을 수 있으니, 유의해서 봐주시면 감사하겠습니다.
- 혹시 잘못된 점을 발견하셨다면, 댓글로 친절하게 남겨주시면 감사하겠습니다 :)
반응형