---
title: "데이터 종속성과 정규화"
id: "511"
type: "post"
slug: "374"
published_at: "2010-06-15T21:45:58+00:00"
modified_at: "2010-06-15T21:45:58+00:00"
url: "https://dworld.deios.kr/374/"
markdown_url: "https://dworld.deios.kr/374.md"
excerpt: "함수종속 어떤 릴레이션 R에서 X와 Y를 의 애트리뷰트 집합의 부분집합이라 하자. X의 값 각각에 대해 시간에 관계 없이 Y의 값이 오직 하나만 연관되어 있을 때 Y는 X에 함수종속이라 하고 X →Y로 표기한다. 이 때, X를 결정자, Y를 종속자라고 한다. 제..."
taxonomy_category:
  - "Study"
---

#### 함수종속

  
어떤 릴레이션 R에서 X와 Y를 의 애트리뷰트 집합의 부분집합이라 하자. X의 값 각각에 대해 시간에 관계 없이 Y의 값이 오직 하나만 연관되어 있을 때 Y는 X에 함수종속이라 하고 X →Y로 표기한다. 이 때, X를 결정자, Y를 종속자라고 한다.

  
#### 제 1 정규형(1NF)

  
어떤 릴레이션 R에 속한 모든 도메인이 원자값만으로 되어 있다면 제 1 정규형이라고 한다.

  
#### 제 2 정규형(2NF)

  
릴레이션 R이 1NF고, 기본키에 속하지 않은 애트리뷰트 모두가 기본키에 완전 함수 종속일때 제 2 정규형이라고 한다.

  
#### 제 3 정규형(3NF)

  
릴레이션 R이 2NF고, 기본키에 속하지 않은 애트리뷰트 모두가 기본키에 이행적 함수 종속이 아닐 때 제 3 정규형이라고 한다.

  
#### 보이스/코드 정규형(BCNF)

  
어떤 릴레이션 R의 모든 결정자가 후보키일 때 보이스/코드 정규형이라고 한다.

  
### 제 4 정규형(4NF)

  
어떤 릴레이션 R에 다치종속 MVD A -》B가 존재할 때, R의 모든 애트리뷰트가 A에 함수종속이면 제 4 정규형이라고 한다.

  
### 제 5 정규형(5NF)

  
어떤 릴레이션 R에 존재하는 모든 조인종속이 후보키를 통해서만 이루어진다면 제 5 정규형이라고 한다.

### 이 글 공유하기:

- [Facebook으로 공유하기 (새 창에서 열림)Facebook](https://dworld.deios.kr/374/?share=facebook)
- [X에 공유 (새 창에서 열림)X](https://dworld.deios.kr/374/?share=x)
-

### 이것이 좋아요:

좋아하기로드 중...

### *관련*

### 관련된 글:

1. [고속 네트워크 프로토콜의 목적과 수행과정](https://dworld.deios.kr/370/)
2. [OpenCV 파일 저장기능 구현2](https://dworld.deios.kr/402/)
3. [Drag and Drop 지원하기](https://dworld.deios.kr/404/)
4. [정지영상 캡춰기능 구현](https://dworld.deios.kr/422/)

## Similar Posts

- [https://dworld.deios.kr/402/](https://dworld.deios.kr/402/) “OpenCV 파일 저장기능 구현(http://deios.kr/401)”에 파일 저장기능과 파일 열기기능을 강화해 보도록 하겠습니다. 먼저 “새 이름으로 저장”시 자동으로 확장자를 추가하기 위해서 OnFileSaveAs함수를 수정하겠습니다. 수정 전 CFileDialog dlgFile(TRUE); CString fileName; const int c_cMaxFiles = 100; const int c_cbBuffSize = (c_cMaxFiles * (MAX_PATH + 1)) + 1; dlgFile.GetOFN().lpstrFile = fileName.GetBuffer(c_cbBuffSize); dlgFile.GetOFN().nMaxFile = c_cbBuffSize; int chk = dlgFile.DoModal(); fileName.ReleaseBuffer();… ### 이 글 공유하기: - [Facebook으로 공유하기 (새 창에서 열림)Facebook](https://dworld.deios.kr/402/?share=facebook) - [X에 공유 (새 창에서 열림)X](https://dworld.deios.kr/402/?share=x) - ### 이것이 좋아요: 좋아하기로드 중...
- [https://dworld.deios.kr/395/](https://dworld.deios.kr/395/) 제가 참여하고 있는 AR Study에서 IDE는 Visual Studio 2010(vs2010)을, SDK는 OpenCV 2.1를 이용하기로 결정하였습니다. VS2010에서 OpenCV 2.1을 이용하는 방법에 대해서 알아보겠습니다. 먼저 OpenCV 2.1을 다운받습니다. VS2010을 이용할 예정이지만, VS2008용으로 미리 컴파일 된 바이너리를 사용하겠습니다. http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.1/OpenCV-2.1.0-win32-vs2008.exe/download 최신버전인 OpenCV 2.2를 사용하지 않는 이유는 OpenCV 라이브러리들의 이름이 다 바뀌었습니다. 저는 귀찮은게 젤 싫기 때문에 이름이 동일한 OpenCV 2.1을… ### 이 글 공유하기: - [Facebook으로 공유하기 (새 창에서 열림)Facebook](https://dworld.deios.kr/395/?share=facebook) - [X에 공유 (새 창에서 열림)X](https://dworld.deios.kr/395/?share=x) - ### 이것이 좋아요: 좋아하기로드 중...
- [https://dworld.deios.kr/407/](https://dworld.deios.kr/407/) 이번에는 본격적으로 OpenCV를 사용하여 영상처리를 해 보겠습니다. 그 첫 단계로 메뉴기반 정지영상 처리를 해 볼 것이며, cvSplit함수를 사용하여 RGB 컬러공간을 분리하는 예제를 구현해 보겠습니다. 먼저 OpenCV 2.1 C API Reference에서 cvSplit함수를 찾아보면 다음과 같습니다. cvSplit함수는 다중 채널(Multi-channel)배열을 여러 개의 단일 채널(Single-channel) 배열로 분할하거나, 배열에서 단일 채널을 추출 할 수 있음을 알 수 있습니다. 또한,… ### 이 글 공유하기: - [Facebook으로 공유하기 (새 창에서 열림)Facebook](https://dworld.deios.kr/407/?share=facebook) - [X에 공유 (새 창에서 열림)X](https://dworld.deios.kr/407/?share=x) - ### 이것이 좋아요: 좋아하기로드 중...
- [https://dworld.deios.kr/405/](https://dworld.deios.kr/405/) 이번 시간에는 열려있는 모든 창을 닫는 기능을 구현해 보도록 하겠습니다. 먼저 리소스 뷰를 보기 좋게 꺼내어 두는게 좋겠죠? [보기] → [다른 창] → [리소스 뷰]를 클릭합니다. 이번엔 메뉴 바에 해당 기능을 추가할 예정입니다. 리소스 뷰에서 [Menu] → [IDR_*TYPE]을 선택한 후 그림과 같이 지정합니다. Caption : 모든 창 닫기 ID : ID_FILE_CLOSE_ALL Prompt : 열려진… ### 이 글 공유하기: - [Facebook으로 공유하기 (새 창에서 열림)Facebook](https://dworld.deios.kr/405/?share=facebook) - [X에 공유 (새 창에서 열림)X](https://dworld.deios.kr/405/?share=x) - ### 이것이 좋아요: 좋아하기로드 중...
- [https://dworld.deios.kr/422/](https://dworld.deios.kr/422/) 이번 내용도 후딱 넘어가겠습니다. 이전 시간까지 Cam에서 영상을 받아와 Dialog로 뿌려주는 부분을 했었죠? 이번 시간에는 이 동영상의 스틸 컷(Still Cut)을 만들 수 있게 정지영상으로 캡춰하는 기능을 구현해 보도록 하겠습니다. 참고로 동영상으로 저장하고 싶다면 cvReleaseVideoWriter, cvWriteFrame, cvReleaseVideoWriter를 적절하게(?) 쓰시면 됩니다. 정지영상 캡춰기능은 정말 간단합니다. 버튼 하나 만들구요, 그 버튼을 누르면… 전에 만들었던 전역 함수 기억하시죠?… ### 이 글 공유하기: - [Facebook으로 공유하기 (새 창에서 열림)Facebook](https://dworld.deios.kr/422/?share=facebook) - [X에 공유 (새 창에서 열림)X](https://dworld.deios.kr/422/?share=x) - ### 이것이 좋아요: 좋아하기로드 중...
- TCP의 폭주제어에서 예약방식을 못 쓰고 피드백 기반 방식을 사용하여야 하는 이유를 설명하시오. 예약 방식의 경우 데이터 전송 중 경로상의 라우터에서 폭주 혹은 에러가 발생했을 경우 송신자는 계속 데이터를 보내게 되어 혼잡이 가중된다. 이를 해결하기 위해 피드백 방식을 사용한다.송신자는 약간의 데이터만 전송하여 도착 여부를 확인 후 점점 전송량을 늘려간다. 이처럼 네트워크의 상태에 따라 송신측에서 전송량을 조절하여야 한다…. ### 이 글 공유하기: - [Facebook으로 공유하기 (새 창에서 열림)Facebook](https://dworld.deios.kr/372/?share=facebook) - [X에 공유 (새 창에서 열림)X](https://dworld.deios.kr/372/?share=x) - ### 이것이 좋아요: 좋아하기로드 중...

### 댓글 남기기[응답 취소](/374/?t=1785445370#respond)
