데이터베이스 관계 소개

데이터베이스 용어 "관계형"또는 "관계"는 테이블의 데이터가 연결되는 방식을 설명합니다.

데이터베이스 세계에 새로 온 사람들은 종종 데이터베이스와 스프레드 시트의 차이점을 보는데 어려움을 겪습니다. 이들은 데이터 테이블을보고 데이터베이스를 사용하여 새로운 방식으로 데이터 를 구성하고 쿼리 할 수 있지만 관계형 데이터베이스 기술에 이름을 부여하는 데이터 간의 관계 의 중요성을 파악하지 못한다는 사실을 알고 있습니다.

관계를 통해 서로 다른 데이터베이스 테이블 간의 연결을 강력한 방법으로 설명 할 수 있습니다. 이러한 관계를 활용하여 조인이라고하는 강력한 크로스 테이블 쿼리를 수행 할 수 있습니다.

데이터베이스 관계 유형

관계에 포함될 수있는 테이블 행 수에 따라 이름이 지정된 세 가지 유형의 데이터베이스 관계가 있습니다. 이 세 가지 관계 유형은 각각 두 테이블 사이에 존재합니다.

자기 참조 관계 : 특별한 경우

자체 참조 관계는 테이블이 하나만있을 때 발생합니다. 일반적인 예로는 각 직원의 감독자에 대한 정보가 포함 된 Employees 테이블이 있습니다. 각 감독자는 직원이고 자신의 감독자가 있습니다. 이 경우 각 직원마다 한 명의 감독자가 있으므로 일대 다 자기 참조 관계가 있지만 각 감독자는 두 명 이상의 직원을 가질 수 있습니다.

외래 키와의 관계 생성

외부 키지정하여 테이블간에 관계를 작성 합니다. 이 키는 테이블이 관련되는 f 식을 관계형 데이터베이스에 알립니다. 대부분의 경우 표 A의 열은 표 B에서 참조되는 기본 키를 포함합니다.

Teachers and Students 표의 예를 다시 고려하십시오. Teachers 테이블에는 ID, 이름 및 코스 열이 있습니다.

교사들
강사 ID 선생님 성함 코스
001 존 도우 영어
002 제인 슈 모에 수학

Students 테이블에는 ID, 이름 및 외래 키 열이 포함됩니다.

재학생
학생 아이디 학생 이름 Teacher_FK
0200 로웰 스미스 001
0201 브라이언 쇼트 001
0202 코키 맨디즈 002
0203 모니카 존스 001

Students 테이블의 Teacher_FK 열은 Teachers 테이블에있는 강사의 기본 키 값 을 참조합니다.

종종 데이터베이스 설계자는 기본 키 또는 외래 키 열을 쉽게 식별하기 위해 열 이름에 "PK"또는 "FK"를 사용합니다.

이 두 테이블은 교사와 학생 사이의 일대 다 관계를 보여줍니다.

관계 및 참조 무결성

테이블에 외래 키를 추가하면 두 테이블간에 참조 무결성 을 적용하는 데이터베이스 제약 조건을 만들 수 있습니다. 이렇게하면 테이블 간의 관계가 일관되게 유지됩니다. 하나의 테이블이 다른 테이블에 대한 외래 키를 가지고있을 때, 참조 무결성의 개념은 표 B에있는 외래 키 값이 표 A의 기존 레코드를 참조해야한다는 것을 나타냅니다.

관계 구현하기

데이터베이스에 따라 테이블간에 서로 다른 방식으로 관계를 구현합니다. Microsoft Access에서는 테이블을 연결하고 참조 무결성을 쉽게 적용 할 수있는 마법사를 제공합니다.

SQL을 직접 작성하는 경우 먼저 ID 열을 기본 키로 선언하여 Teachers 테이블을 만듭니다.

CREATE TABLE 교사 (

강사 ID INT AUTO_INCREMENT PRIMARY KEY,
Teacher_Name VARCHAR (100),
코스 VARCHAR (100)
);

Students 테이블을 만들 때 Teacher '테이블의 InstructorID 열을 참조하는 외부 키로 Teacher_FK 열을 선언합니다.

CREATE TABLE Students (
학생 ID INT AUTO_INCREMENT PRIMARY KEY,
Student_Name VARCHAR (100), Teacher_FK INT,
외래 키 (Teacher_FK) 참고 교사 (InstructorID))
);

관계를 사용하여 테이블 조인

데이터베이스에 하나 이상의 관계를 만들면 SQL JOIN 쿼리를 사용하여 여러 테이블의 정보를 결합하여 강력한 기능을 활용할 수 있습니다. 가장 일반적인 유형의 조인은 SQL INNER JOIN 또는 단순 조인입니다. 이 조인 유형은 여러 테이블에서 조인 조건을 충족시키는 모든 레코드를 리턴합니다. 예를 들어,이 JOIN 조건은 Student 테이블의 외래 키가 Teachers 테이블의 기본 키와 일치하는 Student_Name, Teacher_Name 및 Course를 반환합니다.

학생 선택. 학생 이름, 선생님. 선생님 이름, 선생님. 코스
학생으로부터
INNER JOIN 선생님들
ON Students. Teacher_FK = Teachers.InstructorID;

이 문은 다음과 같은 테이블을 생성합니다.

SQL Join 문에서 반환 된 테이블

Student_NameTeacher_NameCourseLowell SmithJohnDeEnglishBrian ShortJohnDeEnglishCorky MendezJane SchmoeMathMonicaJonesJohnDeEnglish