데이터 및 C언어/SQL 공부

[SQL] SQL 공부하기 : RDBMS(관계형 데이터베이스)

  • -
반응형

 

 

[SQL] SQL 공부하기 : RDBMS(관계형 데이터베이스)

 


 

 

    ∇ SQL은 무엇인가?

          : SQL은 Structured Query Language의 약자이며,

            관계형 데이터베이스(RDBMS)가 이해할 수 있는 구조화된 질의어입니다.

 

 

   ∇ 관계형 데이터베이스(RDB)는 무엇인가?

         : RDB는 Relational DataBase의 약자이며,

            행과 열로 구성된 테이블이 다른 테이블과 관계를 맺고 모여있는 집합체를 의미합니다.

 

 

 

 

 

∇ 관계형 테이블은 무엇인가?

     : 관계형 테이블은 관계형 데이터베이스에 저장되는 데이터의 집합이며,

        행(Row)과 열(Column)으로 구성되어있습니다.

 

      관계는 1:1   /   1:N   / N:N 세가지 형태로,

      테이블 간의 연결이 가능하다는 것을 의미합니다.

 

        √ 1:N(일대다)의 관계. 

              - 한 테이블의 하나의 레코드가 다른 테이블의 여러 레코드와 연결되는 관계.

                    ex) 한 부서에 여러 직원이 속하는 경우[부서가 부모, 직원은 자식 테이블로 취급합니다.]

                           한 회원이 여러 개의 주문을 한 경우

 

                          + "자식 테이블(ex 직원)"이 "부모 테이블의 기본 키(부서테이블의 primary key)"를

                               "외래 키(foreign key)"로 가집니다.

 

        √ 1:1(일대일)의 관계.

               -  두 테이블에서 각 레코드가 서로 하나씩만 연결되는 관계입니다.

                   한 테이블의 한 레코드가 다른 테이블의 한 레코드와만 연결되는 경우를 의미합니다.

                   ex) 한 사람당 하나의 주민등록번호를 가지는 경우.

                            [한 사람은 하나의 주민번호만 가질 수 있고, 하나의 주민번호는 한 사람에게만 속합니다.]

                          -> 실제 사용 사례 : 부서 테이블과 직원 테이블.

 

                       + 두 테이블이 각각의 기본 키(primary key)를 공유합니다.

 

 

        √ N:N(다대다)의 관계.

                 - 양쪽 테이블의 여러 레코드가 서로 연결될 수 있는 관계입니다.

                        ex) 학생들이 여러 과목을 수강하고, 각 과목에 여러 학생이 등록하는 경우.

                         -> 실제 구현 : 보통 중간에 연결 테이블(join table)을 만들어  두 개의 1:N의 관계로 표현합니다.

           

 

학생 테이블:

- 각 학생의 정보를 저장합니다.

- 학생ID가 기본 키(Primary Key, PK)입니다.

 

과목 테이블:

- 각 과목의 정보를 저장합니다.

- 과목ID가 기본 키(PK)입니다.

 

수강신청 테이블 (연결 테이블):

- 학생과 과목 사이의 관계를 나타냅니다.

- 학생ID와 과목ID가 외래 키(Foreign Key, FK)로 사용됩니다.

- 이 테이블을 통해 어떤 학생이 어떤 과목을 수강하는지 알 수 있습니다.

 

 

    ∞ 

    SQL은  관계형 데이터베이스에 있는 데이터를 분석하는 언어입니다.

   관계형 데이터베이스(RDBMS)는 테이블이 관계를 맺고 모여있는 집합체를 의미합니다.

 

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.