웹개발/SQL(mySQL)
RDBMS와 SQL 기초 개념
bergerac
2025. 6. 10. 09:11
RDBMS란?
관계형 데이터베이스는 데이터를 테이블(table) 형식으로 저장하고, 이 테이블들 간의 관계(relation) 를 정의해서 데이터를 관리하는 구조를 가진다. 현실 세계의 복잡한 정보들을 표 형태로 깔끔하게 정리하고, 다양한 조건으로 조회하거나 연결할 수 있도록 도와준다.
RDBMS의 핵심 특징
- 데이터를 테이블(표)로 저장
- 테이블은 행(row)과 열(column)로 구성됨
- 각 행은 하나의 데이터 레코드
- 각 열은 특정한 속성(attribute) 또는 필드(field)
- 스키마 기반 구조 관리
- 스키마(schema)는 데이터베이스의 구조를 설계하는 설계도
- 어떤 테이블이 있는지, 각 테이블에 어떤 열이 있고 어떤 관계를 맺는지 등을 정의
- SQL 언어로 조작
- SQL(Structured Query Language)은 RDBMS에서 데이터를 정의, 검색, 수정, 삭제하는 언어
- 무결성 제약조건 지원
- NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY 등 다양한 제약조건을 통해 데이터의 정확성과 일관성을 유지
주요 개념 용어 정리
- 테이블(Table)
데이터를 저장하는 가장 기본적인 단위. 각 테이블은 고유한 이름을 가지며 행과 열로 구성된다. - 열(Column)
테이블의 세로 구분선. 각각의 열은 고유한 이름과 데이터 타입을 가진다. 예: 이름(varchar), 나이(int) - 행(Row)
테이블의 가로 한 줄. 하나의 행은 실제 데이터를 담고 있는 하나의 레코드(record)를 의미한다. - 키(Key)
테이블 내의 데이터를 유일하게 식별할 수 있게 해주는 요소. 대표적으로 Primary Key(기본키), Foreign Key(외래키)가 있다.
대표적인 RDBMS 종류
- MySQL
오픈 소스이며 가장 널리 사용되는 RDBMS 중 하나. 특히 웹 애플리케이션과 함께 많이 사용됨. - Oracle
대규모 시스템을 위한 상용 DBMS. 안정성과 기능이 풍부하지만 비용이 높다. - PostgreSQL
오픈 소스이면서도 기능이 풍부한 RDBMS. 표준 SQL 지원과 확장성이 강점이다. - Microsoft SQL Server
마이크로소프트에서 개발한 RDBMS. 주로 윈도우 기반 환경에서 사용된다.
SQL 언어 구성 요소
1. DDL (Data Definition Language)
- 데이터 정의 언어
- 테이블 구조와 같은 데이터베이스 스키마를 정의할 때 사용
- 사용 예시:
CREATE, DROP, ALTER, TRUNCATE
2. DML (Data Manipulation Language)
- 데이터 조작 언어
- 테이블에 실제 데이터를 삽입하거나 수정, 삭제할 때 사용
- 사용 예시:
SELECT, INSERT, UPDATE, DELETE
3. DCL (Data Control Language)
- 데이터 제어 언어
- 사용자 권한과 접근 제어를 다룰 때 사용
- 사용 예시:
GRANT, REVOKE
SQL의 특징
- 비절차적 언어
사용자는 "무엇을 할 것인가"만 명시하면 됨. "어떻게 할 것인가"는 DBMS가 알아서 처리함. - 표준화된 언어
ANSI에 의해 표준이 제정되어 있으며, 대부분의 RDBMS(MySQL, Oracle, PostgreSQL 등)에서 공통적으로 지원됨.
데이터베이스의 구성요소
1. 스키마(Schema)
- 데이터베이스의 구조와 제약조건을 정의한 설계도
- 어떤 테이블이 존재하는지, 각 테이블에 어떤 컬럼이 있는지 등을 정의
2. 테이블(Table)
- 데이터를 저장하는 실제 공간
- 행(Row)과 열(Column)의 조합으로 구성됨
3. 필드(Field)
- 테이블의 열(Column)
- 이름, 나이, 이메일 등 각 속성에 해당
4. 레코드(Record)
- 테이블의 행(Row)
- 하나의 필드에 대해 실제 데이터가 저장된 단위