데이터베이스
- 데이터 베이스 == 데이터의 집합
DBMS
- 데이터베이스를 관리하고 운영하는 소프트웨어
- 데이터베이스는 여러 명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야 함
DBMS 유형
- 계층형(Hierarchical)
- 망형(Network)
- 관계형(Relational)
- 객체지향형(Object-Oriented)
- 객체관계형(Object-Relational)
계층형 DBMS
- 처음 등장한 DBMS 개념
- 트리형 구조
- (이진트리라고 생각시) leaf A에서 leaf Z까지 가려고 할 때 거쳐야 하는 node가 너무 많음
- 구성 완료 후. 변경이 까다로움
- 지금은 사용하지 않음
망형 DBMS
- 계층형 DBMS의 문제점을 개선하기 위해 등장
- 계층형 DBMS에서 중간중간에 각 노드끼리 연결된 network가 있는 구조
- 프로그래머가 모든 구조를 이해해야만 프로그램 작성이 가능
- 지금은 거의 사용하지 않는 형태
관계형 DBMS
- Relational DBMS를 줄여 RDBMS라고 부름
- 대부분의 DBMS가 이 구조
id | 이름 | 연락처 |
---|---|---|
1 | 이재민 | 010-xxxx-xxxx |
2 | 이민재 | 010-ooo-oooo |
- 테이블이라는 최소 단위로 구성
- 한 테이블은 행(id 1의 값들, id 2의 값들...)과 열(아이디,이름,연락처)로 구성됨
SQL
- RDBMS에서 사용되는 언어
- 국제표준화기구에서 SQL에 대한 표준을 만들어 발표(표준 SQL)
- 해당 표준을 기준으로 각 회사에서 특성을 반영하는 형태
데이터베이스 모델링
- 테이블의 구조를 미리. 설계하는 것
용어
- 데이터 : 하나하나의 단편적인 정보
- 테이블 : 데이터를 입력하기 위해 표 형태로 표현한 것
- 데이터베이스 : 테이블이 저장되는 저장소
- DBMS : 데이터 베이스 관리시스템 또는 소프트웨어
- 열(column) : 테이블의 세로, 각 테이블은 여러 개의 열로 구성(id,이름,연락처 ...)
- 열 이름 : 각 열을 구분하기 위한 이름(id 열, 이름 열, 연락처 열 ...)
- 데이터 형식 : 열에 저장될 데이터의 형식 (정수, 문자열 ...)
- 행(row) : 실직적인 데이터 (1,이재민,010-xxxx-xxxx 가 한개의 행), 행의 개수가 데이터의 개수
- 기본 키(primary key) : 각 행을 구분하는 유일한 열, 공백이거나 중복이여서는 안됨
- SQL : DBMS를 다루기 위한 언어