상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
티스토리에서 블로그의 스킨을 커스터마이징하는 팁은?
프라하의 유명한 작가는 누구인가요?
프라하의 유명한 조각상은 무엇인가요?
런던의 주요 산업은 무엇인가요?
신한은행의 모바일 결제 서비스는 어떤 것이 있나요?
19세기 필리핀의 주요 교육 기관은 어디였나요?
19세기 필리핀의 주요 정치적 사건은 무엇이었나요?
시코쿠의 기후는 어떤가요?
시코쿠에서의 자전거 대회는 어떤 것이 있나요?
시코쿠의 유명한 관광 기념품은 무엇인가요?
시코쿠에서의 전통 의상 체험은 어떻게 하나요?
바스법 칫솔질을 할 때 혀도 닦아야 하나요?
Previous
Next
수정하기 - MySQL에서 데이터베이스 관계에서 N:N 관계와 1:N 관계의 차이는 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
MySQL 및 관계형 데이터베이스에서 <a href='https://sangseek.com/sangseeks/N:N/ko'>N:N</a>(다대다) 관계와 1:N(일대다) 관계는 데이터 간의 관계를 정의하는 중요한 개념입니다. 이 두 관계는 데이터 모델링에서 서로 다른 방식으로 데이터를 연결하고 관리하는 데 사용됩니다. 아래에서 이 두 관계의 차이점과 각각의 특징을 자세히 설명하겠습니다. 1. 1:N (일대다) 관계 1:N 관계는 한 개체가 여러 개체와 연결될 수 있지만, 그 반대는 성립하지 않는 관계입니다. 즉, 한 개체(부모)는 여러 개체(자식)와 연결될 수 있지만, 각 자식 개체는 오직 하나의 부모 개체에만 연결될 수 있습니다. 예시 - 학생과 수업 : 한 학생은 여러 수업을 수강할 수 있지만, 각 수업은 여러 학생이 수강할 수 있습니다. 그러나 각 수업은 특정한 과목에만 속하므로, 수업과 학생 간의 관계는 1:N 관계로 볼 수 있습니다. 데이터베이스 설계 1:N 관계를 구현하기 위해, 자식 테이블에 부모 테이블의 기본 키를 외래 키로 추가합니다. 예를 들어, `students` 테이블과 `courses` 테이블이 있을 때, `courses` 테이블에 `student_id`라는 외래 키를 추가하여 학생과 수업 간의 관계를 설정할 수 있습니다. ```sql CREATE TABLE students ( student_id INT PRIMARY KEY, name VARCHAR(100) ); CREATE TABLE courses ( course_id INT PRIMARY KEY, course_name VARCHAR(100), student_id INT, FOREIGN KEY (student_id) REFERENCES students(student_id) ); ``` 2. N:N (다대다) 관계 N:N 관계는 두 개체가 서로 여러 개체와 연결될 수 있는 관계입니다. 즉, 한 개체는 여러 개체와 연결될 수 있고, 그 반대도 성립합니다. 이 관계는 일반적으로 <a href='https://sangseek.com/sangseeks/중간 테이블/ko'>중간 테이블</a>(조인 테이블)을 통해 구현됩니다. 예시 - 학생과 수업 : 한 학생은 여러 수업을 수강할 수 있고, 한 수업도 여러 학생이 수강할 수 있습니다. 이 경우 학생과 수업 간의 관계는 N:N 관계입니다. 데이터베이스 설계 N:N 관계를 구현하기 위해, 두 개체 간의 관계를 나타내는 중간 테이블을 생성합니다. 이 중간 테이블은 두 개체의 기본 키를 외래 키로 포함합니다. ```sql CREATE TABLE students ( student_id INT PRIMARY KEY, name VARCHAR(100) ); CREATE TABLE courses ( course_id INT PRIMARY KEY, course_name VARCHAR(100) ); CREATE TABLE <a href='https://sangseek.com/sangseeks/student_course/ko'>student_course</a>s ( student_id INT, course_id INT, PRIMARY KEY (student_id, course_id), FOREIGN KEY (student_id) REFERENCES students(student_id), FOREIGN KEY (course_id) REFERENCES courses(course_id) ); ``` 요약 - 1:N 관계 : 한 개체가 여러 개체와 연결되지만, 각 개체는 오직 하나의 부모 개체에만 연결됩니다. 일반적으로 자식 테이블에 부모 테이블의 외래 키를 추가하여 구현합니다. - N:N 관계 : 두 개체가 서로 여러 개체와 연결될 수 있으며, 이를 위해 중간 테이블을 사용하여 두 개체의 기본 키를 외래 키로 포함합니다. 이러한 관계를 이해하고 적절히 설계하는 것은 데이터베이스의 효율성과 무결성을 유지하는 데 매우 중요합니다. 데이터베이스 설계 시 이러한 관계를 명확히 정의하면, 데이터의 중복을 줄이고, 데이터 무결성을 유지하며, 쿼리 성능을 향상시킬 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기