관계형 데이터베이스(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 (다대다 관계)
두 테이블의 레코드가 서로 여러 개의 연결을 가지는 경우입니다. 이러한 관계는 별도의 연결 테이블을 통해 해결됩니다. 예를 들어, 학생과 과목 간의 관계로 볼 때, 한 학생이 여러 과목을 수강하고 여러 학생이 같은 과목을 수강하는 경우가 이에 해당합니다.
mariadb-check 명령어는 여러 테이블을 검사, 복구, 분석 및 최적화 할 수 있는 유지 관리 도구입니다. mariadb-check은 myisamchk 및 aria_chk과 다르게 서버에서 MariaDB가 실행 중이어야 합니다. mariadb-check 명령어 mysqlcheck 명령어와 동일한 명령어입니다. 10.5 이전 버전에서는 클라이언트에서 호출했으며, 기본 사용 방법은 다음과 같습니다. 목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅ 관계형 DBMS 종류✅ mariadb-check 명령어 기본 사용법…
서버의 MySQL 루트 비밀번호 변경 시 MySQL 버전에 따라 변경 방식이 다를 수 있습니다. 버전별 MySQL 루트 비밀번호 변경 방법에 대해 알아 보겠습니다. 목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅ 관계형 DBMS 종류✅ 버전별 MySQL 루트 비밀번호 변경 (버전별) 기본 접속을 진행한 후에 각각의 버전에 맞는 쿼리문으로 mysql 루트 비밀번호를 변경해 줍니다. MySQL 5.6 이하…
DB QuerySQL Statement(SQL 문)는 MySQL, MariaDB 등과 같은 데이터베이스 관리 시스템(DBMS:Database Management System: DBMS)에서 사용되며, MySQL Query, SQL 명령어, SQL 쿼리, Mysql 명령어 등 다양한 형식으로 불리고 있습니다. 쿼리문은 명령의 역할에 따라 3가지로 분류합니다. 업무를 보면서 당장에 인식하고 사용하지 않더라도 차츰 이해하고 사용한다면 도움이 될 수도 있다고 생각합니다. 목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅…
MySQL에서 ‘Grant All Privileges’ 명령어는 유저가 데이터베이스에 접근할 수 있는 권한을 부여할 때 사용합니다. test라는 데이터베이스의 모든 테이블(*)에 testuser가 외부에서의 접근을 허용하는 것을 의미합니다. 목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅ 관계형 DBMS 종류Grant All Privileges 호스트 예시 MySQL Grant All Privileges는 사용자 계정에 MySQL 작업을 규제하고 실행할 수 있는 권한을 부여하는 관리 명령문입니다. 새로운 사용자가…
Window에 오라클 19c 설치를 위해 먼저 오라클 공식 다운로드 홈페이지로 이동합니다. 오라클 19c 중에 WIsdows 환경을 확인해서 다운로드 할 수 있습니다. 목차✅ 관계형 데이터베이스 정의✅ 관계(Relationships)✅ 관계형 DBMS 종류1. Window 오라클 19c 설치하기 1.1 압축 파일 해제 및 설치 ▼ 압축 파일을 C:\Program Files이나 C드라이브 내 별도의 폴더를 만들어서 풀어줍니다. 별도의 개발 관리…
MariaDB에서 Slow Query Log 설정을 할 경우 Mariadb 10.2 버전부터 etc/my.cnf.d/ 폴더안에 mysql-clients.cnf 및 server.cnf 파일로 나뉘게 되었습니다. mysql 이라도 폴더를 확인한 후에 설정 내역에 따라 확인하면 되겠습니다. 먼저 etc/my.cnf.d/server.cnf 파일에 적용하는 방법에 대해 알아 보겠습니다. ※ Slow Query Slow Query는 수행하는 데 오랜 시간이 걸리는 쿼리입니다. 응답 시간이 길어질 경우 서비스의 품질이…