[컴활1급필기 절대족보] 키의 개념

이기적 영진닷컴
21 팔로워
2024. 9. 21.
이 동영상은 [이기적 컴퓨터활용능력 1급 필기 절대족보] 도서 내용을 바탕으로 제작되었습니다.
🔹 도서 자세히 보기 : https://www.yes24.com/Product/Goods/124852139
🔹 이 동영상이 포함된 재생목록 : https://youtube.com/playlist?list=PL6i7rGeEmTvqIYhkpnVCUu_ZAzjpAPC1m&si=-HeBUqGPKb1cJtKP
🔹 모르는 문제? [이기적 스터디 카페] 질문하기 : https://cafe.naver.com/yjbooks
🔹 이기적 홈페이지 : https://license.youngjin.com
🔹 인스타그램 : https://www.instagram.com/license.youngjin_official/
관계형 데이터베이스 우리가 관계형
데이터베이스를 rdb 이렇게
얘기하거든요 릴레이셔널
R 그다음에 데이터베이스의 DB
그래서 광경 데이터베이스를 rdb
이렇게 줄여서 얘기를 해요 아셔야
되는
거고 릴레이션의 구조라고 되어 있는데
관경 데이터베이스에서
릴레이션은 데이터가 저장되는 테이블을
갖다가 릴레이션이라고 불러요 그래서
테이블에 형태로 표현한 것 릴레이션
테이블 렇게 머릿 넣어두시면 되는
거고 지금 아래 테이블을 보면은
학번 이름 그다음에 학년 학가 뭐예요
필드 아아 그 필드를 속성이라고
불러요
데이터베이스에서는 어트리뷰트 잠시
후에 볼 건데 그래서 얘네들 학번
이름 학년 학가 이걸 속이라고 합니다
그리고 번에는 이렇게 980 공
학번이 아아 유느의 1학년 의상학과
요렇게 행 개념 레코드 개념이 아아
그게 바로 튜플에 튜플은 레코드 행
그렇게 알아두시면 되는 거고 그다음에
여기 학과의 도메인이라고 돼 있잖아요
도메인이 무슨 뜻이 있어요 d o
범위 영역 이런 뜻이 있잖아요
그러니까 나올 수 있는 학가 그게
바로 도메인에 예를 들어서 또 예를
들어 드리면 성별 그러면 남녀 그게
바로 도메인이 되는 거야 그다음에
여기 릴레이션 스키라 되어 있는데요
지금이 테이블에서이 릴레이션에서 학번
이름 학년 학가 속성들 요거를
릴레이션 스키라 합니다 얘네들은 안
변하잖아요 그래서 얘는 정적인
개념이에요 릴레이션 스키마는 그런데
아래쪽에 릴션 인스턴스라고 돼
있잖아요 인스턴스가 무슨 뜻이 있냐면
사례 샘플 이런 뜻이 있단 말이요
그러니까 여기 튜플 행이 데이터가
어떻게 돼요 변하잖아요
동적인 개념이에요 그래서 션 인스턴스
얘는 동적인 개념 같이 알아두셔야
돼요 그다음에 스키마는 학번 이름
학년 학 안 변하잖아요 드니까
스키마는 정적인 개념 그렇게 또
아시면 되는 거고 또 사히 살펴보도록
하겠습니다 속성
트리뷰
얘는 필드를 뜻하는 거예요 필드 속성
필드 이렇게 머 넣어셔야 되고
데이터베이스를 구성하는 가장 작은
논리적인 다리 자주간 필드 그다음에
열을 뜻하잖아요
필드 열 속성 트리뷰 다 같은
뜻이에요 또 하나 동일한 속성 명이
두 개 이상 존재할 수 없다라는 거죠
그리고 한 릴레이션을 구성하는 속성
어트리뷰트에 순서가 없어요 그래서
요것도 조심하셔야 됩니다 또 하나
어트리뷰트의 수이 속성의 수를 뭐라
그러냐 디그리 번역을 하면 차수
합니다 그러면 위에 테이블에서
차수는네 개요 학번 이름 학년 학가
요렇게네 개입니다 알아두셔야
되고 그다음에 튜플이 아는 거는 행
레코드를 뜻해요 튜플 행
레코드 한 릴레이션에 포함된 튜플들을
모두 상의하고 마찬가지로 튜플 순서가
없습니다 이거 조심하셔야 돼서 튜플의
무순서 속성의 무순서 알아두셔야 돼요
맞다 틀리다 시험문제 잘 나오니까
튜플은 행 레코드를 뜻한다 반드시
머게 넣어 두셔야 되고이 튜플의 수를
뭐라 그러느냐 카디널리티 기수라
그래요 카디널리티 그럼 위에
테이블에서 카디널리티 기수의 계수는
뭐예요 제목은 빼고 하나 둘 셋네
개가 되는 거예요 그것도 조심하셔야
되고 카디널리티 수를
기수라고 한다라는 거 그다음에 도메인
도메인 서두에도 말씀드렸지만 영역
범위 이런 뜻이 있잖아요 그래서
속성이 가질 수 있는 필드가 가질 수
있는 값의 집합 취할 수 있는 같은
타입의 원자값들의 집합 거듭
말씀드리지만 성별의 경우에는 남녀
그다음 월요 1월부터 12월 이런
것들이 해당이 되는 거예요 이번에는
데이터베이스 키의 종류인데요 키
우리가 알고 있는 그 키 열쇠
맞습니다 key 키 열쇠를 뜻하는
건데 데이터베이스에서 키는 매우
중요해요 첫 번째로 이제 후보
키라는게 먼저 있는데 잠시 후에 이제
배우겠지만 후보 키라는 건 뭐냐면
유일성과 최소성을 만족하는 키라고
표현을 하거든요
그런데 잘 이해가 안 가시죠 뭐냐면
후보라는 거는 예를
들면 민국 사람이면 누구나 갖고 있는
주민 등록번호 그러면 주민등록번호를
알면 누군지 특정 지울 수 있잖아요
바로 그거예요 그런게
후보입니다 그럼 주민등록번호 하나만
가지고 그 하나만
가지고 누군지 특정 세울 수 있다
그래서 유일성이 하고요 그다음에 주민
등록번호고 한 필드만 가지고 한
속성만 가지고 특정지을 수 있는
거잖아요 그러니까 한 필드가
최소성이에요 그래서 후보라는 거는
유일성과 최소성 을 만족하는 키
그렇게 부르는 거예요 별거 없습니다
주미 등록번호 생각하시면 되는 거예요
후보키 유일성과 최소성을
만족한다 그리고 회사에 들어가면
4번 군인이면 군번 그렇죠 바로
그거요 대학생 학생이면 갖고 있는
학번 바로 이런 것들이에요 그런
것들이 다
후보인데 그중에서 회사에서는 주민
번호보다 뭘 써요 4번을 쓰잖아요
회사에서는 그랬을 때이 4번은 뭐가
된다 기본키가 되는 거예요 후보키
중에서 하나를 선택해서 사용하는 거
그게 바로 기본 키요 프라이머리 키
그러면은 4번을 몰랐을 때 주민
번으로 대체할 수 있잖아요 그게 대체
키예 간단합니다 자세하게 지금 여기
테이블 보면은 학번이 학가
테이블에서는 학번 이름 주민번호
학과이 학과 테이블에서는 학번이
기본예요 그다음 에 주민 등록번호
주민번호가 있잖아요이 주민번호 학번을
몰랐을 때 주민 번호를 알면 누군지
특정 지울 수 있잖아요 그러니까 얘가
대책 키가 되는 거예요 주민번호가
그리고이 학번을 가지고 바깥쪽
개념으로 빠져나가요 지금 101이라는
학생의 주소는 어디예요 성남이 아아
그런데이 주소를 하려면 수강 테이블로
가야 됩니다 그래서이 기본키 101
101을 가지고 101 학생 같은
경우 주소가 어디냐 바깥쪽요 수강
테이블로 가서 101 윤상현
성남입니다 이렇게 알 수 있는
거잖아요 그러니까 바깥쪽으로
빠져나가서 참조하는 거잖아요 그걸
갖다 우리가 외래 키라고 하는 거예요
외래키 그리고이 수강
테이블에서이 학번은 프라이머리 키다
거죠 기본 키 기본 키는 우리가
프라이머리 키 그래서 PK 이렇게
줄여서 얘기를 해요 레코드를 유일하게
식별할 수 있는 속성값 이게 바로
기본 키고 말씀드린 대로 후보키가
있을 때 후보키가 두 개 이상 있을
때 그 중에서 선택해서 사용하는 거
그게 바로 프라이머리 키 PK 기본
키가 되는 거고 널 값이나 널 값이나
중복값을 입력할 수 없다 우리
주민록번호
없거나 중복되는 경우 안 되잖아요
그래서 프라이머리 키는 널 값이나
중복값을 입력할 수 없다 이렇게 머
쏙 넣어 두셔야 되는 거고 하지만
필드의 값은 당연히 변경할 수
있다라는 거죠 예를 들어서 학가
테이블에서의 학번 이게 바로 기본
기다라는 거죠 학번 주민 등록번호
중에서 학번을 선택해서 사용하기
때문에 얘가 기본 키가 되는 거고
대체 키는요 주민 등록번호가 되는
거예요 후보키 유일성과 최소성을 모두
만족한다 그래서 학가 테이블에서의
학번 주민 등록 번호인데이 중에서
하나를 선택하는게 바로 뭐다 기본
키가 된다라는 거 그래서 유일성과
최소성을 만족하는 키가 바로 후보키
캔디데이 키고 마찬가지로 얘도 속성
중에서 레코드를 유일하게 식별할 때
사용하는 거고 그다음 요번에는 대체
키 대체 키라는 건 이미 말씀드린
대로 후보키 중에서 하나를 선택해서
사용하는 건 기본 키 그리고 그 키를
대체할 수 있는게 바로 대체 키요 말
그대로 후보키가 둘 이상일 때 그 중
하나를 기본 키로 지정하고이를 제외한
나머지 키 말 그대로 대체할 수 수
있는 키 그게 바로 대체 키가
된다라는 거 학가 테이블에서 학번이
기본 키라고 했을 때 주 있는 번호는
뭐가 된다 대체 키가 된다라는
거죠
외래키 외부키 요렇게도 불러요 한
테이블의 속성이 다른 테이블의 기본
키와 일치하거나 널 값인 키로 하나
이상의 테이블을 연결해서 사용하는
경우에 필요하다라는 거고 외래키
필드에는 이제 중복된 값 널값이
입력될 수 있다 없다 있다 이런 거
조심하셔야 되고 한 테이블에는 여러
개의 외래키가 존재할 수 있어요
그리고 기본키와 동시에 존재할 수
있다라는
거 마지막으로 슈퍼키이 슈퍼 키는요
한 테이블에 있는 속성들의 집합으로
구성된 키 속성들의 집합 그러니까 두
개 이상의 필드가 합쳐진 거예요
결론적으로 유일성은 만족해요 특정지을
수 있습니다 하지만 두 개의 필드 속
합쳐졌기 때문에 소성은 만족하지
못한다 그게 바로 슈퍼 키요
결론적으로 한 필드 가지고는 유일성을
만족하지 못하기 때문에 두 개의
필드를 갖다가 합쳐 가지고 유일성을
만족시킨다 특정 지을 수 있다라는
거죠 하지만 두 개의 필드가 합쳐졌기
때문에 최소성을 만족하지 못한다라고
표현을
해요 무결성 제약 조건 첫 번째로
개체 무결성 있데요 개체가 결점이
없다 이 뜻이에요 별거 없습니다
테이블에서 기본 키를
구성하는 학번 주민록번호
그중에서 후보키 중에서 하나를
선택해서 사용하는게 기본키 아아
그런데 그 기본키는 널 값이나
중복값을 가질 수 없다 우리가 만약에
주민 등록 번호를 사용한다 그랬을 때
주민등록 번호가 없는 경우 없잖아요
중복되는 경우는 안 되죠 그러니까
개체 무결성이란 거는 그 개체가
결점이 없다 그 뜻이에요 그래서
기본기를 구성하는 속성값은 널 값이나
중복값을 가질 수 없다 이게 바로
개체 무결성이 그러니까 그 개체가
결점이 없다라는 뜻입니다 학가
테이블에서 학과 테이블에서 학번이
기본 키로 지정이 돼서 사용을 해요
그럼 이제 주민록번호 대체 키가 되는
거고 레코드를 추가할 때 이름이라던가
주민 등록번호 그다음에 속성에는 값을
입력하지 않아도 되지만 중요한 건
뭐냐면 기본 키로 학번이 지정이
됐잖아요 지금 학번이 기본 키로
지정이 됐다라고 얘기했잖아요 그랬을
때 기본키로 지정된 학번 속성에는
반드시 값을 입력해야 된다 그게 바로
개체 무결성이 또 하나 학번 속성에는
한 번 입력한 속성값을 중복해서
입력할 수 없다 그니까 방금 전에 널
값이나 중복값을 가질 수 없다 이게
바로 개체 무결성이 되는
거예요 요번에는 참조 무결성 있데요
참조할 때 레퍼런스 할 때 결점이
있으면 안 된다 그 뜻이에요 그래서
두 테이블에 연관된 레코드들 사이에
일관성을 유지하는데 사용되는게 참조
무결성이 두 테이블에서 서로 참조함
있어서 문제가 없다라는 뜻이에요
주어진 속성들의 집합에 대한 테이블의
한 값이 반드시 다른 테이블에 대한
속성값으로 나타나도록 보장해야 된다
그게 바로 참조 무결성이 외래키 값을
관련된 테이블의 기본 키값과 동일하게
유지해 주는 조건 그게 바로 참조
무결성이 예를 들어서 학가 테이블의
학번 수강 테이블의 학번이 참조
무결성 관계가 유지가 되는 관계예요
그러니까 서로 참조함 e 있어서
결점이 있으면 안 돼요 그러니까 참조
무결성 관계라면 학가 테이블의 학번이
없는 값을 학번이 없는 값을 수강
테이블의 학번에 당연히 추가할 수가
없다라는 거죠 이게 바로 참조
무결성이라는 거예요
