Database
체계화 된 데이터의 모임
여러 사람이 공유하고 사용할 목적으로 통합관리되는 정보의 집합
자료 항목의 중복을 없애고 구조화하여 기억시켜놓은 자료의 집합체
- 장점
- 데이터 중복 최소화
- 데이터 무결성 (정확한 정보)
- 데이터 일관성
- 데이터 독립성 (물리적 / 논리적)
- 데이터 표준화
- 데이터 보안 유지
RDB (Relational Database)
- 관계형 모델에 기반하여 key와 value들을 관계를 표 형태로 정리한 데이터베이스
id | 이름 | 나이 | 전화번호 |
1 | 김아무개 | 20 | 010-xxxx-xxxx |
2 | 이아무개 | 21 | 010-xxxx-xxxx |
주요 용어
- 스키마(schema) : 데이터베이스에서 자료의 구조, 표현방법, 관계 등 전반적인 명세를 기술한 것
column | datatype |
id | INT |
name | TEXT |
age | TEXT |
contact | TEXT |
- 테이블(table) : 열, 행의 모델을 사용해 조직된 데이터 요소들의 집합
- 열(column, field) : 고유한 데이터 형식을 가진 집합의 대표
- 행(row, record) : 실제 데이터가 저장되는 형태
- 기본 키(Primary Key) : 각 행의 고유 값, 데이터베이스를 관리하고 관계를 설정할 때 주로 활용되므로 반드시 설정
위의 테이블에서는 4개의 필드에 2개의 레코드가 저장되어 있습니다.
관계형 데이터베이스 관리 시스템 (RDBMS)
- Relational Database Management System
- 관계형 모델을 기반으로 하는 데이터베이스 관리시스템
- MySQL
- ORACLE
- postgreSQL
- SQLite
- etc.
관계형 모델은 서로 다른 테이블간의 관계를 나타낼 수 있습니다.
예를 들어 블로그의 게시물에 댓글을 단다고 생각한다면 아래와 같이 두 개의 테이블을 생각할 수 있습니다.
- Table1 : 회원의 정보가 기술된 표
- Table2 : 댓글 정보가 기술된 표
Table1 | Table2 | ||||
id | 닉네임 | id | 내용 | 작성자 | |
1 | user1 | 1 | 안녕하세요. | user1 | |
2 | user2 | 2 | 반갑습니다. | user1 | |
3 | user3 | 3 | 네 ^~^ | user2 |
다음과 같이 Table2에서 작성자 열을 통해 어떤 회원이 댓글을 달았는지 확인할 수 있습니다.
이 때 관계형 데이터베이스에서는 이것을 외래 키(FK = Foreign Key)라고 합니다.
외래 키를 이용하여 외부 테이블을 참조할 수 있다는 점이 관계형 데이터베이스의 큰 특징입니다.
관계형 데이터베이스 관리 시스템의 데이터 관리를 위해서는 SQL이라는 특수 목적으로 설계된 프로그래밍 언어를 이용합니다.
'개발일기 > Database' 카테고리의 다른 글
[MYSQL] 날짜, 시간 형식 지정 / 계산하기 (0) | 2023.02.13 |
---|---|
[DB] SQL 기본 문법 (0) | 2022.04.22 |