관계형 데이터베이스(Relational Database RDB)란 테이블에 저장된 데이터들이 행(row)과 열(컬럼:Columm)의 형태로 구성되어 있으며, 서로 다른 데이터 구조가 사전에 정의된 관계를 통해 연결되어 있는 데이터 모음입니다. 엑셀의 스프레드 시트와 비슷한 구조를 가지고 있는 것이 주요 특징입니다.
✅ 관계형 데이터베이스 정의
관계형 데이터베이스(Relational Database:RDB)는 데이터를 테이블 형태로 관리하며, 테이블(Table)에는 행(row)과 열(column)의 형태로 데이터가 저장됩니다. RDB는 이러한 테이블들 간의 관계를 이용하여 데이터를 관리하고 연결합니다.
RDB는 데이터의 분류, 정렬, 탐색이 빠르고 용이하며 오랜 기간 사용한 만큼 높은 신뢰성과 데이터의 무결성을 보장해 줍니다.
RDB 기본 용어
열(column)
관계형 DB의 각 열은 고유의 이름을 가지고 있으며, 이 이름은 해당 열이 저장하는 데이터의 의미를 나타냅니다. 예를 들어, “이름”, “나이”, “주소” 등의 열 이름이 될 수 있습니다.
행(row, 레코드)
실직적인 진짜 데이터입니다. 각 행은 해당 테이블에 있는 하나의 레코드를 나타냅니다. 예를 들어, 특정 사람에 대한 정보(이름, 나이, 주소 등)가 테이블의 한 행으로 표현될 수 있습니다.
값(value)
값(value)은 열(column)에 저장되는 실제 데이터나 정보를 의미합니다. 각 행(row)의 열은 해당하는 값들을 가지며, 각 값은 해당하는 열의 데이터 형식에 따라 저장됩니다.
키(key)
키(key)는 관계형 데이터베이스에서 데이터를 식별하거나 정렬하는 데 사용되는 중요한 개념입니다. 데이터베이스 내에서 특정 레코드(행)를 고유하게 식별하거나, 레코드 간의 관계를 구성하거나, 데이터에 빠르게 액세스하기 위해 사용됩니다.
스키마(schema)
데이터베이스의 구조와 제약 조건에 대한 전반적인 명세를 기술한 것으로, 데이터베이스 기본 설계로 이해할 수 있습니다. 테이블에 어떤 종류의 값이 들어 가는지에 대한 정의로써 각 테이블의 이름, 각 열(속성)의 이름과 데이터 유형, 크기, 제약 조건 등을 명시합니다.
✅ 관계(Relationships)
관계(Relationships)는 다른 테이블의 데이터와의 상호 작용을 가능하게 합니다.
크게 3가지로 분류 할 수 있습니다.
One-to-One (일대일 관계)
한 테이블의 각 레코드가 다른 테이블의 한 레코드와만 관련된 경우입니다. 예를 들어, 각 사원은 하나의 사무실을 가진다는 것과 각 사무실은 한 명의 관리자만을 가진다는 것이 이에 해당할 수 있습니다.
One-to-Many (일대다 관계)
한 테이블의 레코드가 다른 테이블의 여러 레코드와 관련된 경우입니다. 가장 흔한 관계 중 하나로, 한 회사에 여러 사원이 속해있는 것이 이에 해당할 수 있습니다.
Many-to-Many (다대다 관계)
두 테이블의 레코드가 서로 여러 개의 연결을 가지는 경우입니다. 이러한 관계는 별도의 연결 테이블을 통해 해결됩니다. 예를 들어, 학생과 과목 간의 관계로 볼 때, 한 학생이 여러 과목을 수강하고 여러 학생이 같은 과목을 수강하는 경우가 이에 해당합니다.
리눅스 서버에 MySQL 또는 MariaDB, PostgreSQL 설치 후 좀 더 편리한 DB 관리를 위해 phpMyAdmin 설치 후 사용하는 경우가 많습니다. 기본적인 phpMyAdmin 설치와 취약점에 대해서 알아 보도록 하겠습니다. 목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅ 관계형 DBMS 종류phpMyAdmin 설치 방법 RedHat 기반의 OS 버전인 RockyLinux 및 AlmaLinux에서의 설치가 가능하며, AlmaLinux 9.3에서 설치를 진행했습니다. PHP 7.1…
목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅ 관계형 DBMS 종류✅ SQL이란? SQL(Structured Query Language)은 구조화된 질의 언어의 뜻을 가지고 있습니다. 구조적 쿼리 언어(SQL)는 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어입니다. 관계형 데이터베이스는 정보를 표 형식으로 저장하며, 행과 열은 다양한 데이터 속성과 데이터 값 간의 다양한 관계를 나타냅니다. ✅ SQL 시스템의 구성 요소 SQL 시스템은…
목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅ 관계형 DBMS 종류오라클 데이터베이스 오라클 데이터베이스(Oracle Database 또는 Oracle RDBMS)는 미국 오라클(Oracle) 사의 관계형 데이터베이스 관리 시스템(relational database management system, RDBMS)입니다. Windows Server, Unix 및 다양한 GNU/Linux 배포판을 포함한 운영 체제의 다양한 하드웨어에서 실행될 수 있습니다. Oracle Database에는 다른 플랫폼의 애플리케이션이 Oracle Database와 원활하게 통신할 수 있도록 하는 네트워킹…
SSMS는Microsoft SQL Server 내의 모든 구성 요소의 구성과 관리하는데 사용되는 Microsoft에서 개발한 소프트웨어 응용 프로그램입니다. SQL Server 2005에서 처음 출시되었으며, SQL 2000 이전 버전의 Enterprise Manager 의 후속 제품입니다. 목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅ 관계형 DBMS 종류SSMS 개요 주요 핵심 기능은 사용자가 서버 내의 모든 개체를 찾아 보고 선택하여 작업할 수 있는 개체 탐색기입니다. 구성…
MariaDB 데이터베이스 생성 및 삭제, 이름 변경 방법 그리고 유저 생성과 삭제에 대해 간단히 알아 보겠습니다. 목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅ 관계형 DBMS 종류MariaDB 데이터베이스 생성과 삭제 먼저 데이터베이스 목록을 조회합니다. 데이터베이스 생성 test01로 데이터베이스를 생성합니다. 데이터베이스 삭제 데이터베이스 이름 변경 test01 데이터베이스를 test02로 변경하고 싶은 경우 test02 데이터베이스를 먼저 생성해야 합니다. 먼저…
목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅ 관계형 DBMS 종류1. 데이터베이스란 데이터베이스(DataBase:DB)는 데이터가 모여 있는 저장소입니다. 저장소는 구조화 된 정보 또는 데이터의 조직화 되어 있는 모음입니다. 데이터베이스에는 IT를 포함한 여러 분야에서 폭 넓게 사용되고 있습니다. 카카오톡이나 네이버 라인 등을 이용해 발송한 메시지, 버스/지하철의 교통카드, 네이버 쇼핑 및 네이버 주문 등을 통해 구매한 정보 등이 모두…