관계형 데이터베이스(relational database)란?

관계형 데이터베이스는 현재 가장 많이 사용되고 있는 데이터베이스의 한 종류.

관계형 데이터베이스란 **테이블(table)**로 이루어짐,  테이블은 키(key)와 값(value)의 관계를 가짐

데이터의 종속성을 관계(relationship)로 표현하는 것이 관계형 데이터베이스의 특징입니다

관계형 데이터베이스의 테이블

각각의 테이블은 이름을 가지고 있으며, 행과 열이 있고 거기에 대응하는 값이 있다.

관계형 데이터베이스는 위와 같이 구성된 테이블이 다른 테이블과 관계를 맺고 모여있는 집합체.

 

관계형 데이터베이스에서의 관계

각 테이블의 행과 행이 연결되는 관계를 맺을 수 있음.

테이블간의 관계는 일대일 (1:1), 일대다(1:N), 다대다(N:N) 으로 나눠져 있음

특정 고객이 여러 상품을 구매하는 경우 고객이름과 고객지역 데이터가 중복됨.

테이블간의 관계는 기본키(primary key) 와 **외래키(foreign key)**라는 개념을 사용하여 맺어짐.

기본키는 고유한 ID필드로 각 행이 중복된 값을 가질수 없음 (위 이미지상 고객테이블 고객번호)

외래키는 기본키를 참조하는 필드 각 테이블 연결 (위 이미지상으로는 주문 테이블의 고객번호)

( 테이블을 분리하고 중복 데이터를 제거하는 과정을 정규화 라고 한다.)

 

관계형 데이터베이스 관리 시스템이란?

관계형 데이터베이스 관리 시스템은 말 그대로 관계형 데이터베이스를 유지보수하는 데 사용되는 프로그램.

SQL 쿼리문을 활용하여 데이터베이스 내 데이터를 생성, 업데이트, 삭제하는 프로그램.

대중적으로는 MySQL, Oracle, PostgreSQL, SQLite, Microsoft SQL Server가 있음

SQL이란?

구조적 질의 언어 (Structured Query Language)의 줄임말, 관계형 데이터 베이스 시스템 (RDBMS)에서 자료를 관리 및 처리하기 위해 설계된 언어

SQL 문법의 종류

  • DDL (Data Definition Language) 데이터 정의 언어
    • 각 릴레이션을 정의하기 위해 사용하는 언어 (CREATE, DROP, ALTER)
  • DMD(Data Manipulation Language) 데이터 조작 언어
    • 데이터를 추가/수정/ 삭제하기 위한 데이터 관리 언어 (SELECT, INSERT, UPDATE)
  • DCL (Data Control Language) 데이터 제어 언어
    • 사용자 관리 및 사용자별로 릴레이션 또는 데이터를 관리하고 접근하는 권한을 다루는 언어
    • (GRANT, REVOKE)

SQL 튜토리얼 : https://www.w3schools.com/sql/default.asp

 

SQL Tutorial

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

ERD CLOUD : https://www.erdcloud.com/

 

ERDCloud

Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.

www.erdcloud.com

 

Notion : https://noyclah.notion.site/7-RDBMS-5e6ccc40cc66401482a0a43369b672c0