+ Completes all 36 slides with a consistent format and example.
- Some definitions are oversimplified around primary rather than candidate keys.
an Academic PowerPoint Presentation Designer.
| Category | Office work › Slides |
|---|---|
| Tags | DraftingIdeationCollege studentSlides |
Act as an Academic PowerPoint Presentation Designer. You are an expert in curriculum design and have extensive experience in crafting professional academic presentations. Your task is to: - Develop a comprehensive presentation on a specific topic using the provided content. - Include clear learning objectives at the beginning of the presentation to enhance understanding and engagement. - Organize content into structured units that facilitate easy following and comprehension. - Ensure the presentation comprises 30 to 40 slides, balancing detailed explanation with conciseness. - Design slides with a professional and uniform style focusing on clarity of text and ease of reading. - Use appropriate visual elements such as tables, charts, and icons to illustrate information and enhance understanding. - Maintain a balance between text and visuals to prevent cluttering slides. Rules: - Tailor the content to suit undergraduate and graduate university students and faculty members while maintaining a formal and educational tone. - Add speaker notes to each slide to aid explanation during the presentation. - Ensure the presentation is easily editable and customizable for future use.
Useful for creating slides for university classes or academic presentations. It targets undergraduate and graduate students and faculty, keeping a formal educational tone.
ChatGPT is strongest in completeness, specificity, and compliance. Gemini is detailed but incomplete, while Claude mostly describes unverified deliverables.
+ Completes all 36 slides with a consistent format and example.
- Some definitions are oversimplified around primary rather than candidate keys.
+ Clearly summarizes the 39-slide structure and editing options.
- Claims unverified deliverables without providing the actual slides.
+ Provides detailed early-slide content and substantial speaker notes.
- Stops at slide 15 and fails the required 30–40-slide delivery.
| Criterion | ChatGPT | Claude | Gemini | Leader |
|---|---|---|---|---|
| Instruction following | 9 | 3 | 4 | ChatGPT +125% |
| Accuracy | 8 | 4 | 5 | ChatGPT +60% |
| Specificity | 9 | 7 | 8 | ChatGPT +13% |
| Structure | 9 | 8 | 7 | ChatGPT +13% |
| Right length | 8 | 7 | 3 | ChatGPT +14% |
Scored 1–10 by gpt-5.6-sol with model names hidden (2026-09-24). This is an AI review, not a measurement.
We gave three models the same input and copied their answers unedited. Each ran in its CLI (an agent harness), and answers in the ChatGPT or Claude apps or on the web may differ. Outputs are in Korean.
[Pasted material] 대학교 3학년 '데이터베이스 개론' 수업용 강의 슬라이드를 만들어야 합니다. 주제는 '관계형 데이터베이스 정규화(1NF~BCNF)'이고 아래 강의노트를 참고해주세요. [강의노트 요약] - 정규화 목적: 데이터 중복 최소화, 삽입/삭제/갱신 이상(anomaly) 방지 - 1NF: 원자값만 허용, 반복 그룹 제거 - 2NF: 부분 함수 종속 제거 - 3NF: 이행적 함수 종속 제거 - BCNF: 모든 결정자가 후보키여야 함 - 실습 예시: '수강신청' 테이블(학번, 과목코드, 교수명, 강의실, 학점)을 단계별로 정규화 - 참고 교재: Elmasri & Navathe, 「Fundamentals of Database Systems」 7판, 8~9장 - 수강생: 한국공대 컴퓨터공학과 3학년 45명
현재 작업공간은 읽기 전용이라 .pptx 파일을 직접 저장할 수 없습니다. 대신 PowerPoint에 바로 옮길 수 있도록 36장 분량의 슬라이드 원고와 슬라이드별 발표자 노트를 구성했습니다.
#16324F, 청록 #2A9D8F, 오렌지 #F4A261, 연회색 #F5F7FA관계형 데이터베이스 정규화
1NF에서 BCNF까지
시각 요소: 테이블 아이콘과 연결선 그래픽
발표자 노트:
이번 시간에는 관계형 데이터베이스의 정규화 원리를 이해하고, 수강신청 데이터를 1NF부터 BCNF까지 단계적으로 변환합니다.
수업 후 학생은 다음을 할 수 있다.
발표자 노트:
정규화 규칙을 암기하는 것보다, 함수 종속을 근거로 릴레이션을 설계하는 것이 핵심입니다.
시각 요소: 단계형 로드맵
발표자 노트:
각 정규형은 이전 단계의 문제를 추가로 해결하는 방식으로 이해하면 됩니다.
정규화(Normalization)
핵심 질문:
“하나의 사실은 데이터베이스에 몇 번 저장되어야 하는가?”
발표자 노트:
정규화는 단순히 테이블을 많이 만드는 작업이 아니라, 데이터 간 의미 있는 종속 관계를 분리하는 작업입니다.
예시: 수강신청 테이블
| 학번 | 과목코드 | 교수명 | 강의실 | 학점 |
|---|---|---|---|---|
| 2023001 | DB101 | 김교수 | 공학관 301 | 3 |
| 2023002 | DB101 | 김교수 | 공학관 301 | 3 |
| 2023003 | DB101 | 김교수 | 공학관 301 | 3 |
문제:
발표자 노트:
현재 테이블은 수강 사실과 과목 정보를 하나의 릴레이션에 함께 저장하고 있습니다.
수강생이 없으면 신규 과목 정보를 입력하기 어렵다.
마지막 수강생을 삭제하면 과목 정보까지 사라질 수 있다.
강의실 변경 시 동일 과목의 여러 행을 수정해야 한다.
시각 요소: 세 가지 이상을 아이콘 카드로 표현
발표자 노트:
이상은 데이터가 잘못 입력되는 문제라기보다, 설계 때문에 정상적인 업무가 불편하거나 위험해지는 문제입니다.
함수 종속 표기:
X → Y
의미:
예시:
발표자 노트:
함수 종속은 속성 간의 업무 규칙을 표현합니다. 정규화는 결국 함수 종속을 올바른 테이블 구조로 바꾸는 과정입니다.
튜플을 유일하게 식별할 수 있는 속성 집합
최소성을 만족하는 슈퍼키
후보키 중 대표로 선택한 키
수강신청 예시:
후보키 = {학번, 과목코드}
발표자 노트:
후보키를 잘못 찾으면 부분 함수 종속과 정규형 판단도 모두 틀릴 수 있습니다.
반복 그룹 또는 다중값 존재?
↓
1NF
↓
부분 함수 종속 존재?
↓
2NF
↓
이행적 함수 종속 존재?
↓
3NF
↓
결정자가 후보키가 아닌가?
↓
BCNF
발표자 노트:
각 정규형은 더 강한 제약 조건을 추가합니다. 일반적으로 BCNF가 3NF보다 엄격합니다.
릴레이션이 1NF를 만족하려면:
원자값 예시:
과목코드 = DB101
비원자값 예시:
과목코드 = DB101, AI201, OS301
발표자 노트:
원자성은 값이 더 이상 의미 있는 단위로 분해되지 않는다는 뜻이 아니라, 해당 릴레이션의 한 속성 안에 여러 값을 묶어 저장하지 않는다는 의미입니다.
| 학번 | 수강과목 |
|---|---|
| 2023001 | DB101, OS201 |
| 2023002 | DB101 |
| 2023003 | AI301, DB101 |
문제:
1NF 변환:
| 학번 | 과목코드 |
|---|---|
| 2023001 | DB101 |
| 2023001 | OS201 |
| 2023002 | DB101 |
| 2023003 | AI301 |
| 2023003 | DB101 |
발표자 노트:
반복되는 값을 여러 행으로 분리하면 각 셀에 하나의 값만 남습니다.
| 학번 | 과목코드 | 교수명 | 강의실 | 학점 |
|---|---|---|---|---|
| 2023001 | DB101 | 김교수 | 301호 | 3 |
| 2023002 | DB101 | 김교수 | 301호 | 3 |
| 2023001 | OS201 | 이교수 | 205호 | 3 |
확인:
결론:
테이블은 1NF를 만족한다고 가정한다.
발표자 노트:
1NF는 데이터 구조의 출발점입니다. 하지만 중복과 함수 종속 문제는 아직 남아 있습니다.
다음 중 1NF를 위반하는 것은?
A. 전화번호 = 010-1234-5678
B. 이메일 = user@example.com
C. 관심분야 = DB, AI, OS
D. 학점 = 3
정답: C
발표자 노트:
문자열 내부에 여러 개념이 묶여 있다면 실제 업무상 별도의 값으로 관리해야 하는지 검토해야 합니다.
릴레이션이 2NF를 만족하려면:
즉,
부분 함수 종속을 제거한다.
발표자 노트:
2NF는 특히 복합 기본키를 사용하는 테이블에서 중요합니다.
기본키:
{학번, 과목코드}
함수 종속:
학번, 과목코드 → 수강정보
과목코드 → 교수명
과목코드 → 강의실
과목코드 → 학점
문제:
발표자 노트:
과목 정보는 학생이 누구인지와 무관하게 과목코드로 결정됩니다.
DB101을 100명이 수강한다면:
강의실이 변경되면:
시각 요소: 중복 행을 연결하는 강조선
발표자 노트:
중복은 저장 공간의 문제만이 아니라 무결성 유지 비용의 문제입니다.
| 학번 | 과목코드 |
|---|---|
| 2023001 | DB101 |
| 2023002 | DB101 |
| 2023001 | OS201 |
| 과목코드 | 교수명 | 강의실 | 학점 |
|---|---|---|---|
| DB101 | 김교수 | 301호 | 3 |
| OS201 | 이교수 | 205호 | 3 |
분해 결과:
수강(학번, 과목코드)
과목(과목코드, 교수명, 강의실, 학점)
발표자 노트:
과목 정보와 수강 관계를 분리하면 과목 정보는 한 번만 저장됩니다.
| 분해 전 | 분해 후 |
|---|---|
| 수강 사실과 과목 정보 혼합 | 수강과 과목 정보 분리 |
| 과목 정보 반복 | 과목 정보 1회 저장 |
| 갱신 이상 가능 | 갱신 대상 명확 |
| 복합키 일부 종속 | 부분 종속 제거 |
핵심:
키의 일부에만 종속되는 속성은 별도 릴레이션으로 이동한다.
발표자 노트:
분해 후 과목코드는 과목 릴레이션의 기본키가 됩니다.
분해 후에도 원래 정보를 복원할 수 있어야 합니다.
수강 ⋈ 과목
조인 조건:
수강.과목코드 = 과목.과목코드
무손실 분해의 조건:
발표자 노트:
정규화는 정보를 잃는 작업이 아니라, 필요할 때 조인으로 다시 구성할 수 있도록 구조를 바꾸는 작업입니다.
다음 함수 종속이 있을 때 2NF 위반 여부를 판단하시오.
기본키 = {학생ID, 상품ID}
학생ID, 상품ID → 수량
상품ID → 상품명, 가격
정답:
발표자 노트:
이 문제는 수강신청 사례와 동일한 구조를 갖습니다.
릴레이션이 3NF를 만족하려면:
이행적 함수 종속:
A → B
B → C
따라서 A → C
발표자 노트:
3NF는 기본키를 거치지 않고 다른 일반 속성을 거쳐 발생하는 종속을 제거합니다.
릴레이션:
학생(학번, 학과코드, 학과명)
함수 종속:
학번 → 학과코드
학과코드 → 학과명
따라서 학번 → 학과명
문제:
발표자 노트:
학과명은 학번이 직접 결정하는 값이 아니라 학과코드를 통해 간접적으로 결정됩니다.
학생(학번, 학과코드)
학과(학과코드, 학과명)
함수 종속:
학번 → 학과코드
학과코드 → 학과명
분해 후:
발표자 노트:
각 릴레이션에서 결정자가 해당 정보의 직접적인 관리 단위가 되도록 분해합니다.
함수 종속 X → A가 있을 때:
정리:
모든 비주요 속성은 키에 직접 종속되어야 한다.
발표자 노트:
3NF는 함수 종속의 왼쪽과 오른쪽의 역할을 함께 확인해야 합니다.
| 구분 | 제거 대상 | 대표 문제 |
|---|---|---|
| 1NF | 반복 그룹, 다중값 | 한 셀에 여러 값 |
| 2NF | 부분 함수 종속 | 복합키 일부에 종속 |
| 3NF | 이행적 함수 종속 | 일반 속성을 통한 간접 종속 |
| BCNF | 후보키가 아닌 결정자 | 결정자와 키 불일치 |
발표자 노트:
정규형은 단계적으로 강해지며, 각 단계가 해결하는 문제가 다릅니다.
분해 결과:
수강(학번, 과목코드)
과목(과목코드, 교수명, 강의실, 학점)
함수 종속:
과목코드 → 교수명
과목코드 → 강의실
과목코드 → 학점
과목 릴레이션에서:
결론:
현재 가정에서는 과목 릴레이션이 3NF를 만족한다.
발표자 노트:
여기서는 과목코드가 교수명이나 강의실을 직접 결정하는 업무 규칙을 가정합니다.
릴레이션 R의 모든 비자명 함수 종속 X → Y에 대해:
X는 반드시 슈퍼키여야 한다.
쉽게 말하면:
모든 결정자는 후보키여야 한다.
BCNF는 3NF보다 엄격한 정규형입니다.
발표자 노트:
3NF에서는 일부 예외가 허용되지만, BCNF에서는 결정자가 키가 아니면 허용하지 않습니다.
3NF:
BCNF:
관계:
3NF ⊃ BCNF
즉:
발표자 노트:
BCNF는 함수 종속의 구조적 일관성을 더 강하게 보장합니다.
릴레이션:
수강지도(학생, 과목, 교수)
함수 종속:
학생, 과목 → 교수
교수 → 과목
후보키:
{학생, 과목}
{학생, 교수}
교수 → 과목에서:
따라서:
발표자 노트:
이 예시는 3NF의 예외 규칙 때문에 3NF에는 남을 수 있지만, BCNF는 결정자가 후보키인지 엄격히 검사합니다.
기존:
수강지도(학생, 과목, 교수)
분해:
교수과목(교수, 과목)
학생교수(학생, 교수)
장점:
주의:
발표자 노트:
BCNF 분해는 무손실성을 보장하도록 해야 하며, 종속성 보존 여부도 함께 검토해야 합니다.
| 정규형 | 핵심 조건 | 해결하는 문제 |
|---|---|---|
| 1NF | 원자값 | 반복 그룹 |
| 2NF | 부분 종속 없음 | 복합키 중복 |
| 3NF | 이행적 종속 없음 | 간접 종속 |
| BCNF | 결정자는 슈퍼키 | 결정자 불일치 |
시각 요소: 강도가 높아지는 계단형 도식
발표자 노트:
실무에서는 항상 BCNF가 최선이라고 단정하지 않고, 무결성·질의 성능·업무 요구를 함께 고려합니다.
속성:
수강신청(학번, 과목코드, 교수명, 강의실, 학점)
업무 가정:
학번, 과목코드 → 수강 여부
과목코드 → 교수명, 강의실, 학점
후보키:
{학번, 과목코드}
발표자 노트:
이 테이블은 1NF는 만족하지만, 과목 정보가 수강정보와 섞여 있어 2NF 문제가 발생합니다.
조건:
{학번, 과목코드} 사용수강신청(학번, 과목코드, 교수명, 강의실, 학점)
상태:
발표자 노트:
1NF는 값의 형태를 정리했지만, 속성 간 종속 관계까지 해결하지는 않습니다.
분해:
수강(학번, 과목코드)
과목(과목코드, 교수명, 강의실, 학점)
확인:
수강: {학번, 과목코드} → 수강정보
과목: 과목코드 → 교수명, 강의실, 학점
상태:
발표자 노트:
과목 릴레이션에서 과목코드가 유일한 결정자이자 후보키이므로 BCNF까지 만족합니다.
CREATE TABLE Course (
course_code CHAR(5) PRIMARY KEY,
professor_name VARCHAR(40) NOT NULL,
classroom VARCHAR(30) NOT NULL,
credits INT NOT NULL
);
CREATE TABLE Enrollment (
student_id CHAR(7),
course_code CHAR(5),
PRIMARY KEY (student_id, course_code),
FOREIGN KEY (course_code)
REFERENCES Course(course_code)
);
시각 요소: 코드 블록과 테이블 관계선
발표자 노트:
기본키와 외래키 제약조건은 정규화된 구조의 의미를 데이터베이스에 명시합니다.
핵심 정리:
확인 질문:
{학번, 과목코드}에서 과목코드만으로 결정되는 속성은?발표자 노트:
마지막으로 각 정규형의 기준을 함수 종속 관점에서 다시 설명하도록 유도합니다.
수업 중 10분 실습 문제:
다음 릴레이션을 정규화하시오.
수강평가(학번, 과목코드, 교수명, 학과코드, 학과명, 평가점수)
주어진 함수 종속:
학번, 과목코드 → 평가점수
과목코드 → 교수명, 학과코드
학과코드 → 학과명
예상 분해:
수강평가(학번, 과목코드, 평가점수)
과목(과목코드, 교수명, 학과코드)
학과(학과코드, 학과명)
| Academic Graduation Presentation Guide | |
| chess-strategy-skill | |
| Clinical Research Presentation Guidance | |
| Diagram Generator | |
| Elocutionist |