무언가를 식별하는 역할
관계 데이터베이스에서 키는 특정 투플(행)을 식별할 때 사용하는 속성 또는 속성의 집합
릴레이션 간 관계를 맺는 데도 사용
ex ) 고객번호, 전화번호
ex) (고객번호, 이름) 등등 →를 포함한 모든 속성이 슈 퍼키가 될 수 있음


(학번) (학번, 이름) (학번, 학과) (학번, 주민번호) (학번, 이름, 학과) (학번, 이름, 주민번호) (학번, 학과, 주민번호) (학번, 이름, 학과, 주민번호) (주민번호) (주민번호, 이름) (주민번호, 학과) (주민번호, 이름, 학과)
→ 겹치지 않게 총 12개
ex ) 고객번호, 전화번호

학번, 주민번호
**NULL : “값이없음”, “아직 입력되지 않은 값”, “알 수 없는 값” → 숫자 0과는 완전 다름

학번 ( 가능하나, 주민번호는 개인정보의 유출 위험이 있음 )
**복합키 ( Composite Key ) : 두 개 이상의 속성으로 이루어진 키


ex) 고객번호, 상품번호로는 기본키로 충족되지 않기에,
주문번호라는 대리키/인조키 속성을 일부러 만들어 사용


후보키 : 학번, 주민번호
기본키 : 학번 ( 주민번호는 개인정보 유출위험으로 기본키 X )
대체키 : 주민번호



자유 실습 가이드 -> 병원 데이터베이스를 만들어보자!
의사 (사번(PK), 이름, 이메일, 진료과목, 직급)
환자 (환자번호(PK), 이름, 병명, 담당의_사번(FK), 진료일자)
병실 (호수(PK), 수용인원, 환자번호(FK))

데이터베이스에 저장된 데이터의 정확성과 일관성을 유지
관계 데이터 모델 만들 때, 지켜야하는 제약 조건
DBMS가 기본적인 제약조건을 통해 데이터 무결성을 지킴

ER Model은 실제 데이터베이스를 구축하기 위해 논리적 모델링 단계를 거침

2진 관계 ( Binary Relationship ) : 두 개체가 관계를 맺음
이진 1 : 1 관계 타입

이진 1 : N, N : 1 관계 타입 : 1의 개체가 N의 개체에 외래키로

이진 N : M, M : N 관계 타입




개체 직원은 개체 부서에 소속 되어있다라는 관계를 가짐
한 부서는 여러 명의 직원이 소속될 수 있음 ( 1:N 관계 )
개체 직원의 속성은 직원번호(PK), 직원이름, 직책
개체 부서의 속성은 부서번호(PK), 부서이름
이 때 1:N 관계를 짓기 위해서 개체 부서의 부서번호(PK)가 개체 직원의 외래키(FK)로 활용
이번 수업을 통해서 속성의 종류에 대한 내용이 중요하다는 생각이 들었다. 특히, 기본키와 외래키는 개체 간의 관계를 연결할 때 반드시 사용되어지는 부분이기 때문에 개념을 확실히 알고 있는 것이 중요하다. Row Data들이 정형화되어지는 모습을 보니까 신기하기도 하다. 지금이야 실습이라 몇 안되는 Data가지고 하지만 진짜 업무에서는 훠얼씬 수 많은 Data를 다뤄야 할텐데... 처음부터 구조잡는 부분이 얼마나 중요할지에 대한 생각이 들었다.
코드만 치지 않고 엑셀로, PPT로 모델링 그려가며 하니까 좀 재밌다😉 요거 좀 나랑 맞는 거 같은 느낌적인 느낌⁉
MySQL 프로그램 사용하다던데, 재밌을 것 같아 기다려진다🎈