https://youtu.be/KwHoxepZ2tY?si=7LhkAKFIV0FYaJQQ
1. 논리 데이터베이스 설계
1-1. 관계 데이터 모델 이해
- (중요) 관계 데이터 모델은 실세계의 데이터를 2차원 테이블 형태로 저장하고 검색하는 데이터 모델임
- 필드 값 활용하여 다른 테이블의 데이터를 찾는 식으로 데이터를 검색함
- 릴레이션은 하나의 개체에 관한 데이터를 2차원 테이블 구조로 저장한 것임
- 속성은 개체에 가질 수 있는 데이터의 집합이며, 데이터 타입은 데이터의 표시 형식을 의미함
- 도메인은 데이터의 속성이 가질 수 있는 데이터의 집합이며, 데이터 형식은 데이터의 속성에 따라 달라짐
1-2. 릴레이션의 구성과 특성
- 릴레이션은 릴레이션 스키마와 릴레이션 인스턴스로 구성됨
- 릴레이션 스키마는 릴레이션의 논리적 구조로, 릴레이션의 이름과 포함된 속성들의 이름을 정의함
- 릴레이션 인스턴스는 어느 한 시점에 존재하는 튜플들의 집합으로, 추가, 수정, 삭제 등의 동적 특성이 있음
- (중요) 릴레이션은 튜플의 유일성, 순서, 속성의 원자값만 사용할 수 있는 등 동일한 튜플이 존재하면 안 되는 특성을 가짐
- 릴레이션의 속성은 속성값이 존재해야 하며, 속성의 무순서는 크게 의미하지 않음
1-3. 시스템 카탈로그와 뷰
- 시스템 카탈로그는 데이터베이스의 객체와 구조에 관한 모든 데이터를 포함하는 시스템 데이터베이스임
- 시스템 카탈로그의 구성은 데이터베이스 관리 시스템에서 지원하는 논리 데이터베이스 설계에 맞춰짐
- 시스템 카탈로그에서 튜플은 레코드에 해당되며, 레코드는 데이터베이스 관리 시스템의 파일에 대응됨
- 뷰는 데이터베이스에서 객체와 구조에 대한 정보를 특정한 형식으로 정리한 것임
- 뷰의 구성은 데이터 베이스의 데이터를 정리하고 다양한 분류 및 표현을 위한 것임
2. 관계 데이터 모델의 연산과 제약 조건
2-1. 관계 데이터 모델의 무결성 제약 조건
- 관계 데이터 모델에서 개체의 무결성 제약 조건과 참조의 무결성 제약 조건을 중점적으로 설명함
- (중요) 기본키를 구성하는 속성들은 널 값을 가질 수 없으며, 참조키는 참조할 수 없는 값을 가질 수 없음
- 관계 연산에 대한 개념을 설명하고, 연산 유형을 분류함
- 관계 데이터 연산에 대한 일반 집합 연산자, 순수 관계 연산자 등을 설명함
2-2. 관계 해석과 관계대수의 특성
- 관계 해석과 관계 대수를 비교 분석함
- 관계 해석은 비절차적 절차를 따르며, 관계 대수는 절차적으로 기술함
- (중요) 관계 해석의 대표 연산자들은 합집합, 교집합, 차집합, 카티션 프로덕트임
- 각 연산자의 특성과 필요성에 대해 설명함
2-3. 대표 연산자에 대한 상세 설명
- 각 연산자에 대한 상세 설명과 예제를 제공함
- (중요) 합집합 연산자는 두 릴레이션의 합을 생성하며, 교집합 연산자는 두 릴레이션의 교차곱을 생성함
- 차집합 연산자는 두 릴레이션의 차를 생성하며, 카티션 프로덕트 연산자는 두 릴레이션의 튜플을 연결함
3. 관계 데이터 모델의 이해
3-1. 릴레이션과 관계의 특성 이해
- 릴레이션의 기본 개념과 차수, 카디널리티의 개념을 설명함
- 관계의 연산자 종류(셀렉터, 프로젝트, 조이, 디비전)의 특징과 기능을 소개함
- 차수와 카디널리티를 이용하여 새로운 릴레이션을 생성하는 방법을 예로 듦
- 순서 관계 연산자의 종류와 기능을 상세히 설명함
- (중요) 순수 관계 연산자의 종류와 기능, 그리고 각 연산자의 특징을 이해하는 것이 중요함
3-2. 관계 해석과 시스템 카테고리 이해
- 관계 해석의 개념과 종류(스플 관계 해석, 도메인 관계 해석)를 소개함
- 시스템 카테고리의 생성과 유지, 그리고 관련 정보에 대해 설명함
- 시스템 카테고리의 특징과 장단점, 갱신과 수정에 대해 논의함
- (중요) 시스템 카테고리의 데이터 보안과 관리에 대해 강조함
3-3. 시스템 카테고리의 데이터 분석
- 시스템 카테고리의 데이터 분석 방법과 그 결과를 이해함
- 시스템 카테고리의 생성과 유지에 따른 데이터 변환에 대해 논의함
- 데이터 사전과 시스템 카테고리의 연관성과 그 중요성을 이해함
- (중요) 시스템 카테고리에 포함된 내용과 그에 따른 데이터 변환의 이해가 필요함
4. 데이터 모델링 및 설계
4-1. 데이터 모델링 개요
- 데이터 모델링이란 현실 세계의 데이터를 컴퓨터에 표현하기 위한 모델링 기법임
- (중요) 데이터 모델링의 목표는 데이터의 정확성, 완전성, 준거성, 최신성, 일관성, 활용성 등을 갖춘 논리 데이터를 생성하고 유지하는 것임
- 데이터 모델링에서 다루는 주제와 영역, 개체와 속성, 관계 등을 이해해야 함
- 논리 데이터 모델링의 세부 내용은 개체 관계 모델, 논리적 데이터 모델링, 데이터베이스 정규화 등이 있음
4-2. 논리 데이터 모델링 및 정규화
- 논리 데이터 모델링은 논리 데이터의 정확성, 완전성, 준거성, 최신성, 일관성, 활용성을 위한 방법임
- 개체와 속성, 관계에 대한 체크리스트를 작성하고, 검증 결과에 따라 논리 데이터 모델의 품질을 평가해야 함
- 데이터 모델링에서 중요한 품질 평가 요소는 정확성, 완전성, 준거성, 최신성, 일관성, 활용성 등임
- (중요) 논리 데이터 모델의 품질을 평가하는 것이 데이터 모델링의 핵심 과정임
4-3. 논리 데이터 모델 품질 검증
- 논리 데이터 모델 품질 검증은 논리 데이터 모델의 정확성, 완전성, 준거성, 최신성, 일관성, 활용성을 평가하는 방법임
- 개체 관계 모델, 논리적 데이터 모델링, 데이터베이스 정규화 등 데이터 모델 품질 검증 방법을 이해해야 함
- 체크리스트를 작성하고, 검증 결과에 따라 논리 데이터 모델의 품질을 평가해야 함
- 데이터 모델의 품질 평가 결과는 다음 수업에서 다룰 예정임
5. 데이터 모델의 구성요소와 종류 이해
5-1. 데이터 모델의 개념과 종류
- 데이터 모델은 현실 세계의 정보를 컴퓨터에 표현한 체계적 모형임
- 데이터 모델의 종류는 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델이 있음
- 데이터 모델링은 개념적 데이터 모델링에서 시작하여 논리적, 물리적 데이터 모델링으로 나아감
- 각 모델링 단계는 데이터베이스의 개발 절차에서 각각 다른 역할을 수행함
- (중요) 데이터 모델의 구성 요소는 개체 속성, 관계, 속성의 세 가지임
5-2. 개념적 데이터 모델의 구성요소
- 개념적 데이터 모델은 현실 세계에 대한 인간의 이해를 돕기 위해 추상화된 모델임
- 속성들은 데이터베이스를 구성하는 가장 작은 논리적 단위로, 개체, 속성, 관계로 구성됨
- 속성은 데이터 항목 또는 데이터 필드 열로 불림
- (중요) 속성들은 유일하게 식별 가능하며, 다른 개체와 구분이 가능함
5-3. 논리적 데이터 모델의 구성요소
- 논리적 데이터 모델은 개념적 데이터 모델에서 얻은 개념적 구조를 컴퓨터 세계화 환경에 맞춰 변환한 것임
- 필드로 구성된 데이터 타입과 그 데이터 타입 간의 관계를 이용하여 현실 세계를 표현함
- 특정 데이터베이스 관리 시스템(DBMS)는 특정 논리적 데이터 모델을 선정하여 사용함
- (중요) 논리적 데이터 모델의 종류에는 관계 모델이 대표적으로 있음
- 이 모델은 계층 모델, 네트워크 모델 등의 형태를 가짐
6. 데이터 모델링과 관계 모델
6-1. 데이터 모델링의 개요
- 데이터 모델링의 주요 요소로 구조, 연산, 제약 조건을 들 수 있음
- 구조는 개체들 간의 관계를 표현하는 데 도움을 줌
- 연산은 데이터를 처리하는 작업에 대한 명세를 제공함
- 제약 조건은 실제 데이터 저장에 필요한 논리적 제약을 설정함
6-2. 관계 모델의 특징과 유형
- 관계 모델은 개체-관계-속성의 유형으로 구성됨
- 각각의 관계는 1대1,1대n, 다대다 등의 형태로 표현됨
- (중요) 1대1 관계에서는 선의 기호, 1대n 관계에서는 동그라미 기호, 다대다 관계에서는 복수표현을 사용함
- 이알 다이어그램은 관계 모델을 시각적으로 표현한 것으로 개체, 관계, 속성을 각각 사각형, 마름모, 복합 타원으로 표현함
6-3. 개체 관계 모델의 확장과 기호 표기법
- 개체 관계 모델은 1976년 피터 차인에 의해 제안되어 확장된 형태로 발전해옴
- 개체 관계 모델의 기호 표기법은 피터 차인의 표기법, 정보공학 표기법, 바커 표기법으로 나뉨
- (중요) 각 표기법은 개체, 관계, 속성을 각각 다른 기호로 표현함
- 관계의 동작적인 부분은 정보공학 표기법을 사용함
7. 데이터 모델링과 정규화
7-1. 데이터 모델링의 개요
- 데이터 모델링은 개념적, 논리적, 물리적 데이터 모델링으로 나뉨
- 논리적 데이터 모델링은 업무 분석을 위한 자료 흐름 분석에서 사용함
- 논리적 데이터 모델링에서 추출된 엔터티와 속성, 관계를 구조적으로 정의함
- 논리적 데이터 모델링은 하류어나 소프트웨어에 종속적이지 않음
- 물리적 데이터 모델링은 특정 데이터베이스 관리 시스템을 사용함
7-2. 데이터 정규화의 필요성
- 데이터 중복으로 인해 불필요한 부작용이 발생함
- 데이터 정규화는 중복성을 최소화하고 정보의 일관성을 보장함
- 데이터 정규화는 개념적 설계 단계에서 수행함
- (중요) 데이터 정규화의 첫 번째 단계는 중복 속성 제거임
- 중복 속성 제거는 비정규형에서 정규형으로의 변환 과정임
7-3. 데이터 정규화의 단계
- 제1정규화는 중복 속성 제거로 데이터를 정규형으로 만듦
- 제2정규화는 부분 종속성 제거로 더 분해할 수 없는 상태로 만듦
- 제3정규화는 비식별자에 종속된 속성 제거로 보이스코드 정규형으로 만듦
- 제4정규화는 조인 종속성 제거로 후보키가 아닌 결정자 제거로 보이스코드 정규형으로 만듦
- 제5정규화는 데이터 모델을 일관성 있게 만들고, 속성의 노력 여부를 검증함
8. 데이터 모델의 정규화 및 품질 검정
8-1. 데이터 모델의 정규화 과정
- 데이터 모델의 정규화는 중복 속성 제거를 통해 시작함
- 제1정규형은 중복 속성을 제거한 결과로 만들어짐
- 제2정규형은 3정규형에서 생성되며, 이는 제2정규형을 통해 4정규형으로 발전함
- 4정규형은 후보키가 아닌 결정자를 제거하여 생성됨
- (중요) 이행적 함수 종속 제거는 3정규형에서 4정규형으로 발전하는 과정
8-2. 좋은 데이터 모델의 조건
- 좋은 데이터 모델의 조건은 완전성, 중복 불가능성, 업무 규칙, 재사용 가능성, 안정성, 활용성 등이 있음
- 데이터 모델 품질 검정 기준은 정확성, 완전성, 준거성, 최신성, 일관성, 활용성 등을 포함함
- (중요) 정확성은 데이터 모델이 표기법에 따라 정확하게 표현되었는지, 업무 영역이나 요구사항이 반영되었는지를 의미함
- 준거성은 데이터 표준이나 표준화 규칙을 잘 준수했는지를 검사함
8-3. 데이터 모델 품질 검정 기준
- 좋은 데이터 모델의 조건을 만족시키는지 검사하는 기준이 있음
- (중요) 준거성, 일관성, 활용성 등을 포함한 다양한 요건을 통해 데이터 모델의 품질을 평가함
- 이행적 함수 종속 제거는 3정규형에서 4정규형으로 발전하는 과정 중 하나임
- 논리적 데이터 모델링은 개념적 구조를 데이터베이스에 저장하는 과정임
- 데이터 모델 품질 검정 기준은 해당 요건을 충족시키는지 검사하는 기준임
00:03
ncs 정보 처리 기사 세 번째 과목인 데이터베이스 구축의 챕터별로는 열두 번째로, 넘어가서 논리 데이터베이스 설계에 대해 살펴보도록 하겠는데요. 첫번째로, 관계 데이터베이스 모델이라는 주제입니다. 이 챕터는 굉장히 중요합니다. 시험에서 출제가 기존의 데이터베이스 과목 20문제 중에 네 문제 내지 다섯 문제까지 나왔던 부분이 모여 있습니다. 학습목표 관계 데이터 모델의 기본 용어를 읽히고 릴레이션을 구성하는 요소와 특성을 이해한다. 관계 데이터 언어의 종류인 관계 대수 그리고 관계 해석의 개념을 정리한다. 마지막으로, 시스템 카탈로그와 뷰에 대해서는 저희가 미리 좀 살펴봤었죠. 시스템 카탈로그의 개념 특징을 이해한다.
00:58
이 내용은요, 관계 데이터베이스 모델이 포함된 논리 데이터베이스 설계라는 해당 ncs 학습 모듈이 없어요. 없기 때문에 지금 설명드린 이 강의안을 잘 반복 숙지하셔가지고, 시험 보실 때 많이 도움 되시길 바라겠습니다. 학습 내용은요, 관계 데이터 모델 두 번째 관계 데이터 언어인 관계 대수와 관계 해석에 대해 살펴보겠고 세 번째 시스템 카탈로그와 뷰에 대해 보겠습니다.
01:32
용어 사전으로서 관계 데이터 모델은 실세계의 데이터를 행과 열 구성되어진 표인 테이블 릴레이션 형태로 저장하고 한 테이블의 필드 값을 이용하여 다른 테이블에 관련되어진 데이터를 찾는 식으로 검색하는 데이터 모델이 관계 데이터 모델이야 시스템 카탈로그는 데이터베이스의 객체와 구조에 관한 모든 데이터를 포함하고 있는 시스템 데이터베이스입니다. 세부 내용 살펴보도록 하겠습니다. 관계데이터모델 자 저희가요 에스큐엘 응용 해당 그 학습 능력 부분에서요 관계형 데이터 모델이라는 것도 살펴봤는데 실제적으로 시험에서는요 관계 데이터 모델에 대한 내용이 더 많이 나옵니다. 중요합니다.
02:25
자 개념은 관계 데이터 모델은 1972년에 코드 박사가 제안한 데이터 모델인데 현재 오늘날 대부분의 데이터베이스 관리 시스템에서 이 데이터 모델을 지원을 합니다. 실세계의 데이터를 현과 열 구성되어지는 표인 테이블과 릴레이션 형태로 저장하고요. 한 테이블의 필드 값을 이용해서 다른 테이블과 관련되어진 데이터를 찾는 식으로 검색하는 데이터 모델이다. 밑에 보면 릴레이션의 예라고 해서 고객이라고 하는 릴레이션을 제가 여기 포함을 시켜놨는데 설명을 이렇게 보게 되면 테이블은요, 테이블은 열과 행이 2차원적으로 만들어져서 테이블이 되죠. 해당 이 열 세로 열 세로 열을요 열 속성 어트리뷰트라는 용어로도 쓰고요.
03:21
그다음에 나중에 저희가 필드라는 용어로도 파일 시스템에서는 씁니다. 엑셀 같은 경우에 엑셀이 기본적으로 해당 셀 단위별로 해서 구성이 표잖아요. 네 표인데 성명필드 뭐 학번 필드 전화번호 필드 이런 식으로 그 필드들이 모이는 게 행이죠. 행 로우 레코드 그다음에 해당 관계 데이터 모델에서는 가로행을 튜플이라는 용어를 씁니다. 튜플 자 그다음에 도메인이라고 돼 있는데, 도메인도 이전에 저희가 좀 다뤘는데 해당 데이터의 표시 형식입니다. 데이터 타임이요.
04:05
데이터 타입 여기 보면 인트당 정수값을 저장할 수 있어 char 12r 정해져 있는 고정문자열 10글자까지 딱 크기 정해져 있는 상태로 저장하는 것 관계 데이터 모델의 용어 중요합니다. 릴레이션이라는 것은 하나의 개체에 관한 데이터를 2차원 테이블 구조로 저장한 거예요. 릴레이션 파일 관리 시스템에서는 파일에 대응한다고 되어 있고요. 속성이야 어트리뷰티 릴레이션의 열 이야기입니다. 열 어트리뷰트라는 용어로도 쓰이고 파일 관리 시스템 관점에서는 필드에 해당되어진다 속성 어트리뷰트 컬럼 필드 같은 말입니다.
04:54
튜플 튜플은 릴레이션에서 행 파일 관리 시스템에서는 레코드에 대응되어진다 그래서 튜플 레코드 이런 용어들이 혼용해서 쓰일 겁니다. 그다음 도메인은요, 하나의 속성이 가질 수 있는 데이터의 집합인데 속성의 특성을 고려하는 데이터 타입력 데이터 형식력 int 종수값을 저장할 수 있어 char 문자열인데 고정적인 크기를 가지는 문자열이야 다음 nornel이라고 하는 부분은 비어있다. 이 말인데 속성값을 아직 모르거나 해당하는 값이 없음을 표현한다. norl nural에 대한 것도 개념 문제 나옵니다. 시험에서요 데이터베이스에서 nor를 뭘 뜻하느냐 속성값을 아직 모르는 거 또는 해당하는 값이 없음을 표현해 입력값이 0이 입력되어 있는 거야. 그건 틀린 겁니다. 그건 nall이 아닙니다.
05:54
차수 디그리 차수 카니 마그너티 이 두 개의 시험에 자주 나와요. 뒤에 저희가 연습 문제도 얘를 넣어놨습니다. 차수라고 하는 건 뭐 네임 하나의 릴레이션 표가 릴레이션이잖아요. 하나의 릴레이션 표에서 속성이 전체 개수야 속성이 뭐라고 그랬어요. 위에서 버트리뷰티 열이었잖아요. 세로열 이게 몇 개냐 아니면 아닙니다. 이게 몇 개 이게 차수입니다. 차수 그 다음 카레노로키는 하나의 릴레이션의 튜플의 전체 개수 튜플이 뭐였어요. 행위였죠 여기 id pw tl addr 이렇게 해당 컬럼 이름이 있다고 치면 실제 데이터는 여기 두 번째 여기부터 저장되어지잖아요. 이게 몇 개인데 가로 행위의 개수가 몇 개야 이게 카메노티입니다.
06:53
자 릴레이션의 구성입니다. 네 릴레이션 구성은 릴레이션 스키마가 있고요. 릴레이션 인스턴트가 있어 이렇게 돼 있는데요. 뒤에 보면 이 그림이 하나 있어요. 표가 제시되어 있는데, 윗부분을 지금 릴레이션 스키마야 이렇게 표시해 놓았고 안에 있는 내용적인 부분이 릴레이션 인스턴스야라고 표시가 되어 있어요. 설명 묻고 다시 돌아볼게요 릴레이션 스키마는 릴레이션의 논리적인 구조야 릴레이션의 이름과 릴레이션에 포함되어진 모든 속성들의 이름을 정의한 거야. 릴레이션은 표라고 그랬어요. 표고 그다음에 속성은 해당 필드 이름이라고 했어요.
07:32
그래서 뒤에 표가 보면 얘는 무슨 표인데 무슨 릴레이션인데 고객 릴레이션이야 고객 릴레이션은 어떤 속성들이 구성되어 있는데, 고객 아이디 고객 이름 나이 등급 이렇게 구성되어 있어 그래서 예시에 보면 릴레이션 스키마는 고객 간호 내에 고객 아이디 고객 이름 나의 등급 지급 적립금 이게 릴레이션 스키마를 뜻하고요. 정적인 특성을 가진다 릴레이션 인스턴스는요 어느 한 시점에 릴레이션에 존재하는 튜플들의 집합이야 어느 한시점 해당 데이터가 계속 추가되어질 수도 있고 또는 어떤 경우에는 삭제될 수도 있고 수정될 수도 있고 변화들이 있죠. 그래서 어느 한 시점에 리더션 존재하는 튜플들 괄호 횡단이 레코드의 집합이 릴레이션 인스턴스입니다. 네 동적 특성이 있다. 넘어가겠습니다. 릴레이션의 특성입니다. 릴레이션 특성 이것도 시험에 자주 나와요.
08:33
릴레이션 특성은 첫 번째 유일성을 가져야 돼 무슨 말이냐 하나의 릴레이션에는 동일한 튜플이 존재하면 안 된다. 해당 표에요. 회원가입 멤버 테이블이에요. 회원가입 테이블인데 홍길동이라는 사람이 회원 가입한 게 두 개가 이렇게 정보가 저장되어진다 문제가 있죠. 왜 문제가 있느냐 해당 테이블에 프라이머리 키를 지정 안 한 케이스예요. 그런 경우에 두 개가 입력될 수도 있거든요. 근데 이제 해당 표 내에 저장되어져 있는 데이터를 저희가 레코드 단위로 처리할 때 각 레코드가 구분이 돼야 되거든요. 각 튜플이 구분되어야 되기 때문에 반드시 프라이머리 키를 지정해 가지고 중복값은 입력 안 되게끔 막아야죠 그래서 하나의 릴레이션에는 동일한 튜플이 존재하면 안 돼 튜플의 유일성 튜플의 무성 무순서라고 돼 있어요.
09:30
하나의 릴레이션에는 튜플 사이에 가로 횡단위별 위아래 순서 이거는 크게 고려사항이 아니야. 세로 열 단위도 마찬가지예요. 속성의 무순서라고 해서 하나의 릴레이션에서 속성 사이에 이 앞뒤 순서는 크게 많은 의미를 가지지 않는다. 마지막으로, 속성의 원자석 속성값으로는 원자값만 사용할 수 있어 더 쪼갤 수 없는 그 말입니다. 취미라는 해당 필드 앱 낚시 영화 이렇게 두 개 들어가면 안 된다는 말이에요. 하나씩만 들어가게끔 해야 된다. 다음 관계 데이터 모델의 개요로서 무결성 제약 조건이라고 해서 요 파트도 시험에 한 번씩 나오는 편이에요. 지금 아까 제가 서두에 시작할 때 말씀드렸다시피 이 부분이 중요합니다. 이 내용이 지금 관계 데이터베이스 모델 이 내용이 중요합니다.
10:28
무결성 제작 특권이라는 것은 데이터의 무결성을 보장하고 무결성은 뭔데 무결성은 데이터에 결함이 없는 상태를 이야기하고 정확하게 정확하고 유효하게 유지하는 것을 말한다. 데이터의 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙이 무결성 제약 조건인데 무결성 제약 조건은 다시 두 개로 나눠져요 그래서 여기 설명 문구 있잖아요. 요거를 제시해 놓고요. 보기에서 고르세요. 이런 문제 자주 나와요. 기본키를 구성하는 모든 속성은 nural 값을 가질 수 없다. norl이라는 게 아니라 nu가 아니라 nule nule nural nule 네 빈 공백이라든지. 그런 부분을 이야기하는 거예요. 기본키는 반드시 어떤 값을 가져야 돼요.
11:17
그리고 중복된 값을 가지면 안 되고 그게 뭔데 개체의 무결성 제약 조건이야 개체 무결성 제약 조건 개체 무결성 제약 조건은 기본키를 구성하는 모든 속성은 널 값을 가지면 안 돼 참조 무결성 제약 조건 참조하는 무결성 제약 조건은 외래키로 참조 외래키는 참조할 수 없는 값을 가지면 안 돼 외래키는 다른 해당 테이블의 프라이머리 키가 a라는 테이블에 id라고 하는 프라이머리 키가 b라는 테이블의 id라는 해당 컬럼이 왜 이렇게를 참조할 수 있어요. 왜 이렇게를 참작할 수 없는 값이 있으면 안 되죠. 무결성 제약 요건에 위반됩니다. 퀴즈 릴레이션에 포함되어 있는 튜플의 수는 뭔데 개념 문제입니다. 릴레이션은 해당 테이블 표였고요. 튜플은 뭐였어요.
12:14
튜플은 해당 가로 횡단이 이거였어요. 이게 몇 개 있느냐 라는 걸 뜻하는 건 뭐였냐면 용어가 가디넬로티였습니다. 카디넬로티 1번이 정답입니다. 릴레이션에 포함되어 있는 튜플의 수는 가디넬로티 이번 한 릴레이션의 기본키를 구성하는 어떠한 속성 값도 널 값이나 중복 값을 가지면 안 돼라는 것을 의미하는 건 뭔데 방금 저희가 학습했던 개체 무결성 제약 조건입니다. 개체 무결성 제약 조건이었고 한 가지 더 제가 살펴봤던 거 뭐였죠 외래키는 참조할 수 없는 값이 있으면 안 돼 참조 무결성 제약 조건이었고요. 이 문제에서 요구하는 기본키는 어떠한 경우도 널값 등급 간을 맞는데 개체 무결성 제약 조건입니다.
13:12
관계 데이터 연산에 대해 저희가 살펴보겠는데 용어가 시험 출제 기준에서는 관계 데이터 언어라고 표현이 되어 있고요. 일부 데이터베이스 관련 교재에서는 관계 데이터 operation이라고 해서 연산이라는 용어도 씁니다. 자 관계 데이터 연산 관계 데이터 언어는 두 가지 대상을 가지는데 포함을 하는데 관계대수와 관계대수와 이거 지금 개념도예요. 관계해석으로 나눠집니다. 관계대수는 절차적 언어고요. 관계 해석은 비절차적 언어입니다. 세부적으로 뒤에 살펴볼 거예요. 그 다음에 관계대수는 다시 일반집합연산자와 순수관계 연산자를 가집니다. 일반집합연산자에는 다시 집합연산자예요.
14:01
집합 수학에서 저희가 집합이라고 해서 합집합 합치는 거 집합을 교집합 공통되어진 것만 뽑아내는 거 차집합 해당 이 집합에서 얘를 뺐어요. 빼고 남아 있는 거 그다음에 카티션 프로젝트 이거는 이제 교차곱이라고 이야기를 합니다. 교차곱 한글로는 카티션 프로젝트 시험에서는 이게 자주 나와요. 카티션 프로덕트 뒤에 살펴보겠습니다. x로 되어 있습니다. 곱한다. 순수 관계 연산자 셀렉트 프로젝트 조인 디비전 이렇게 네 가지가 있어요. 시그마 파이 기호는 기호는 이러한 기호들로 표시를 합니다. 디비전에 나눈다는 거죠. 뒤에 더 상세히 살펴볼게요 관계 해석에는 두 가지가 있다. 도메인 관계 해석과 튜플 관계 해석 자 세부 내용 살펴봅니다.
15:01
관계 데이터 연산이라는 건 뭐 내리 관계 데이터 모델에 대한 연산을 이야기하는 거고, 원하는 데이터를 얻기 위해서 릴레이션에 필요한 처리 요구를 수행하는 것이고. 관계대수와 관계 해석이 포함되어진다 관계대수는 원하는 결과를 얻기 위한 포커스가요 데이터의 처리 과정 프로세스요 데이터의 처리 과정을 순서대로 기술한 거야. 절차적으로 기술한다. 순서대로 절차적으로 절차적으로 기술한다. 관계 해석은요, 원하는 결과를 얻기 위해 여기까지 같아요.
15:42
처리를 원하는 데이터가 무엇인가 데이터에 포커스를 맞춰 가지고 기술하는 비절차적 절차를 따지지 않는 비절차적 기술 그리고 과정이 아니라 데이터가 무엇인가에 포커스를 둔다 관계해석 관계대수 위주로 살펴보겠습니다. 관계대수 내용이 많아요. 관계대수는 원하는 결과를 얻기 위해 릴레이션의 처리 과정을 순서대로 기술하는 절차적 언어야 릴레이션으로 처리하는 연산자들이 있는데, 총 8개의 연산자가 있어 양분을 하게 되면 집합 일반 집합 연산자 4개와 그리고 순수 관계 연산자 4개 총 8개 대표 연산자로 이용을 합니다. 8개 대표 연산자를 이용하고요. 폐쇄 특성이 존재하는데 피연산자도 릴레이션이고 연산의 결과도 릴레이션이다.
16:38
관계 내설 연산자의 종류는 일반 집합 연산자 합집합 교집합 차집합 카티션 프로덕트 순수 관계 연산자 select project 조인 디비전 총 8개 있습니다. 일반 집합 연산자부터 살펴보면 릴레이션이 튜플의 집합이라고 하는 개념을 이용하는 연산자였이다. 튜플의 집합이라고 하는 부분 자체는 횡단이요를 이야기하는 거예요. 튜플의 집합 개념을 이용한 연산자인데 연산자 종류는 합집합 이름이 집합이에요. 일반 집합연산자 집합연산자 그래서 집합의 종류는 합집합이 있고 교집합이 있고 차집합이 있고 사용되어진 기호는 합집합은 u로 표시하고요. 교집합은 뒤집어 놓은 모양 차집합은 빼기로 표시하고요. 카티션 프로덕트는 x 곱하기로 표시를 합니다.
17:34
의미적인 부분은 두 개의 해당 릴레이션의 합집합이라고 하는 부분은 보다시피 r이라고 하는 집합과 s라고 하는 집합이 이렇게 있는데, 얘를 합쳤다 합쳐가지고 한 덩어리 됐다. 합집합 교집합은 반대로 교차되어지는 부분만 공통적인 부분만을 남긴 거예요. 이게 교집합 그다음에 차집합은요, 뺀 거예요. r에서 s를 뺐으면 이것만 남는 거고, s에서 r을 빼면 이것만 남았죠 차집합 그다음에 카테이션 프로젝트 릴레이션 r 각투 튜플과 릴레이션 s 각 튜플을 모두 연결해서 만들어진 새로운 튜플의 반환인데 이거는 꼭 피해서 구해요. 뒤에서 개념 보도록 하겠습니다. 구체적으로 일반 집합 연산자 특성은요, 피연산자가 두 개 필요해요.
18:31
그래서 두 개의 릴레이션을 대상으로 연산을 수행할 수 있어요. 표가 두 개 필요하다 표가 합집합 교집합 차집합은 피연산자인 두 릴레이션이 합병 가능해야 되는데 합병 가능하기 위한 조건이 있어요. 두 릴레이션에 차수가 같아야 된다. 아까 차수가 뭐였어요. 차수는 해당 테이블 레이의 필드의 개수였죠 해당 테이블레이에 열의 개수 이게 차수였어요. 그다음에 두 릴레이션에서 서로 대응되는 속성의 도메인이 같아야 돼 속성의 도메인은 뭐였어요. 입력할 수 있는 데이터 형식이었어요. 여기에 인트 정수값 입력하라는데 일단 다른 데이터 여기 정수라고 설정해놨는데 문자를 누르면 오류가 떠요 데이터 타입 안 맞아서 입력 못해 이렇게 되거든요. 자 일반 집합 연산자에서 다 건너뛰고요.
19:27
아까 합집합 교집합 차집합 건너뛰고 마지막 네 번째 게 카티션 프로덕트 이게 시험에 자주 나옵니다. 카티션 프로덕트에 대해 구체적으로 살펴보면 두 릴레이션 r과 s의 카티션 프로젝트는 교차곱인데 곱셈 형태로 표시를 합니다. 릴레이션 r에 속한 각 튜플과 릴레이션 s에 속한 각 튜플을 모두 연결해서 새로운 튜플로 결과 릴레이션을 구성을 하는데 해당 결과 릴레이션은요, 차수는요 차수라는 게 뭐예요? 열 개수 그죠 릴레이션 r과 s에 차수를 더한다. 릴레이션 r이 r은요, 예를 들어서 이렇게 차수가 3개고요. 릴레이션 s는 예를 들어서 이렇게 열의 개수가 2개예요.
20:27
그러면 결과 릴레이션의 차수는 몇 개 3 더하기 5개가 되고요. 차수 디그리는 5개가 되고요. 카데널러티는 여기 이제 입력 데이터 횡단이에요. 횡단위 입력 데이터 2고 이거는요 r과 s의 카데널리티를 곱한다. 예를 들어서 두 개 두 개라고 하게 되면 2 곱하기 2 해가지고 카드널리티는 4개가 되는데 뒤에 문제가 나옵니다. 문제 풀면 이해가 될 거예요. 다음 예입니다. 카티션 프로덕트 연산의 예인데요. r 릴레이션은 차수가 2고요. 차수가 2고요. 그다음에 괄호 3개 카데널리티는 3이에요. 이거 이거 개수 3개죠 3 s도 마찬가지 차수 디그리 디그리 차수가 2개고요.
21:26
그다음에 카데널리티가 3개예요. 카디널리티가 3개다 그런데 얘를 카티션 프로젝트 연산을 수행해서 만든 릴레이션은요, 차수는 하나 둘 셋 넷 합쳐서 4개예요. 그다음에 튜플스는요 튜플스는 곱해요. 얘가 3개고요. 얘가 3개예요. 그러면 3 곱하기 3 해 가지고 개수가 몇 개 만들어졌느냐 총 9개 만들어졌을 겁니다. 차수근 4개 그다음에 카디널티는 9 이렇게 릴레이션으로 만들어졌어요. 자 그 다음에 음 순서 관계 연산자는 그냥 연산자의 종류만 이해하시면 돼요. 연산자 종류 4가지가 있다. 순수 관계 연산자는 릴레이션 구조와 특성을 이용하는 연산자인데 연산자의 종류는 4가지인데 select 영어로도 나옵니다.
22:22
select project 조인 디비전 표시 기호는요 셀렉터는 시그마로 이렇게 시그마 그리스 소문자 시그마 프로젝트에는 파이 그다음에 조이는 이렇게 라미 넥타이 모양 디비전은 나누기 시그마는 셀렉터는 릴레이션 안에서 조건을 만족하는 투표를 반환한다. 셀렉트 모든 거 프라임 해당 멤버 테이블 웨어라고 하는 조건을 줘가지고 웨어 아이디가 아니면 주소가 서울시인 거 이런 식으로 해서 조건을 만족하는 걸 뽑아낸다 프로젝트는 주어진 속성의 값들로만 구성되어진 튜플을 반환한다. 조이는 공통 속성을 이용한 릴레이션 r과 s의 튜플을 연결하여 만들어진 새로운 튜플류를 반환한다. 디비전은 릴레이션 s의 모든 튜플과 관련이 있는 릴레이션 r의 튜플을 반환한다. 이렇게 되어 있는데요.
23:20
개념도 여기 보면 순수관계 연산자의 종류와 기능인데 셀렉트는 조건을 만족하는 것만 뽑아낸다는 말이에요. 이게 이제 촛불이라고 보면 돼요. 그런데 프로젝트는 쇠로의 길쭉이라고 해서 이렇게 쇠로이 길쭉이 이렇게 있습니다. 프로젝트는 릴레이션 r에서 주어진 속성들의 열이었잖아요. 속성들의 값으로만 구성되어진 튜플을 반환한다. 이렇게 돼 있었습니다. 그다음 조이는요 합치는 거죠. 조이는 연결하는 겁니다. 튜플들을 연결해가지고 연결해서 만들어진 새로운 튜플의 반환 마지막으로, 디비전은 해당 릴레이션 s의 모든 튜플과 관련이 있는 릴레이션 r의 튜플들을 반환 이렇게 돼 있는데, 개념만 종류만 구분할 수 있으면 돼요. 넘어갈게요 관계해석 한 페이지로 그냥 정리했는데 여기서도 한 문제 나옵니다. 관계해석 알짜만 뽑았어요.
24:19
관계해석 개념은 처리를 원하는 데이터가 무엇인가에 중심이 되어져서 기술을 하고 비절차적 언어다 순서적인 측면 자체를 따지는 게 아니다. 처리를 원하는 데이터가 뭐냐를 기술하는 언어다 수학의 프레디킷 해석이라고 하는 프레디킷 프레디킷 해석에 기반을 두고 있고요. 관계 해석의 분류 종류로는 슈플 관계 해석과 도메인 관계 해석 두 가지 있다. 그러면 뒤에 문제 위주로 정리해 보도록 하겠습니다. 관계 데이터 언어 퀴즈입니다. 릴레이션 r은 차수가 4야 열이 4개야 그리고 카디놀로티가 5개야 그러면 r은요, 이렇게 생겼다는 거예요.
25:15
하나 둘 셋 넷 다섯 개 하나 둘 셋 요렇게 열이 4개 카데널리티 네 이렇게 5개 이렇게 있다. r이고요. 그다음에 s는요 차수가 6이에요. 차수가 열이 6개라는 거예요. 둘 셋 넷 다섯 6개 그다음에 카를레이트가 7개예요. 하나 둘 셋 넷 다섯 여섯 일곱 개 이렇게 네 구성되어 있는데, 두 릴레이션을 카티션 프로덕트 카티션 프로젝트 한 결과 새로 만들어지는 릴레이션의 차수와 카디널리티는 어떻게 되느냐 카티션 프로젝트로 구하는 결과에 새로운 카티션은 차수는 더해 차수는 4와 6이니까. 더하면 차수는 10 이고요.
26:14
카디널로티는 곱해요. 그래서 r 카데널리티는 5고요. s 카디널티는 7이에요. 5 곱하기 7은 57에 35 정답은 3입니다. 차수는 10 카데널로티는 35 기출문제입니다. 다음 관계 해석에서요 이거는 제가 설명 안 했기 때문에 문제를 설명하려고 포함시킨 겁니다. 관계 해석 관계 해석에서 for 올 모든 것에 대하여를 의미하는 논리 기호는 뭔데 설명 안 드렸어요. 한번 설명드리면, 그냥 안 잊어버리고 기억할 수 있을 겁니다. for 이렇게 돼 있어요. 모든 것 a요 a를 거꾸로 뒤집어요. 그러면 이 모양이 나옵니다. 이게 모든 것을 의미하는 논리 기호예요. 그래서 정답은 3번이고요.
27:11
그 다음에 요거는요 이를 좌우반전시켰죠 존재하는 데오 이그지스트 데어 이그지스트를 나타내는 이그지스트 존재하는을 나타내는 논리 기호입니다. a는요 그다음에 이거는 부분함수 원소 원소 나타내는 거고, u는 이거는 합집합이죠. 합집합 나타내는 기호구 그래서 폴은 3번입니다. 시스템 카 어 시스템 카탈로그와 뷰인데 뷰는 저희가 sql 응용에서 먼저 다뤘습니다. 또 저기 소프트웨어 개발 파트의 데이터베이스 데이터 입출 구현에서도 뷰라는 부분을 또 저희가 학습을 미리 했어요. 시스템 카탈로그에 포커스를 두고 정리하시면 돼요. 시스템 카탈로그는요 앞서서 저희가 했던 것 중에 데이터 사전과 연관성이 있습니다.
28:02
데이터틱셔너리 자 데이터베이스의 객체인 사용자 릴레이션 뷰 인덱스 권한 등과 구조에 관한 모든 데이터를 포함하는 시스템 데이터베이스가 시스템 카탈로그야 매 회차 한 문제 시험 나옵니다. 카탈로그에 저장된 데이터를 메타데이터라고 해 데이터에 관한 데이터가 메타데이터죠 데이터 사전 부분에서 메타데이터라는 용어가 나왔습니다. 있어요. 시스템 카탈로그는 사용자 및 질의 최적화 모듈 등 dbms 자신의 구성 요소에 의해서 사용되고 시스템 카탈로그는 관계 데이터베이스마다 표준화가 되지 않아서 서로 약간 다를 수 있어 그리고 데이터 사전 또는 시스템 테이블이라고도 불린다 라고 돼 있습니다. 카테고리의 특징입니다. 시스템 카테고리는 사용자가 sqr문으로 내용을 검색을 할 수 있느냐 할 수 있어요.
29:00
사용자가 sqr문으로 내용검색은 가능해요. 근데 사용자가 sql문으로 사용이 불가능한 게 있어요. 그게 뭐냐 불가능한 거는 갱신은 안 돼요. 수정은 안 돼요. 보는 거는 되지만 사용자가 sql문으로 갱신은 불가능하다 이거 시험에 자주 나옵니다. 데이터베이스 관리 시스템에 의해서 생성 및 유지되어지고요. 사람에 의해서가 아니라 데이터베이스 관리 시스템에 의해서 생성 및 유지되고 기본 테이블 뷰 인덱스 등이 변경되면 자동으로 시스템 카테고리는 갱신되어집니다. 위치 투명적 및 중복 정류장 제어하기 위해서 모든 제어 정보 포함한다. 시스템 카테고리에 포함되어지는 내용의 예입니다. 릴레이션에 대한 정보 인덱스 관련되어진 정보 사용자와 관련되어진 사용자 계정 정보나 권한 정보 그다음 통계에 관련되어진 정보 가 시스템 카테고리의 내용입니다.
29:57
뷰 개념은요, 앞서 저희가 했기 때문에 개요도만 살펴보고 넘어갈게요 가상 테이블이에요. 물리적 테이블이 아니라 논리적 테이블입니다. 하나 이상이 물리적 테이블로부터 생성 가능합니다. 뷰의 장점은 논리적 독립성 사용자 데이터 관리가 용이 데이터 보안에 용이하다는 게 장점이었고 단점은 뷰 자체는 인덱스가 불가해 왜 논리 테이블이니까. 물리 테이블이 아니라 그리고 뷰의 정의가 변경이 안 된 뷰는 정의를 수정할 수 없어요. 옳다 구문으로 수정할 수 없고 지우고 다시 만들어야 돼요. 데이터 변경의 제약이 존재한다는 게 단점입니다. 시스템 카탈로그와 뷰에 대한 퀴즈 시스템 카탈로그에 대한 설명으로 틀린 것은 시스템 카탈로그는 dbms가 생성하고 유지하는 데이터베이스인데 특별한 테이블들의 집합 제한의 dbms가 생성을 유지한다. 맞습니다.
30:54
일반 사용자도 시스템 카테고리 내용을 검색할 수는 있소 맞습니다. 검색은 돼요. 보는 건 돼요. 시스템 카테고리 레이의 각 테이블은 dbms에서 지원하는 개체들에 대한 정보를 포함하고 있어 아까 다양한 릴레이션에 대한 정보 뷰에 대한 정보 다 있었죠. 시스템 카테고리에 대한 갱신 갱신 수정은 데이터베이스의 무결성을 유지하기 위해서 사용자가 직접 갱신하면 안 돼요. 그래서 4번이 틀렸습니다. 다음 모의평가 문제 이 회차는 중요한 게 많아서 여섯 문제 풀어볼게요 여섯 문제 다음 올레이션의 디그리하고요. 카네널리티가 어떻게 되느냐 디그리가 차수고요. 열수죠 열의 개수 몇 개 하나 둘 셋 네 개 디그리가 4 정답 바로 나왔네요. 1번 정답입니다.
31:52
보기 항목에서 카데넬러티는 이거 가로횡 3 1번 정답입니다. 2번 릴레이션의 특징으로 거리가 먼 것은 1번 모든 튜플은 서로 다른 값을 가져야 돼 맞습니다. 중복된 해당 튜플이 저장되면 안 된다. 그랬죠 모든 속성의 값은 원자값이어야 돼 더 분해할 수 없는 값이어야 된다. 튜플 사인은 순서가 없어 네 무순서라고 했고 각 속성은 유일한 이름을 가지며 속성의 순서는 큰 의미가 있어 이게 틀렸습니다. 속성의 순서도 무의미하다 라고 했었죠. 릴레이션특징 관계대수에 대한 설명으로 옳지 않은 것은 원하는 릴레이션을 정의하는 방법을 제공하며 비절차적인 언어이다. 관계대수는 처리 과정을 중시한다고 했고 절차적으로 해야 된다.
32:52
그래서 비례절차가 언어다 이게 틀렸습니다. 관계대수에 대한 설명도 옳지 않은 거니까 릴레이션 조직을 위한 연산의 집합으로 피해환산자와 결과가 모두 릴레이션이야 맞고요. 일반 집합 연산과 순수 관계 연산으로 구분돼 맞고요. 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시해야 된다. 맞습니다. 중요하기 때문에 제가 정답이 아닌 보기 항목도 읽으면서 계속 반복해서 설명을 드리는 거예요. 네 번째 관계 해석에 대한 설명으로 옳지 않은 것은 관계 해석은 수학의 preditic 해석에 기반을 두고 있어 같고요. 관계 데이터 모델의 제안자인 코드가 사람 이름입니다. 코드가 관계 데이터베이스에 적용할 수 있도록 설계하여 제안하였어. 맞고요. 튜플 관계 해석과 도메인 관계 해석 두 가지가 있어 네 맞습니다.
33:44
원하는 정보와 그 정보를 어떻게 유도하는가를 기술적으로 기술하는 절차적 특성을 가져 관계 해석은요, 절차가 중요하지 않았고 어떤 데이터 그리고 비절차적 특성을 가집니다. 비절차적 그래서 4번이 틀렸습니다. 절차적 특성은 관계대수가 대상이 됩니다. 5번 조건을 만족하는 릴레이션의 수평적 부분 집합으로 구성이 되어지고 연산자의 기호는 그리스 소문자인 시그마를 사용하는 관계대수연산은 뭔가 관계대수연산 중에서요 이 케이스는 집합 연산이 아니고요. 순수 연산 있었죠. 그 4개 중에 조건을 만족하는 릴레이션만 부분 집합으로 구하는 거는 시그마를 나타낸 건 뭐였냐면 셀렉트였습니다.
34:42
셀렉트 가 정답이고요. 프로젝트는 그리스 소문자로 파이를 나타냈고요. 조이는 이렇게 나비넥타이 모양 디비전은 나누기 이렇게 됐죠 마지막 6번 시스템 카탈로그에 대한 설명으로 옳지 않은 거 골라라 사용자가 직접 시스템 카탈고리 내용을 갱신하여 데이터 무게 요소를 유지할 수 있어 틀렸습니다. 데이터베이스 관리 시스템에 의해서 시스템 카탈로그는 갱신되고 무결승 유지됩니다. 사용자가 아닙니다. 시스템 자신이 필요로 하는 스키마 및 여러 가지 객체에 관한 정보를 포함하고 있는 시스템 데이터베이스에 맞고 시스템 카탈로그에 저장되는 내용을 메타데이터라고 해봤고 시스템 카탈로그는 dbms가 스스로 생성하고 유지한다. 맞습니다. 핵심 정리로 정리하겠습니다.
35:35
관계 데이터 모델은 실세계의 데이터를 행과 열로 구성되어진 표 형태로 저장하고 한 테이블의 필드 값을 이용하여 다른 테이블에 관련된 데이터를 찾는 식으로 검색하는 데이터 모델이다. 관계 데이터 모델 관련되어진 기본 용어로서 릴레이션 속성 어트리뷰트 튜플 도메인 차수 카디널 어티 이런 것들이 있었고, 구분할 수 있어야 돼요. 뭔가를 제시하려고 이거에 대한 설명 용어로 옳은 거 골라 이렇게 했을 때 릴레이션 특성과 무결성 제약 조건에 대한 개념도 정리해 둘 필요가 있습니다. 관계 데이터 모델의 연산이며 원하는 데이터를 얻기 위해서 릴레이션에 필요한 처리 요구를 수행하는 것으로 관계대수와 관계 해석 두 가지가 있었습니다.
36:25
관계대수에 대한 개념 연산자 종류 관계에 대해서는 일반 집합 연산자와 순수 관계 연산자 4개씩 해서 총 8개의 연산자를 사용을 했었고요. 관계 해석은 비절차적 언어 특성이 있었고, 데이터가 뭔데 라는 부분이었죠. 시스템 카탈로그와 부 뷰입니다. 마지막으로요 시스템 카탈로그는 데이터베이스 객체와 구조에 관한 모든 데이터를 포함하는 시스템 데이터베이스였고요. 뷰는 가상 테이블로 구성하는 데이터베이스 오브젝트로 별도의 저장 공간은 없지만, 뷰를 통해서 에스큐엘문 셀렉트 딜리트 업데이트 할 수 있었습니다. 이상으로 관계 데이터베이스 모델에 대해 살펴봤는데 이 내용 굉장히 시험에 자주 나오는 내용들로 구성되어 있기 때문에 꼭 숙지하시고 문제 반복해서 푸시면서 익혀놓으세요. 이상으로 마치겠습니다.
37:20
논리데이터베이스 설계의 두 번째 데이터모델링 및 설계에 대해 살펴보도록 하겠습니다. 학습 목표인데요. er 표기법 엔터티 릴레이션십 개체관계 표기법 즉 개체관계 다이어그램을 그릴 수 있는지라는 부분이라고 보시면 될 것 같고요. er표기법에 따라서 주제 영역별로 개체와 식별자를 포함한 속성을 도식화 그리고 그리고 개체 간의 관계 관계수 기수성이라고 하는 부분은 관계수를 이야기합니다. 1대1 1대 다 뭐 1대 다 관계 네 식별 및 비식별 관계를 도식화할 수 있다. 이알다의 그림을 그릴 수 있다.
38:04
두 번째 개체 및 속성 원자성과 속성 내에 더 분해할 수 없게끔 유일한 해당 속성 하나씩만 들어가게끔 원자성과 함수의 종속성을 분석하여 데이터베이스 정규화 논리 데이터베이스 파트에서요 논리 논리적 데이터베이스 설계에 있어서 제일 키포인트가 데이터베이스의 정규화입니다. 그래서 정규화 문제는 데이터베이스 구축 파트에서 두 문제 이상 꼭 나옵니다. 정규화 대상 개체를 도출하고 데이터베이스의 정규화를 수행할 수 있다. 중요한 부분입니다. 논리데이터모델에 대하여 정확성 완전성 준거성 최신성 일관성 활용성이라고 하는 여섯 가지의 품질 기준을 적용을 하고 세부 내용은 뒤에 살펴보도록 하겠고요.
38:58
개체 속성 관계에 대하여 체크리스트를 작성한 후에 검증 결과에 따라 논리 데이터 모델 품질 검증 결과서를 작성할 수 있다. 라는 세 가지의 학습 목표를 갖고 내용 살펴보도록 하겠습니다. 내용은요, 총 5가지인데 이 파트는 해당 ncs 학습 모듈하고 내용이 좀 많이 상이합니다. 다르기 때문에 해당 강의 ppt 중심적으로 학습하시기를 권해드립니다. 데이터 모델 개념에서부터 개체 관계 모델 논리적 데이터 모델링 데이터베이스 정규와 논리 데이터 모델 품질 검증인데 이 중에서 중요한 부분 자체는 첫 번째 두 번째 네 번째 위주로 보시면 좋을 것 같고, 찝어서 말씀드릴게요. 중요한 거 자 용어 사전에서는 데이터 모델하고요. 그다음에 이상 현상에 대해서 간단히 살펴보고 내용 보도록 하겠습니다.
39:53
데이터 모델이란 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화 그리고 추상화 앱스트럭션 해서 체계적으로 표현한 개념적 모델이 데이터 모델입니다. 그리고 이상현상이라는 건 말 그대로 이상하다 이상하다 불필요한 데이터 중복으로 인해서 원인은 불필요한 데이터 중복으로 인해서 릴레이션에 대한 릴레이션은 테이블이라고 보시면 돼요. 릴레이션에 대한 데이터의 삽입 변동 사항이 되는 것 삽입 수정 삭제 트랜잭션이라고 이야기하죠. 해당 이러한 연산을 수행할 때 발생할 수 있는 부작용이 이상 현상이냐 본 내용 보도록 하겠습니다. 데이터 모델부터 보도록 하겠는데 데이터 모델 개념에서 데이터베이스의 개발 절차는 어떻게 돼 먼저 요구사항 분석을 하죠. 요구사항 분석을 한 다음에 전략 수립 단계에서 개념적 데이터 모델링을 수행을 합니다.
40:53
결과치는 이알 다이어그램을 그리게 됩니다. 개체관계 다이어그램을 그리게 되고 분석 단계에서 논리적 데이터 모델링 그리고 설계 단계에서 물리적 데이터 모델링 그리고 개발 단계에서 데이터베이스를 구축을 해서 운영 시스템 내에 데이터베이스가 만들어져요 자 먼저요 데이터 모델에 대한 개념입니다. 데이터 모델의 정의 부분 이 문구를 잘 좀 정리를 해 주시는 게 좋습니다. 문제화해서 나오기가 좋아요. 또 기출문제도 나왔고 데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위하여 단순한 추상화하는 체계적으로 표현한 개념적 모형이라고 되어 있고요. 데이터 모델링이라고도 하고 데이터 모델이라고도 하는데 차이는 뭔가요 어디 모델링이라고 하는 부분 자체는 ing죠 과정이죠. 모델링을 통해서 만들어진 결과가 모델이에요.
41:53
이렇게 구분하시면 되겠습니다. 자 데이터 모델의 종류 세 가지 있어요. 데이터 모델은 개념적 데이터 모델 논리적 데이터 모델 물리적 데이터 모델이 있습니다. 그리고 데이터 모델의 구성 요소 세 가지 자 저희 필기는 시험 문제 유형이 사지삼답형이죠. 객관식 그러면 여기다가 엉뚱한 보기 하나 추가시켜 가지고 다음 중 데이터 모델 구성 요소가 아닌 거 골라 이렇게 문제화되기 쉽겠죠. 네 그래서 꼭 기억하세요. 데이터 모델의 구성 요소는 개체 속성 관계 밑에 있는 것도 마찬가지 데이터 모델에 표시할 요소도 세 가지거든요. 구조 연산 제약 조건 세부 내용을 뒤에 살펴보겠는데 이 첫 번째 페이지에 있는 이 내용들 조금 중요합니다. 데이터 모델의 개념에서 데이터 모델링 절차 모델링은 과정이라고 말씀드렸어요. 순서적인 부분 순서적인 부분이 이렇게 올라갑니다.
42:50
개념적 데이터 모델링 다음 논리적 데이터 모델링 다음 물리적 데이터 모델링 이렇게 돼 있고요. 해당 개념된 데이터 모델링을 통한 산출적인 부분은 er 다이어그램 엔터티 엔터테 릴레이션십 다이어그램 개체관계 다이어그램 그리게 되고 논리적 데이터 모델링에서는 각 개념을 구체화하고 erd 개체관계 다이어그램을요 rdb 관계형 데이터베이스 모델하고 사상은 맵핑시킨다. 매치시킨다. 라고 보시면 돼요. 그리고 상세 속성을 정의하고 정규화 여기가 제일 중요 파트인데 어디에서 정규화 과정을 진행한다. 논리적 데이터 모델링 과정에서 종교화를 지정합니다. 그리고 물리적 데이터 모델링에서는 개체와 인덱스 등 생성 그리고 데이터베이스 개체종이 테이블 및 인덱스를 설계한다.
43:44
데이터 모델 개념에서 첫 번째 데이터 모델 개념적 데이터 모델부터 살펴보면 개념적 데이터 모델은 비슷한 정의들입니다. 보면 문구가 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다. 그리고 속성들로 기술되어진 개체타입 개체는 나중에 관계형 데이터베이스에서는 테이블로 표시가 되어지죠 테이블은 가로 행과 세로 열이 만나서 테이블을 만 테이블을 구성하잖아요. 구성하는데 속성은 세로 열입니다. 세로 열 부분이 속성이고요. 그리고 가로 행 부분이 레코드가 됩니다.
44:30
레코드 자 속성들로 기술되어진 개체 타입과 이 개체들 간의 관계를 이용하여 현실 세계를 표현한다는 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하기 때문에 이 과정을 뭐라고 하느냐 정보 모델링 그리고 만들어진 결과는 뭐다 정보 모델이라고 합니다. 대표적인 개념적 데이터 모델로서는 er 모델이 있다. 엔터티 개체 r 릴레이션십 관계 개체관계 모델이 있습니다. 밑에 예시로 er 다이어그램을 하나 그려놨어요. 고객과 예약서 간에 선이 연결되어 있기 때문에 관계가 있는데, 중간에 어떤 관계가 있느냐 예약이라는 관계가 있어 고객이 예약을 해서요. 예약서를 작성한다. 이 말이고요. 관계수는 한 사람이 예약서를 여러 개 작성할 수 있다. n은 그리고 동그라미는 속성입니다.
45:29
고객이 가지고 있는 속성은 번호 이름 예약서는 예약번호 수량 뒤에 더 구체적으로 볼게요 두 번째 데이터 모델의 종류 논리적 데이터 모델입니다. 일반적으로 데이터 모델이라고 한다면, 빨갛게 표시되어 있는 것부터 먼저 설명드릴게요. 논리적 데이터 모델을 의미를 합니다. 논리적 데이터 모델의 정의는 한 내용도 앞서서 데이터 모델과 개념적 데이터 모델하고 비슷해요. 우선은 개념적 모델링 과정에서 얻은 개념적 구조를 개념적 모델링 다음 단계가 논리적 데이터 모델링이니까. 개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계화의 환경에 맞도록 변환하는 과정이 논리적 데이터 모델 입니다. 논리적 데이터 모델은 필드가 새로 열이에요.
46:22
필드로 구성되어진 기술되어진 데이터 타입과 그리고 이 데이터 타입 간의 관계를 이용하여 현실 세계를 표현한다. 이렇게 보시면 될 것 같고요. 특정 데이터베이스 관리 시스템 dbms는 특정 논리적 데이터베이스 모델 하나만 선정하여 사용한다. 이렇게 돼 있고 논리적 데이터 모델의 종류는 다시 관계모델 대표적인 겁니다. 대표적으로 그래서 저희가 관계 데이터 모델 먼저 학습을 했었어요. 그리고 종류에서는 계층 모델도 있고 네트워크 모델도 있는데, 이 부분은 상세하게는 제가 설명을 안 드릴게요. 네 세 번째 데이터 모델의 종류 물리적 데이터 모델입니다. 물리적 데이터 모델은요, 논리적 데이터 모델에서 레코드의 상세 스펙 등을 기술한 모델로 실제 컴퓨터에 데이터가 저장되는 방법을 정의한다. 데이터베이스 개체 정의와 테이블 및 인덱스 등 설계하는 부분이 여기에 해당됩니다. 다음 데이터 모델의 구성요소입니다. 세 가지 있었죠.
47:22
데이터 모델 구성요소 기억하셔야 돼요. 개체 관계 먼저 개체부터 살펴봅니다. 네 개체가 엔터티예요. 개체는 데이터베이스에 표현하려는 것인데 사람이 생각하는 개념이나 정보 단위와 같은 현실 세계의 대상체가 개체야 파일 시스템에서는 레코드에 대응한다고 되어 있습니다. 파일 시스템에서 레코드라는 부분은 부분은 필드의 모임이 레코드예요. 엑셀에서요 레이 예를 들어 출석부가 있다고 가정할게요 출석부에서 성명이 있어요. 성명은 하나의 필드예요. 이름이 홍길동인 사람 손 들어 하니까 한 명이 아니라 두 명이 손 들었어요. 정확한 정보가 아니죠. 정보이긴 해요. 예를 들어서 20명 중에 두 명이 골라졌으니까 그런데 필드는 불완전한 정보 표현 단위라고 이야기를 합니다.
48:16
그런데 학번이 2110 구인 홍길동 하게 되면 두 개가 조합되면서 전데요. 라고 한 사람이 딱 남습니다. 그래서 두 개 이상의 필드가 모여서 구성하는 단위가 레코드 단위고 완전한 정보 표현 단위가 됩니다. 파일 시스템의 레코드에 대응하는 게 개체다 어떤 정보를 제공하는 역할을 수행해 이렇게 돼 있고요. 독립적으로 존재하거나 그 개체로 구분이 가능합니다. 유일한 식별자에 의해서 식별되어진다 다른 개체와 하나의 사람의 관계를 가진다 라는 특징이 있습니다. 속성입니다. 속성은 데이터베이스를 구성하는 가장 작은 논리적 단위가 된다. 이 정의 문구도 시험에서 이렇게 제시해놓고요. 데이터베이스를 구성하는 가장 작은 논리적 단위에 해당하는 걸 고르세요. 1번 개체 2번 속성 3번 관계 4번 엉뚱한 거 이렇게 하면 속성을 고를 수 있게끔 이 개념 잡아 적립하셔야 돼요.
49:16
파일 구조상에서는 데이터 항목 또는 데이터 필드 열입니다. 밑에 보면 교수 개체라고 해서 표가 하나 제시되어져 있는데, 속성이라는 게 이 열을 이야기합니다. 교수 번호 성명 전공 이게 각각의 속성 열 필드 필드 네 그다음에 인제 교수 번호 네 성명 전공 소속이 데이 객체 타입이 되고 그다음에 담겨진 각각의 교수의 횡단위별이 인스턴트가 됩니다. 게스트의 인스턴트 다음 관계로 넘어갈게요 관계는 개체하고 개체 사이에 서로 논리적으로 연결되어 있다라는 부분을 뜻하고요. 관계의 종류는 1대1로 하나당 하나씩 연결되어졌다 1대1 또는 1대 다 대 다 와 같은 관계가 있습니다.
50:13
네 다음 넘어갈게요 데이터 모델에 표시할 요소도 세 가지 데이터 모델을 표시할 요소는요 구조와 연산과 제약 조건이 있는데, 마찬가지 설명 문구를 보고 해당 요소를 고를 수 있을 정도로 매칭시켜 놓으시면 좋을 것 같고, 구조 structure는 먼데 논리적으로 표현되어진 개체들 간의 관계로서 관계로서 데이터 구조 및 정적 성질을 표현한다고 되어 있고요. 연산에는 뭔가 동작이에요. 데이터베이스에 저장되어진 실제 데이터를 처리하는 작업 처리하는 작업에 대한 명세 구체적인 어떤 설명으로서 데이터베이스를 조작하는 기본 도구가 된다. 마지막으로, 제약조건은 아시죠. 뭔가 제약적인 부분을 주는 거죠. 데이터 위에 저장할 수 있는 실제 데이터의 논리적 제약 조건 세 가지 데이터 모델에 표시할 요소입니다.
51:09
자 해당 학습한 내용 문제 가지고 정리해 볼게요 문제 나올 수 있는 유형입니다. 데이터베이스의 설계 순서로 옳은 것을 고르라 이렇게 나오면 어 설계는 안 했는데 설계가 모델링이라고 생각하시면 돼요. 그래서 데이터베이스의 모델링 순서로 옳은 것을 골라라 이렇게 이해를 하시고 푸시면 되는데 자 아까 모델링의 절차는 개념적 데이터 모델링 논리적 데이터 모델링 물리적 데이터 모델링 그 순서로 있는 거 찾아보세요. 제일 처음은 요구조건 분석부터 시작했어요. 그다음이 개념적 논리적 물리적 1번이 정답입니다. 개념적 설계 논리적 설계 물리적 설계 구현 다음 두 번째 어트리비트에 대한 설명으로 틀린 것을 골라라 이렇게 돼 있습니다. 속성에 대한 설명 중 틀린 거 속성은 개체의 특성을 기술을 해요. 아까 교수 개체에서 보면 교수 번호 이름 각각의 하나의 특성이죠.
52:08
속성은 데이터베이스를 구성하는 가장 작은 논리적 단위입니다. 맞죠. 속성은 파일 구조상 데이터 항목 또는 데이터 필드에 해당되어져요 맞습니다. 마지막 틀렸는데 왜 틀렸느냐 속성의 수를 카디넬로티라고 한다. 속성의 수는 테이블에서 테이블을 구성하는 속성은 해당 열이라고 했어요. 열의 개수 열의 개수는 디그리입니다. 디그리 관계 데이터 모델에 관련되어진 용어 네 문제 잘 나온다고 말씀드렸어요. 그래서 틀린 것은 속성의 수는 카데놀로티가 아니라 디그리입니다. 다음 세 번째 데이터 모델에 표시할 요소 중에 데이터베이스에 표현되어질 대상으로서 개체 타입과 개체들 간의 관계를 서술한 것이다.
52:59
이게 뭔데 데이터 모델에 표시할 요소 세 가지는 스트럭처 구조 오퍼레이션 연산 그다음에 제약 조건 이 세 가지였죠 여기서 어떤 관계를 서술한 어떤 구조적 측면에 대한 거 뭐야? 스트럭처죠 1번이 정답입니다. 자 두 번째 내용으로 개체 관계 모델에 대해 살펴보도록 하겠습니다. 개체 관계 모델은요, 개념적 데이터 모델의 가장 대표적이다. 1976년에 피터 chan에 의해서 제안되어졌습니다. 개체 관계 모델 er 모델은요, 개체 타입과 이들의 관계 타입을 이용해서 현실 세계를 개념적으로 표현한다. er 모델에선 데이터를 개체와 관계와 속성으로 묘사하고요.
53:50
그리고 개체 간의 관계는 1대1 1대 n은 1대 다 1대 다 그리고 n 대 m은 다 대다 등의 관계 유형으로 제한 없이 나타낼 수 있다. 그리고 최초 개체 관계 속성과 같은 개념들이 나타났지만 이걸로 구성했다가 나중에는 일반 계층과 같은 복잡한 개념이 첨가된 확장된 모델로 발전해 왔습니다. 이 개체관계 모델에서는 시험에 자주 나오는 부분은 뭐냐 하면 er 다이어그램입니다. 개체관계 다이어그램에 대한 기호 기호가 어떤 기능으로 표현하는지 이런 부분들의 문제형이 자주 나왔어요. er 다이어그램은 er 모델의 기본 아이디어를 이해하기 쉽도록 기호를 사용해서 시각적으로 표현한 그림이라고 되어 있고요. 최초로 제안했던 인원 대상자가 feature chan이었죠.
54:41
그래서 erdier라는 표기법은 fit20의 표기법과 그리고 정보공학 영어로 인포메이션 엔지니어링 머릿결만 따내면 i e ie 표기법이라고도 합니다. ie 표기법 정보공학 표기법 그 다음에 바커 표기법 이 세 가지가 있어요. 우선 다이어그램적인 측면에서는 피트 차인의 표기법 이게 시험에 자주 나와요. 그래서 기호를 제시해놓고, 의미 이렇게 매칭한다든지 아니면 기호의 이름은요, 사각형은 개체를 나타내요 마름모는 속성을 나타내요 이러면 틀린 거예요. 마름모는 관계를 나타냅니다. 이렇게 구분하게끔 익히셔야 돼요.
55:24
기호사경은 개체 타입 개체를 나타내고 마름모는 관계 그리고 원은 타원은 속성 그리고 이중 타원은 다중값 속성이라고 해서 복합 속성 그다음에 동그라미 밑줄 쫙 그어져 있는 부분은 얘는 기본키라고 해서요.
55:44
개체를 구분할 수 있는 고유 식별자 교수 개체에서는 교수 번호 학생 개체에서는 학번이라는 것들을 가지고 고유하게 누구다 라는 걸 알 수 있게끔 구분할 수 있는 기본키 그리고 복수타운이라는 분은 복합 속성이다 라고 하면 이름 같은 경우에는 성씨와 이름 홍길동 그런 케이스가 복수타운 여기 이름은 성은 홍이고 그다음에 이름은 길동 이렇게 자 그다음에 관계는 1:1일 때 다르다 관계가 있고 그다음에 선이 개체 타입과 속성을 연결하는 부분이 됩니다. 이알다익은 표기법 세 가지 있었죠. 피터 차이너 표기법이 있고요. 그다음에 정보공학 표기법이 있고요.
56:38
바커 표기법이 있는데, 일반적으로 개체 간의 관계는 피터체 표기법을 많이 사용하고요. 그다음에 보면 관계에 대한 부분은 개체와 개체 간의 관계를 나타내는 부분 자체는 정보공학 표기법을 많이 사용을 하는 편입니다. 그래서 이 뒤에 우선은 피터 체인의 표기법 기준으로 해서 개체는 사각형 그다음에 개체가 가지고 있는 속성은 타원형 기본 키는 밑줄 이렇게 그어가지고 구분되어지게끔 했고 그다음에 관계는 마름모 정보공학 표현법에서는 해당 개체 이름이 위에 사각형 밖에 벗어나서 이름이 있고요. 그다음에 해당 사각형이 이렇게 구분선으로 구분되어 있는 위에 있는 게 얘가 기본키입니다. 기본키가 되고요. 그다음 밑에 있는 건 속성입니다. 그리고 바커 표입과 같은 경우에는 타원형 이렇게 모서리가 둥근 사각형으로 돼 있고요.
57:36
제일 상단에 개체 이름 그다음에 샵이 표시되어져 있는 게 이게 기본키예요. 근데 표입법에 약간 차이가 있습니다. 그리고 관계에다가 이 관계에 대한 동작적인 부분을 여기서는 표기를 해서 고객이 주문서를 주문한다. 주문서는 고객의 주문을 받는다. 이렇게 관계의 표현 및 이해 부분에서는 정보공학 표기법 위주의 관계에 익혀 놓으시면 좋을 것 같아요. 1대1은요, 이렇게 연결선에 이렇게 수직선으로 이렇게 꺼면 1대1 이렇게 1대1 그다음에 동그라미가 있는 부분은 없다는 말이에요. 한 사람이 주문을 할 수도 있고 안 할 수도 있죠. 주문이라고 한다고 친다면 주문을 안 할 수도 있어요.
58:28
그런 경우에는 0 동그라미 1:0 또는 여기 끝에 또 수직선이 있으니까 1대1 그래서 여기 관계가 보면 1:0 또는 1대1 관계는 이렇게 나타내 바커 표기법에서는 점선으로 이렇게 해가지고 실선 이렇게 하는데 바커 표기법보다는 정보공학 표기법이 많이 쓰입니다. 일대다는요 이렇게 까치발 형태로 해가지고 새 발자국처럼 이렇게 해서 까치발이라고도 해요. 일대다 1대1 또는 1대 다 1대0 또는 1대1 또는 1대 다 관계가 밑에 있는 건 다 가집니다. 자 문제 유형 이렇습니다. 이알 다이어그램이 구성 요소에 대한 표현으로 틀리기 작전인 걸 골라라 이렇게 돼 있습니다. 네 개체 집합은 직사각형 맞죠. 관계집합은 마름모 맞죠. 속성은 원이에요. 속성은 원 맞죠.
59:27
원으로 표시합니다. 링크는 화살표예요. 링크는 선이죠. 그래서 틀린 것은 4번입니다. 다음 논리적 데이터 모델링에 대해 살펴보겠는데 간단하게만 살펴보도록 하겠습니다. 이 부분은 다른 파트에서 저희가 다뤘던 내용이라서 중복되는 부분은 짧게 논리적 데이터 모델링의 정의입니다. 개념적 데이터 모델링 다음에 논리적 데이터 모델링 그다음이 물리적 데이터 모델링 이어지고 er 다이어그램으로 표현되어진 개념적 구조를 데이터베이스에 저장할 형태로 표현한 논리적 구조로 정의하는 과정이 논리 데이터 모델링이고요. 해당 정확한 업무 분석을 위해서 자료 흐름을 분석할 때 사용하는 대상으로 양식이나 문서나 장표와 같은 것을 중심으로 자료 항목을 추출을 해서요. 추출된 엔터티와 속성과 관계를 구조적으로 정의하는 단계가 되겠습니다.
1:00:23
논리적 데이터 모델링의 특성은 해당 요구사항을 충분히 수집하지 못하면 다음 단계에서 변동사항이 생기게 되면 오히려 요구사항 변경에 따른 많은 비용이 발생할 수도 있다. 그리고 모든 이해 당사자와 의사소통의 보조 자료로 엔터티 릴레이션 모델을 사용하고 논리적 모델은 하류어나 소프트웨어에 종속적이지 않고 아직은 인디펜던트 독립적입니다. 물리적 데이터 모델링은 특정한 데이터베이스 관리 시스템을 사용한다. 그렇게 되면 그 해당 데이터베이스 관리 시스템 내에 또 sql문이라든지. 쿼리나 이런 문법이 약간 다릅니다. 네 그래서 종속적일 수 있어요. 그런데 논리적 데이터 모델은 하류어나 소프트웨어에 종속적이지 않는 단계입니다. 그리고 종류는 관계 데이터 모델 계층 데이터 모델 네트워크 데이터 모델이 있습니다. 간단하게 살펴봤지만 여기서 문제 뽑을 수 있는 유형은 이렇습니다.
1:01:22
데이터베이스 설계 시 논리적 설계 단계에 대한 설명으로 옳지 않은 것은 사용자 요구에 대한 트랜잭션을 모델링한다. 사용자 요구에 대한 트랜잭션을 모델링하는 부분은 요구사항 분석 단계에 있는 개념적 데이터 모델에 해당이 되어져요 그래서 1번이 틀렸습니다. 트랜잭션 인터페이스를 설계한다. 관계형 데이터베이스에서 테이블을 설계하는 단계이다. 맞고요. dbms 데이터베이스 관리 시스템에 앉는 논리적 스키마를 설계한다. 다음 데이터베이스 정규화 중요하다고 말씀드렸는데 해당 저희가 데이터베이스 정규화를 상세하게 다뤘던 파트는 두 번째 과목인 소프트웨어 설계 과목의 첫 번째였던 데이터 입출력 구현에서요 정규화 이 내용을 좀 더 상세하게 다뤘습니다.
1:02:20
그 부분을 참조하셔도 되고 저희는 이 파트에서는요 기출문제 중심적으로 문제 이용 중심적으로 반복 트레이닝 하는 거에 포커스 맞춰서 학습하겠습니다. 먼저 데이터베이스 정규화의 필요성입니다. 데이터베이스 정규화는 왜 필요한가 불필요한 데이터의 중복으로 인해 이게 원인이 되는 겁니다. 릴레이션에 대한 네 해당 테이블 데이터베이스에 데이터의 저장 단위는 테이블이죠. 테이블의 데이터를 변화를 주려고 해요. 그 변화의 종류가 삽입 추가시키려고 하고 기존에 저장되어 있는 걸 수정한다든지 또는 기존에 저장된 걸 삭제한다든지 이러한 변화를 주는 연산들 이게 트랜잭션이죠. 트랜잭션을 수행하려고 하는데 안 된다는 거예요. 부작용이 생길 수 있다. 그래서 그 문제를 정규와 노멀리제이션을 통해서 이상현상 그러한 부작용이 이상현상이에요.
1:03:12
이상현상의 종류는 삽입 이상 갱신수정 이상 삭제 이상이 있을 수 있겠죠. 삽입은 사유 안 된다는 거고, 수정은 수정이 안 된다는 거고, 삭제는 엉뚱한 게 삭제된다. 이 말입니다. 자 정교화 정교화는 중복성을 최소화하고 정보의 일관성을 보장하기 위한 개념이야 릴레이션을 관련 있는 속성들로만 관련 있는 속성들로만 구성되도록 릴레이션의 테이블을 네 붙여가는 게 아니라 분할해 가는 분해해 가는 과정입니다. 자 종교화 문제 반드시 시험 문제 데이터베이스에서 두 문제 꼭 나온다고 생각하시고요. 반드시 익혀 놓으세요. 해당 이 그림을요 나중에 시험 보실 때 자주 보세요. 시험 보기 전에 꼭 보고 들어가셔 가지고 정규화가 되지 않은 경우가 비정규형입니다.
1:04:09
비정규형이고 여기 nf라고 돼 있는 부분 자체가 해당 n이 노멀리제이션의 머릿걸이예요. 정규 정규 그리고 f는 폼이에요. 형 노멀리제이션 폼이 nf예요. 그래서 1nf 이렇게 하게 되면 제1정규형 자 비정규형을요 제1 정규형이 되도록 하는 그 과정 처리가 제1 정규화 작업입니다. 제1 정규화 작업은 어떤 작업을 하느냐 속성에 필드에 반복되는 속성이나 그룹 속성을 제거를 해서 더 분해할 수 없는 상태 원자값이라고 이야기해요. 원자값 즉 중복 속성을 제거한다. 이게 제1 정규화 작업입니다.
1:04:59
중복 속성 제거하는 게 제1 정규화 그 다음에 제1 정규형을 제2 정규형으로 만드는 과정은 제2 정규화 과정인데 주식별자의 완전하게 종속되지 않는 부분종속성 제거 장황하게 설명하는 보기보다는 이렇게 짤막하게 설명하는 보기가 나와요. 그렇기 때문에 제1정규화는 중복 속성 제거 제2 정규화는 부분 종속성 제거 이렇게 암기하시면 좋아요. 이 정규형에서 제3정규형으로 되는 과정은 제3정규화입니다. 비식별자에 종속되는 속성제거라고 돼 있는데, 이 설명보다는 이거요 이행종속성 이행 종속성 제거 이행 종속성 제거라고 하는 부분은 해당 나중에 저기 문제에서 나옵니다. a가 a는 b야 b는 c로 이렇게 되어 있습니다.
1:05:57
a는 그러면 c가 되냐 꼭 그렇지 않거든요. 그렇게 된다라고 하는 게 이행 종속성인데 그걸 제거하는 게 제3 정규화입니다. 그리고 제3 정규형을 bcnf는 보이스 코드 정규형입니다. 보이스 코드 정규형이 되게끔 하는 부분은 이거는 뭐 제4 정규화가 아니라 후보키가 아닌 후보키가 아닌 결정자를 제거 후보키가 아닌 결정자 제거 이렇게 설명도 되고요. 결정자이면서 후보키가 아닌 것을 제거한다. 그렇게도 표현되어집니다. 3 정규형에서 보이스코드 정규형이 되는 과정은 처리 절차는 후보 기간이 결정자 제거이고요. 보이스코드 정규형을 제4 정규형이 되게끔 하는 제4 정규화 과정은 다치 종속성 제거 다치 종속성 제거 이렇게 그냥 암기하세요.
1:06:52
마지막은요, 제4정규형을 제5정규형으로 만드는 네 제5정규화 과정은 조인종속성 제거 조인종속성 제거 합치는 부분의 양입니다. 조인시킨다. 이것을 반복해서 저희가 문제 풀면서 다시 익힐게요 정기관리 목적은 중복 배제로 데이터 관리 편의성 제고 및 자료 저장 공간의 최소화 그리고 데이터 모형 단순화 구조의 안정성과 무결성 유지 그리고 속성 배열 상태 검증 엔터티 속성의 노력 여부 검증 수단 그리고 자료 검색 및 추출의 효율성 추구되고 정규화의 특성이 오히려 시험에 자주 나오는데 제일 마지막에 보세요. 정규화가 완료되어진 데이터 모델은 어떤 특성이 있다. 정확하고 일치 그리고 단순 그리고 중복성이 아닙니다. 비중복성 마지막 안정성을 보장한다. 문제 풀면서 정리하겠습니다. 데이터베이스 정규화 문제 유형입니다.
1:07:50
다음 정규화에 대한 설명으로 틀린 걸 골라라 데이터베이스의 개념적 설계 단계에서 수행한다. 틀렸습니다. 언제 데이터베이스 설계 과정 중 단계 중에 논리적 설계 단계에서요 개념적이 아니라 이게 중요합니다. 논리적 설계단계 에 키 포인트가 종교화라고 그랬어요. 네 그래서 틀린 건 일 번입니다. 개념적 설계 단계가 아니라 논리적 설계 단계에서 수행하고요. 데이터 구조의 안정성을 최대화한다. 중복을 배제해서 삽입 삭제 갱신이 갱신의 이상이 발생이 안 되게끔 한다. 방지한다. 맞고요. 데이터 삽입할 때 릴레이션 재구성할 필요성을 줄인다 맞습니다. 다음 문제 다음 정의에서 말하는 기본 정규형은 뭐 네니 기본 정규화가 아니라 정규형을 묻습니다. 정규화 과정을 거쳐서 만들어진 결과치를 묻는 거예요.
1:08:46
어떤 릴레이션 r에 속한 모든 도메인이 원자값을 갖는다 더 분해할 수 없는 네 단계의 값을 갖는다 이거는 뭐예요? 제1정규화가 중복속성 제거였어요. 제1정규화인 중복 속성을 제거한 결과로 만들어진 게 제1정규형입니다. 그래서 표기는 제1정규형 1nf라고 표기합니다. 정답은 1번입니다. 정규화 과정을 거쳐서 만들어진 결과치 네 제1 정규화 과정을 거쳐서 만들어진 결과치는 제1 정규형이고 제2 정규화 과정을 거쳐서 만든 결과치는 제2 정규형이라 3번입니다. 3nf는 3정규형이죠.
1:09:38
그리고 bcnf는 보이스코드 정규형인데 3정규형에서 보이스코드 정규형이 되기 위한 조건은 뭔데 후보키가 아닌 결정자 제거 또는 결정자이면서 후보키가 아닌 거 그 설명 찾아보세요. 결정자이면서 후보키가 아닌 거 제거 4번이 정답이고요. 좀 더 트레이닝 해볼까요? 이행적 함수 종속 제거는 뭘까요? 요거는 제 몇 정규화 3정규화 제3정규화 이행적 함수 종속제거 부분적 함수 종속제거는 제2정규화 이렇게 반복 트레이닝을 하겠습니다. 제2정규화 다치종속제거는 제 4종규화 과정이 되겠습니다.
1:10:34
자 논리 데이터 모델 품질 검정 이게 마지막 부분인데요. 논리 데이터 품질 검정 부분은 해당 좋은 데이터 모델이 되는 조건하고요. 그다음 바로 뒤에 보면 데이터 모델 품질 검정 기준이라고 여섯 개 있는 거 그냥 해당 요건적인 부분 설명이 제시됐을 때 구분할 수 있는 정도만 개념 정리만 하고 넘어갈게요 좋은 데이터 모델의 조건은 완전해야 돼 완전성 그리고 중복이 없어야 돼 중복 베이징 그리고 어떠한 비즈니스 룰을 가지고 있어야 돼 업무 규칙이라든지. 수많은 업무 규칙을 데이터 모델로 표현하고 이를 해당 데이터 모델을 활용하는 모든 사용자가 그 규칙을 공유할 수 있게 제공해야 돼 데이터 재사용 수행이 가능해야 된다. 안정성이 있고 활용성이 높아야 돼 간결해야 돼 의사소통이 가능해야 돼 그리고 통합적인 어떠한 기능도 있어야 돼 네 라고 하니 몇 가지인가요?
1:11:32
둘에 여섯 여덟 가지 요건이 좋은 데이터 모델의 조건이 됩니다. 다음 데이터 모델 품질 검정 기준 6개입니다. 6개 6개인데 내용이 많아서 제가 슬라이드별로 3개 3개씩 이렇게 해놓았는데요. 마찬가지 해당 의미와 기준 개념 정립 매치할 수 있을 정도만 익히고 넘어갈게요 정확성 정확하다는 거죠. 데이터 모델이 표기법에 따라서 정확하게 표현이 되어졌느냐 네 업무 영역 또는 요구사항이 정확하게 반영되어졌느냐를 의미한다. 완전성 완전성 데이터 모델의 구성요소를 정의하는 데 있어서 누락 없이 누락 없이 빠지는 거 없이 완전하게 표현이 잘 됐느냐 준거성이라는 건 정해져 있는 규칙을 잘 따랐느냐 어떤 데이터 표준이나 표준화 규칙을 잘 준수했느냐라는 게 준거성이고요.
1:12:27
그리고 최신성은 현행 최신의 현행 어떤 상태를 반영하고 있느냐 일관성은 해당 내용 자체가 왔다 갔다 이렇게 바뀌지 않고요. 개체가 일관성 있게 사용이 되어졌느냐 모델 표현상의 일관성을 유지하고 있느냐 마지막으로, 활용성 해당 이게 여러 파트에서 활용이 되어지느냐 작성된 설명 내용이나 모델표기 등이 사용자로 모델을 보는 사람에게 충분히 이해가 될 수 있고 모델의 작성 어휘들을 명확하게 이해할 수 있느냐 데이터 모델의 유연성을 가지고 있느냐 이러한 기준 항목에 해당되는 게 활용성입니다. 자 모의평가를 정리하고요. 해당 내용 정리할게요 1번 현실 세계의 정보들을 컴퓨터가 표현하기 위하여 단순화 추상화하여 체계적으로 표현한 개념적 모형을 무엇이라고 하는가? 제일 첫 번째죠 데이터 모델에 대한 정의 문구입니다.
1:13:26
데이터 모델 논리적 모델 물리적 모델 이렇게 있는데, 데이터 모델의 다시 하위 종류가 개념적 모델 논리적 모델 물리적 모델이죠. 현재 설명문구에서는 데이터 모델을 정의하고 있습니다. 2번입니다. 개체 관계 모델의 er 다이어그램에서요 개체 관계 다이어그램에서 사용하는 기호와 그 의미 연결이 옳지 않은 것 틀린 걸 골라라고 되어 있습니다. er 다이어그램에 대한 기호 문제 한 문제 나올 확률이 높습니다. 사각형 개체였죠 개체 사각형 개체 그다음 삼각형 속성 틀렸습니다. 속성 뭐였죠 동그라미 타원형 네 그래서 이번 틀렸고 선은 해당 연결을 뜻하고 마름모는 관계야 네 맞습니다. 3번입니다. 정규화의 목적으로 옳지 않은 것은 어떤 릴레이션이라도 데이터베이스 내에 표현을 가능하게 만든다. 맞고요.
1:14:26
데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다 네 오케이 맞구요. 삽입 수정 삭제 이상을 중복을 제거해서 방지한다. 정규형 목적이었고 중복을 배제하여 배제하여 삽입삭제 갱신의 이상 발생 이상 발생을 야기한다. 이게 틀렸습니다. 호능되죠. 여기까지는 맞아요. 발생까지는요 발생을 야기라는 걸 일으킨다는 말인데 일으키는 게 아니라 안 일어나게 막는다 방지한다. 방지한다란 표현이 맞는 표현이고 야기한다는 아닙니다. 효과적인 검색 알고리즘을 생성할 수 있다. 다음 정규화 과정에서요 a가 b가 되고 b는 c가 될 때 a는 c라고 하는 관계가 형성될 수 있는데, 이걸 제거하는 단계는 뭐야? 네 옮겨가는 거죠.
1:15:26
옮겨가는 거 그래서 이걸 이행이라고 이야기합니다. 트랜스 트랜지션요리 그걸 막는다 이행종속 제거라는 부분은 몇 정규화였냐면요 네 제3정규화였어요. 제3정규화 과정을 거쳐서 만든 정규용은 뭘까요? 제3정규용이겠죠. 그러면 제2정규형에서 제3정규형이 되는 그 과정에 적용되어지는 게 제3정규화이니까. 제2정규형에서 제3정규용 사이의 단계 그래서 2번이 정답입니다. 마지막 5번입니다. 정규화 문제 명확하게 익히세요.
1:16:08
정규화 과정 중에 bcnf에서 4nf가 되기 위한 조건은 뭔데 보이스코드 정규형에서요 4정규형이 되기 위한 조건 이 과정에서 적용하는 정규화의 단계는 재사정규화이겠죠. 제사정규화는 뭐다 제사정규화는 다치종속제거가 제4정규화였습니다. 조임 종속성 이용이 아니라 제거라고 하는 부분은 제5 정규화이고요. 이행적 종속 함수 종속 제거가 제3 정규화 결정자이면서 후복 기간의 함수 종속은 제3 정규형에서 보이스코드 전기용이 되는 과정 있죠. 여기서는 제4 정규화를 묶고 있기 때문에 보이스코드 전기용에서 4 전기용이 되기 위한 조건은 제4 정규화 다치 종속 제거입니다.
1:17:09
네 핵심 정리 다시 한번 되짚어 볼게요 키포인트 데이터 모델 개념입니다. 데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위하여 단순한 추상화하여 체계적으로 표현한 개념적 모형이야 데이터 모양의 종류요 세 가지 있습니다. 개념적 데이터 모델 물리적 논리적 데이터 모델 물리적 데이터 모델 그리고 데이터 모델 구성 요소도 세 가지 네 세 가지 있어요. 시험에 자주 나올 수 있어요. 개체 속성 관계 데이터 모델을 표시할 요소도 세 가지 구조 연산 제약 조건 두 번째 개체 관계 모델에서는 er 다이어그램의 기호별 해당 의미 매치시켜서 기억하시면 좋을 것 같아요.
1:17:53
사각형 개체 마름모 관계 타원형 속성 그다음에 밑줄 그어진 원형은 기본키 선은 해당 개체 타입 속성 연결 논리적 데이터 모델링은 er 다이어그램으로 표현한 개념적 구조를 데이터베이스에 저장한 형태로 표현한 논리적 구조를 정의하는 과정이고 논리적 모델은 하드웨어와 소프트웨어에 의존적이지 않고 독립적이다. 종류는 관계 데이터 모델 계층 데이터 모델 네트워크 데이터 모델이 있다. 데이터 전개가 중요하다고 말씀드렸어요. 밑에 있는 해당 이 그림을 출력을 해서 자주 보세요. 아예 머릿속에 암기해버리세요. 자주 보셔가지고, 두 문제는 꼭 나온다고 생각하시면 돼요.
1:18:42
중복성을 최소화하고 정보의 일관성 보장을 위해서 릴레이션을 관련 있는 속성들로 구성되도록 릴레이션을 분해하는 과정이 정교화 과정이고 제1 정교화부터 제5 정교화까지 있다. 1 정규화는 비정규형을 제1 정규형으로 만드는 과정이고 중복 속성 제거 제2 정규화는 부분 종속성 제거 제3 정규화는 이행 종속성 제거 그리고 제3 정규형을 보이스코드 정규형으로 만드는 과정은 후복기가 아닌 결정자 제거 보이스코드 정규형을 제4정규형으로 만드는 제4정규화 과정은 다체 종속성 제거 마지막으로, 제4정규화를 정규형을 제5정규형으로 만드는 과정은 제5정규화 조인종속성 제거 암기하세요.
1:19:33
논리 데이터 모델 품질 검정에서는 좋은 데이터 모델 조건으로서 8가지 조건 완전성 중복 제거 비즈니스 룰 데이터 재사용 안정성 및 활용성 간결성 의사소통 통합성 있었고, 데이터 모델 품질검정 기준은 정확성 완전성 준거성 최신성 일관성 활용성이 있었습니다. 이상으로 데이터 모델링 및 설계 마치도록 하겠습니다.
'정보박사 정보처리기사 필기강의 > 데이터베이스 구축' 카테고리의 다른 글
정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 5.데이터 전환 (0) | 2025.05.26 |
---|---|
정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 4.물리 데이터베이스 설계 (0) | 2025.05.26 |
정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 2.SQL 활용 (0) | 2025.05.24 |
정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 1.SQL 응용 (0) | 2025.05.24 |