ℹ️이 콘텐츠에는 광고가 포함되어,판매 발생 시 수익이 발생합니다.(네이버 쇼핑 커넥트, 아마존 어필리에이트, 애드센스 등)
관계형 데이터베이스(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를 설치한 서버에서 테이블이 깨지는 경우가 있습니다. MariaDB 테이블 손상의 원인은 크게 다음과 같습니다. 목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅ 관계형 DBMS 종류✅ MariaDB 테이블 손상 확인 및 복구 방법 웹사이트를 운영하면서 발생하게 되는 테이블이나 DB 자체가 깨지는 경우 MySQL / MariaDB 테이블 복구가 필요한데 먼저 손상된 테이블을 확인하는 방법입니다. 1. 쿼리문…
MariaDB root 패스워드 분실(또는 MySQL)로 인해 로그인이 불가능한 경우mariadb&MySQL 패스워드 초기화가 필요합니다. 데몬에 대한 정지 및 시작 등의 구동 권한이 있다면 패스워드 초기화를 진행해서 재 설정이 가능합니다. 목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅ 관계형 DBMS 종류✅ MariaDB root 패스워드 분실 시 확인 메시지 콘솔에서 MariaDB 또는 MySQL 접속 시 패스워드를 분실 했을 때 잘못…
MySQL에서 ‘Grant All Privileges’ 명령어는 유저가 데이터베이스에 접근할 수 있는 권한을 부여할 때 사용합니다. test라는 데이터베이스의 모든 테이블(*)에 testuser가 외부에서의 접근을 허용하는 것을 의미합니다. 목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅ 관계형 DBMS 종류Grant All Privileges 호스트 예시 MySQL Grant All Privileges는 사용자 계정에 MySQL 작업을 규제하고 실행할 수 있는 권한을 부여하는 관리 명령문입니다. 새로운 사용자가…
서버의 MySQL 루트 비밀번호 변경 시 MySQL 버전에 따라 변경 방식이 다를 수 있습니다. 버전별 MySQL 루트 비밀번호 변경 방법에 대해 알아 보겠습니다. 목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅ 관계형 DBMS 종류✅ 버전별 MySQL 루트 비밀번호 변경 (버전별) 기본 접속을 진행한 후에 각각의 버전에 맞는 쿼리문으로 mysql 루트 비밀번호를 변경해 줍니다. MySQL 5.6 이하…
리눅스 서버에 MySQL 또는 MariaDB, PostgreSQL 설치 후 좀 더 편리한 DB 관리를 위해 phpMyAdmin 설치 후 사용하는 경우가 많습니다. 기본적인 phpMyAdmin 설치와 취약점에 대해서 알아 보도록 하겠습니다. 목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅ 관계형 DBMS 종류phpMyAdmin 설치 방법 RedHat 기반의 OS 버전인 RockyLinux 및 AlmaLinux에서의 설치가 가능하며, AlmaLinux 9.3에서 설치를 진행했습니다. PHP 7.1…
목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅ 관계형 DBMS 종류 1. 데이터베이스란 데이터베이스(DataBase:DB)는 데이터가 모여 있는 저장소입니다. 저장소는 구조화 된 정보 또는 데이터의 조직화 되어 있는 모음입니다. 데이터베이스에는 IT를 포함한 여러 분야에서 폭 넓게 사용되고 있습니다. 카카오톡이나 네이버 라인 등을 이용해 발송한 메시지, 버스/지하철의 교통카드, 네이버 쇼핑 및 네이버 주문 등을 통해 구매한 정보 등이…