목차
소개
개요
목차
정규화 란 무엇입니까?
첫 번째 정상 형태 (1NF)
두 번째 정상 형태 (2NF)
세 번째 정상 형태 (3NF)
실용적인 예 : 모든 것을 함께 가져옵니다
결론
자주 묻는 질문
기술 주변기기 일체 포함 SQL로 정규화를 구현하는 방법은 무엇입니까?

SQL로 정규화를 구현하는 방법은 무엇입니까?

Apr 21, 2025 am 10:05 AM

소개

어수선한 차고를 잘 조직 된 밝은 조명 공간으로 바꾸는 것을 상상해보십시오. 데이터베이스의 세계 에서이 프로세스를 정규화라고합니다. 깔끔한 차고가 효율성을 향상시키는 것처럼 구성된 데이터를 가진 잘 구조화 된 데이터베이스가 더 잘 수행됩니다. 더 배울 준비가 되셨습니까? 이 기사는 실제 SQL 예제와 함께 처음 세 가지 정상 형태 인 1NF, 2NF 및 3NF를 탐구합니다. 데이터베이스 설계 경험에 관계없이보다 효율적이고 확장 가능한 데이터베이스를 구축하는 방법을 배웁니다. 데이터를 최적화 할 준비가 되었습니까? 시작하자!

개요

  • SQL을 사용하여 데이터베이스 정규화의 핵심 원칙과 목표를 파악하십시오.
  • 원자 값과 1 차 키를 보장하기 위해 첫 번째 정규 양식 (1NF)을 적용하십시오.
  • 두 번째 정규 형태 (2NF)를 달성하기 위해 부분 종속성을 식별하고 제거합니다.
  • 전이 의존성을 제거하여 세 번째 정상 형태 (3NF)의 요구 사항을 충족 시키십시오.
  • 실제 SQL 쿼리를 사용하여 정규화 된 데이터베이스 구조를 구현하십시오.

SQL로 정규화를 구현하는 방법은 무엇입니까?

목차

  • 소개
  • 정규화 란 무엇입니까?
    • 첫 번째 정상 형태 (1NF)
    • 두 번째 정상 형태 (2NF)
    • 세 번째 정상 형태 (3NF)
  • 실용적인 예 : 모든 것을 함께 가져옵니다
  • 결론
  • 자주 묻는 질문

정규화 란 무엇입니까?

정규화는 관계형 데이터베이스 설계의 중요한 측면입니다. 중복성을 최소화하고 데이터 무결성을 향상시켜 데이터 구성을 간소화합니다. 이 프로세스에는 데이터베이스를 여러 테이블로 나누고 확립 된 규칙에 따라 데이터베이스 간의 관계를 정의하여 데이터 이상을 줄입니다. 각 정상적인 형태를 자세히 살펴보고 원리를 요약하고 실용적인 SQL 예제로 설명해 봅시다.

첫 번째 정상 형태 (1NF)

목표 : 각 테이블에 기본 키가 있는지 확인하고 모든 열에 원자 (불가분의) 값이 포함되어 있습니다. 테이블은이 규칙을 준수하는 경우 1NF를 만족시킵니다.

  • 원자 값 : 각 열은 행 당 하나의 값만 유지해야합니다.
  • 고유 한 열 이름 : 각 열에는 고유 식별자가 있어야합니다.
  • 주문 독립성 : 데이터 저장 순서는 관련이 없습니다.

예:

반복 그룹이있는 정규화되지 않은 테이블을 고려하십시오.

ORDERID 커스텀러 이름 제품 수량
1 존 도 펜, 연필 2, 3
2 제인 스미스 노트북, 지우개 1, 2

ProductsQuantities 열에 여러 값이 포함되어 있기 때문에이 테이블은 1NF를 위반합니다.

1NF로 변환 :

ORDERID 커스텀러 이름 제품 수량
1 존 도 2
1 존 도 연필 3
2 제인 스미스 공책 1
2 제인 스미스 지우개 2

SQL 구현 :

 테이블 주문 생성 (
    Orderid int,
    CustomerName Varchar (255),
    제품 varchar (255),
    수량 int,
    기본 키 (OrderId, 제품)
);
로그인 후 복사

두 번째 정상 형태 (2NF)

목표 : 테이블이 1NF이고 모든 비 키 속성이 전체 기본 키에 완전히 의존하는지 확인하십시오. 이것은 복합 기본 키가있는 테이블과 관련이 있습니다.

2NF 달성 단계 :

  • 1NF 준수 : 테이블은 이미 1NF를 준수해야합니다.
  • 부분 종속성 제거 : 비 키 속성이 그 일부가 아니라 전체 기본 키에 의존하는지 확인하십시오.

예:

1NF의 테이블을 고려하지만 부분 종속성을 나타냅니다.

ORDERID CustomerId productId 수량 커스텀러 이름
1 1 1 2 존 도
2 2 2 1 제인 스미스

여기에서 CustomerName Composite 키 ( OrderID , ProductID )가 아닌 CustomerID 에만 의존합니다.

2NF 로의 변환 :

  1. OrdersCustomers 위한 별도의 테이블 작성 :

주문 테이블 :

ORDERID CustomerId productId 수량
1 1 1 2
2 2 2 1

고객 테이블 :

CustomerId 커스텀러 이름
1 존 도
2 제인 스미스

SQL 구현 :

 테이블 주문 생성 (
    Orderid int,
    CustomerId int,
    productid int,
    수량 int,
    기본 키 (OrderId, productID)
);

테이블 고객 만들기 (
    CustomerID int 기본 키,
    CustomerName Varchar (255)
);
로그인 후 복사

세 번째 정상 형태 (3NF)

목표 : 테이블이 2NF에 있고 모든 속성이 기본 키에만 의존하는지 확인합니다.

3NF 달성 단계 :

  • 2NF 준수 : 테이블은 이미 2NF 요구 사항을 충족해야합니다.
  • 전이 의존성 제거 : 비 키 속성이 다른 비 키 속성에 의존하지 않도록하십시오.

예:

2NF의 테이블을 고려하지만 전이 의존성이 있습니다.

ORDERID CustomerId productId 수량 ProductName
1 1 1 2
2 2 2 1 공책

여기서는 ProductName OrderID 에 직접적으로가 아닌 ProductID 에 따라 다릅니다.

3NF 로의 변환 :

  1. OrdersProducts 에 대한 별도의 테이블 작성 :

주문 테이블 :

ORDERID CustomerId productId 수량
1 1 1 2
2 2 2 1

제품 테이블 :

productId ProductName
1
2 공책

SQL 구현 :

 테이블 주문 생성 (
    Orderid int,
    CustomerId int,
    productid int,
    수량 int,
    기본 키 (OrderId, productID)
);

테이블 고객 만들기 (
    CustomerID int 기본 키,
    CustomerName Varchar (255)
);

테이블 제품 생성 (
    ProductId int 기본 키,
    ProductName Varchar (255)
);
로그인 후 복사

실용적인 예 : 모든 것을 함께 가져옵니다

이 비정규 데이터부터 시작하겠습니다.

ORDERID 커스텀러 이름 제품 수량
1 존 도 펜, 연필 2, 3
2 제인 스미스 노트북, 지우개 1, 2

1 단계 : 1NF로 변환합니다

다중 값 열을 원자 값으로 별도로 분리합니다.

ORDERID 커스텀러 이름 제품 수량
1 존 도 2
1 존 도 연필 3
2 제인 스미스 공책 1
2 제인 스미스 지우개 2

2 단계 : 2NF로 변환합니다

부분 종속성을 식별하고 별도로 분리합니다.

  1. 주문 테이블 :

ORDERID CustomerId productId 수량
1 1 1 2
1 1 2 3
2 2 3 1
2 2 4 2
  1. 고객 테이블 :

CustomerId 커스텀러 이름
1 존 도
2 제인 스미스
  1. 제품 테이블 :

productId ProductName
1
2 연필
3 공책
4 지우개

3 단계 : 3NF로 변환합니다

전이 의존성을 제거하여 기본 키에 대한 직접적인 종속성을 보장합니다.

  • 2 단계의 테이블은 모든 비 키 속성이 기본 키에만 의존하기 때문에 이미 3NF를 만족시킵니다.

결론

이 기사는 SQL 정규화를 구현하는 방법을 보여주었습니다. SQL 정규화 마스터 링은 강력하고 효율적인 데이터베이스를 구축하는 데 중요합니다. 처음 세 가지 정상 형태 (1NF, 2NF 및 3NF)의 원리를 이해하고 적용함으로써 중복성을 크게 줄이고 데이터 무결성을 향상시킬 수 있습니다. 이는 데이터 관리를 단순화 할뿐만 아니라 전체 데이터베이스 성능을 향상시킵니다. 이러한 실용적인 SQL 예제를 사용하면 복잡한 구조화 된 데이터 세트를 효율적이고 잘 구조화 된 데이터베이스로 변환 할 수 있습니다. 데이터베이스가 안정적이고 확장 가능하며 쉽게 유지 관리 할 수 ​​있도록 이러한 기술을 구현하십시오.

자주 묻는 질문

Q1. 데이터베이스 정규화 란 무엇입니까?

A. 데이터베이스 정규화는 데이터 중복성을 줄이고 데이터 무결성을 향상시키기 위해 일련의 소위 정상 형태에 따라 관계형 데이터베이스를 구성하는 프로세스입니다.

Q2. 정규화가 중요한 이유는 무엇입니까?

A. 정규화는 데이터 복제를 최소화하고 데이터 일관성을 보장하며 데이터베이스 유지 관리를 단순화합니다.

Q3. 정상적인 형태는 무엇입니까?

A. 정상 형태는 정규화 과정에서 단계를 나타냅니다 : 1NF (제 1 정규 형태), 2NF (두 번째 정상 형태) 및 3NF (세 번째 정상 형태) 등.

위 내용은 SQL로 정규화를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

창의적인 프로젝트를위한 최고의 AI 아트 발전기 (무료 & amp; 유료) 창의적인 프로젝트를위한 최고의 AI 아트 발전기 (무료 & amp; 유료) Apr 02, 2025 pm 06:10 PM

이 기사는 최고의 AI 아트 생성기를 검토하여 자신의 기능, 창의적인 프로젝트에 대한 적합성 및 가치에 대해 논의합니다. Midjourney를 전문가에게 최고의 가치로 강조하고 고품질의 사용자 정의 가능한 예술에 Dall-E 2를 추천합니다.

Meta Llama 3.2- 분석 Vidhya를 시작합니다 Meta Llama 3.2- 분석 Vidhya를 시작합니다 Apr 11, 2025 pm 12:04 PM

메타의 라마 3.2 : 멀티 모달 및 모바일 AI의 도약 Meta는 최근 AI에서 강력한 비전 기능과 모바일 장치에 최적화 된 가벼운 텍스트 모델을 특징으로하는 AI의 상당한 발전 인 Llama 3.2를 공개했습니다. 성공을 바탕으로 o

최고의 AI 챗봇 비교 (Chatgpt, Gemini, Claude & amp; more) 최고의 AI 챗봇 비교 (Chatgpt, Gemini, Claude & amp; more) Apr 02, 2025 pm 06:09 PM

이 기사는 Chatgpt, Gemini 및 Claude와 같은 최고의 AI 챗봇을 비교하여 고유 한 기능, 사용자 정의 옵션 및 자연어 처리 및 신뢰성의 성능에 중점을 둡니다.

컨텐츠 생성을 향상시키기 위해 AI를 쓰는 최고 AI 작문 컨텐츠 생성을 향상시키기 위해 AI를 쓰는 최고 AI 작문 Apr 02, 2025 pm 06:11 PM

이 기사는 Grammarly, Jasper, Copy.ai, Writesonic 및 Rytr와 같은 최고의 AI 작문 조수에 대해 논의하여 콘텐츠 제작을위한 독특한 기능에 중점을 둡니다. Jasper는 SEO 최적화가 뛰어나고 AI 도구는 톤 구성을 유지하는 데 도움이된다고 주장합니다.

AV 바이트 : Meta ' S Llama 3.2, Google의 Gemini 1.5 등 AV 바이트 : Meta ' S Llama 3.2, Google의 Gemini 1.5 등 Apr 11, 2025 pm 12:01 PM

이번 주 AI 환경 : 발전의 회오리 바람, 윤리적 고려 사항 및 규제 토론. OpenAi, Google, Meta 및 Microsoft와 같은 주요 플레이어

AI 에이전트를 구축하기위한 상위 7 개의 에이전트 래그 시스템 AI 에이전트를 구축하기위한 상위 7 개의 에이전트 래그 시스템 Mar 31, 2025 pm 04:25 PM

2024는 콘텐츠 생성에 LLM을 사용하는 것에서 내부 작업을 이해하는 것으로 바뀌는 것을 목격했습니다. 이 탐사는 AI 요원의 발견으로 이어졌다 - 자율 시스템을 처리하는 과제와 최소한의 인간 개입으로 결정을 내렸다. buildin

직원에게 AI 전략 판매 : Shopify CEO의 선언문 직원에게 AI 전략 판매 : Shopify CEO의 선언문 Apr 10, 2025 am 11:19 AM

Shopify CEO Tobi Lütke의 최근 메모는 AI 숙련도가 모든 직원에 대한 근본적인 기대를 대담하게 선언하여 회사 내에서 중요한 문화적 변화를 표시합니다. 이것은 도망가는 트렌드가 아닙니다. 그것은 p에 통합 된 새로운 운영 패러다임입니다

최고의 AI 음성 생성기 선택 : 최고 옵션 검토 최고의 AI 음성 생성기 선택 : 최고 옵션 검토 Apr 02, 2025 pm 06:12 PM

이 기사는 Google Cloud, Amazon Polly, Microsoft Azure, IBM Watson 및 Destript와 같은 최고의 AI 음성 생성기를 검토하여 기능, 음성 품질 및 다양한 요구에 대한 적합성에 중점을 둡니다.

See all articles