
PHP 강의
>PHP - 중급
📚 PHP 중급 - 1주차: 데이터베이스 기초 및 MySQL 연동 (PDO) - 01 관계형 데이터베이스 개념 (MySQL/MariaDB)
![]() |
평점 | 10.0 | 라이센스 | free |
---|---|---|---|---|
사용자평점 | 10.0 | 운영체제 | ||
다운로드 | 1 | 파일크기 | 0 | |
제작사 | LUZENSOFT | 등록일 | 2025-07-09 06:45:23 | |
조회수 | 17 |
📚 PHP 중급 - 1주차: 데이터베이스 기초 및 MySQL 연동 (PDO) - 01 관계형 데이터베이스 개념 (MySQL/MariaDB)
#PHP 중급 과정의 첫 번째 주차에서는 #데이터베이스의 기초를 다루고, #PHP에서 가장 널리 사용되는 #관계형 #데이터베이스인 #MySQL 또는 #MariaDB와 연동하는 방법에 대해 알아보겠습니다. 특히 이번 포스팅에서는 #관계형 #데이터베이스의 핵심 #개념에 대해 집중적으로 설명합니다.
관계형 데이터베이스(RDBMS)란?
#관계형 #데이터베이스(Relational Database Management System, #RDBMS)는 #데이터를 테이블(Table)이라는 구조화된 형식으로 저장하고 관리하는 시스템입니다. 각 테이블은 서로 관련된 #데이터의 집합으로, #행(Row)과 #열(Column)으로 구성됩니다. #행은 하나의 레코드(Record)를 나타내고, #열은 각 레코드의 속성(Attribute)을 나타냅니다.
#관계형 #데이터베이스의 가장 중요한 특징은 테이블 간의 **관계(Relationship)**를 정의하고 활용하여 #데이터의 중복을 최소화하고, #데이터의 일관성과 무결성을 유지할 수 있다는 점입니다. 이러한 관계는 주로 **외래 키(Foreign Key)**를 통해 설정됩니다.
주요 관계형 데이터베이스
#MySQL: 가장 인기 있는 오픈 소스 #관계형 #데이터베이스 관리 시스템 중 하나입니다. 안정성과 성능이 뛰어나며, 다양한 운영 체제에서 사용할 수 있습니다.
#MariaDB: #MySQL의 개발자들이 #MySQL의 미래에 대한 우려로 인해 만든 오픈 소스 #관계형 #데이터베이스입니다. #MySQL과 높은 호환성을 유지하면서도 일부 성능 향상 및 추가 기능을 제공합니다.
#PostgreSQL: 또 다른 강력한 오픈 소스 #관계형 #데이터베이스로, 높은 수준의 #SQL 표준 준수, 확장성, 안정성을 자랑합니다.
#Oracle Database: 기업 환경에서 널리 사용되는 상용 #관계형 #데이터베이스입니다. 높은 성능과 안정성, 다양한 기능을 제공합니다.
#Microsoft SQL Server: #Microsoft에서 개발한 상용 #관계형 #데이터베이스입니다. #Windows 환경과의 통합이 용이하며, 다양한 개발 도구와 연동됩니다.
이번 과정에서는 오픈 소스이며 #PHP와 함께 널리 사용되는 #MySQL 또는 #MariaDB를 중심으로 설명할 예정입니다.
관계형 데이터베이스의 주요 개념
#관계형 #데이터베이스를 이해하기 위해 알아야 할 몇 가지 주요 #개념을 살펴보겠습니다.
1. 테이블 (Table)
#테이블은 #데이터를 저장하는 기본적인 구조입니다. 행과 열로 이루어진 2차원 격자 형태로 표현됩니다. 각 테이블은 특정 주제나 개체에 대한 #데이터를 담고 있습니다. 예를 들어, 'users' 테이블은 사용자 정보를, 'products' 테이블은 상품 정보를 저장할 수 있습니다.
2. 행 (Row) 또는 레코드 (Record)
#행은 테이블의 가로 방향으로, 하나의 완전한 #데이터 항목(개체)을 나타냅니다. 'users' 테이블의 각 행은 한 명의 사용자 정보를 담고 있으며, 'products' 테이블의 각 행은 하나의 상품 정보를 담고 있습니다.
3. 열 (Column) 또는 필드 (Field)
#열은 테이블의 세로 방향으로, 각 레코드의 특정 속성을 나타냅니다. 'users' 테이블은 'user_id', 'username', 'email', 'password' 등의 열을 가질 수 있으며, 'products' 테이블은 'product_id', 'name', 'price', 'description' 등의 열을 가질 수 있습니다. 각 열은 특정 #데이터 #타입(예: 정수, 문자열, 날짜)을 가집니다.
4. 기본 키 (Primary Key)
#기본 #키는 테이블 내의 각 #레코드를 고유하게 식별하는 데 사용되는 하나 또는 여러 개의 열의 조합입니다. 기본 키는 다음과 같은 특징을 가집니다.
유일성(Uniqueness): 테이블 내의 모든 기본 키 값은 서로 달라야 합니다.
최소성(Minimality): 기본 키를 구성하는 열은 레코드를 고유하게 식별하는 데 필요한 최소한의 열로 구성되어야 합니다. (복합 키의 경우)
널(Null) 불가: 기본 키 열에는 NULL 값을 가질 수 없습니다.
일반적으로 각 테이블은 하나의 기본 키를 가집니다.
5. 외래 키 (Foreign Key)
#외래 #키는 한 테이블의 열(또는 열들의 조합)로서, 다른 테이블의 기본 키를 참조하는 데 사용됩니다. 외래 키를 통해 테이블 간에 관계를 설정하고, #데이터의 참조 무결성을 유지할 수 있습니다. 예를 들어, 'orders' 테이블의 'user_id' 열은 'users' 테이블의 기본 키인 'user_id'를 참조하는 외래 키가 될 수 있습니다.
6. 관계 (Relationship)
테이블 간의 연결을 나타냅니다. 외래 키를 통해 설정되며, 다음과 같은 세 가지 주요 유형이 있습니다.
일대일 (One-to-One): 한 테이블의 레코드 하나가 다른 테이블의 레코드 하나와 연결됩니다.
일대다 (One-to-Many): 한 테이블의 레코드 하나가 다른 테이블의 여러 레코드와 연결됩니다.
다대다 (Many-to-Many): 한 테이블의 여러 레코드가 다른 테이블의 여러 레코드와 연결됩니다. 다대다 관계는 일반적으로 두 테이블 사이에 연결 테이블(Junction Table)을 두어 일대다 관계 두 개로 표현합니다.
7. SQL (Structured Query Language)
#SQL은 #관계형 #데이터베이스를 관리하고 #데이터를 조작하기 위해 사용되는 표준 #언어입니다. #데이터의 검색(SELECT), 삽입(INSERT), 수정(UPDATE), 삭제(DELETE) 등 다양한 작업을 수행할 수 있습니다.
MySQL/MariaDB의 특징
#MySQL과 #MariaDB는 #PHP 개발 환경에서 매우 중요한 역할을 합니다.
오픈 소스: 자유롭게 사용, 수정, 배포할 수 있습니다.
높은 호환성: #PHP와의 연동이 매우 쉽고, 다양한 #PHP 확장 모듈을 통해 효율적으로 사용할 수 있습니다.
활발한 커뮤니티: 문제가 발생하거나 궁금한 점이 있을 때 도움을 받을 수 있는 큰 커뮤니티를 가지고 있습니다.
다양한 기능: 많은 기능을 제공하며, 필요에 따라 확장이 가능합니다.
성능: 대부분의 웹 애플리케이션 환경에서 충분한 성능을 제공합니다.
이번 포스팅에서는 #PHP 중급 과정의 첫 시작으로 #관계형 #데이터베이스의 기본적인 #개념과 #MySQL/#MariaDB의 특징에 대해 알아보았습니다.
다음 포스팅에서는 • • SQL 기본 (SELECT, INSERT, UPDATE, DELETE) 쿼리를 실행하는 방법에 대해 자세히 다루겠습니다.