티스토리 뷰
1. 데이터베이스와 DBMS
데이터베이스는 데이터를 체계적으로 저장하고 관리하기 위한 시스템이다.
여러 개의 테이블이 모여 하나의 데이터베이스를 구성하며, 이러한 데이터베이스를 관리하는 소프트웨어를 DBMS(Database Management System)라고 한다.
구조를 간단히 표현하면 다음과 같다.
테이블 (Table)
↓ 여러 개
데이터베이스 (Database)
↓ 관리
DBMS (Database Management System)
대표적인 DBMS 종류
- 관계형 DBMS (Relational DBMS)
- 객체지향 DBMS (Object-Oriented DBMS)
- NoSQL / NewSQL DBMS
2. 관계형 데이터 모델
관계형 데이터베이스에서는 데이터를 2차원 테이블 형태로 저장
테이블 구성 요소
| 구성요소 | 의미 |
| 열(Column) | 속성(Attribute), 필드변수 |
| 행(Row) | 튜플(Tuple) / 레코드(Record), 층 |
| 키(Key) | 데이터를 구분하는 식별자 |
예시
| 학번 | 이름 | 학과 |
| 101 | 짱구 | 컴공 |
| 102 | 철수 | 전자 |
기본 용어 정리
- 릴레이션 (Relation) : 개체(Entity)의 데이터를 2차원 테이블 구조로 표현한 것
- 속성 (Attribute) : 테이블의 열(Column)
이름
학과
- 투플 (Tuple) : 테이블의 행(Row)
- 도메인 (Domain) : 하나의 속성이 가질 수 있는 값의 범위
적립금 : INT
성적 : A, B, C, D, F
3. ERD (Entity Relationship Diagram)
ERD는 데이터베이스의 구조를 설계할 때 사용하는 모델링 도구
ERD 기호들
| 네모 | 엔티티(Entity) |
| 원 | 속성(Attribute) |
| 다이아몬드 | 관계(Relationship) |
| 밑줄 | 기본키 |
4. ERD → 관계형 모델 변환
↓
관계형 모델 변환
↓
테이블 생성
ERD에서 정의된 구조는 관계형 데이터베이스의 테이블 구조로 변환된다.
5. SQL (Structured Query Language)
SQL: 관계형 데이터베이스에서 데이터를 조회하고 조작하기 위한 질의 언어
- 대표적인 DBMS
- MySQL
- MS SQL Server
- Oracle
- 스키마 = 구조
- DBMS마다 SQL 문법이 조금씩 다르기 때문에 SQL 사투리라고 하기도...
6. CRUD
데이터베이스에서 수행하는 기본 연산
확장, 유지 보수에 쉽게 구성하기
| 연산 | SQL |
| Create | INSERT |
| Read | SELECT |
| Update | UPDATE |
| Delete | DELETE |
7. JDBC
- JDBC는 Java 프로그램이 데이터베이스와 연결하기 위한 API
- DB <-> JDBC <-> JAVA
- 자바 프로그램이 관계형 db에 접속하고 sql 보내고, 결과 받게 해주는 API(어플리케이션 프로그래밍 인터페이스)
↓
JDBC
↓
Database
JDBC의 역할
- 데이터베이스 연결
- SQL 실행
- 결과 반환
8. 실습 흐름
- 실습에서는 다음 순서로 데이터베이스를 구축했다.
↓
데이터베이스 생성
↓
테이블 생성
- 기본키와 고유키는 데이터 무결성(중복X) 보장
| 기본키(Primary)(신분증 같음) | 고유키(Unique) | |
| 중복 | X | X |
| NULL | 허용하지 않음 | 하나 허용 |
| 개수 | 테이블당 1개 | 여러 개 가능 |
| 역할 | 행의 식별자 역할 | 값의 중복 방지, 특정 컬럼(열) 고유성 유지 |
| 학번, 주민번호처럼 중복되거나 비어있으면 안됨(국가 공식 식별자 같은 느낌) | 이메일처럼 꼭 있어야 하진 않은데 중복되면 안됨(국가 공식 식별자는 아님...) |
'학교 강의 > 데이터베이스' 카테고리의 다른 글
| [데이터베이스] 1. 데이터베이스 시스템 (0) | 2026.03.07 |
|---|
