데이터베이스의 정의와 특징
데이터베이스
- 데이터의 집합
- 여러 명의 사용자나 응용프로그램이 공유하는 데이터들
- 동시 접근이 가능
- 데이터의 저장공간 자체
DBMS
- 데이터베이스를 관리 및 운영하는 역할
DB/DMBS의 특징
- 데이터의 무결성(Integrity)
- 데이터베이스 안의 데이터는 오류가 없어야 함.
- 제약조건(Constrain)이라는 특성을 가짐.
- 데이터의 독립성
- 데이터베이스의 크기를 변경하거나 데이터 파일의 저장소 변경시 기존에 작성된 응용프로그램은 전혀 영향을 받지 않아야 함.
- 보안
- 데이터베이스 안의 데이터에 데이터를 소유한 사람이나 데이터에 접근이 허가된 사람만 접근할 수 있어야 함.
- 접근할 때에도 사용자의 계정에 따라서 다른 권한을 가짐
- 데이터 중복의 최소화
- 동일한 데이터가 여러 개 중복되어 저장되는 것을 방지
- 응용프로그램 제작 및 수정이 쉬움
- 통일된 방식으로 응용프로그램 작성 가능
- 유지보수 또한 쉬워짐
- 데이터의 안전성 향상
- 대부분의 DBMS가 제공하는 백업/복원 기능 이용
- 데이터가 깨지는 문제가 발생할 경우 원상으로 복원, 복구하는 방법이 명확해짐
데이터베이스의 발전
- 파일시스템 사용
- 컴퓨터 파일에 기록/저장 - 메모장, 엑셀 활용
- 컴퓨터에 저장된 파일의 내용은 읽고, 쓰기가 편한 약속된 형태의 구조 사용
- 데이터의 양이 많아지면 데이터 중복으로 인한 불일치 위험
- 데이터베이스 관리시스템
- 파일시스템의 단점 보완
- 대량의 데이터를 보다 효율적으로 관리하고 운영하기 위해 사용
- DBMS - DataBasa Managemant System
- 데이터의 집합인 데이터베이스를 잘 관리하고 운영하기 위한 시스템 또는 소프트웨어
- SQL(Structured Query Language)
- DDBMS에 데이터 구축/관리/활용을 위해서 사용되는 언어
- DBMS를 통해 중요한 정보들을 입력, 관리, 추출
DBMS 분류
- 계층형 DBMS
- 처음으로 나온 DBMS 개념 - 1960 년대에 시작
- 각 계층은 트리(Tree) 형태, 1:N 관계
- 문제점
- 처음 구축한 이후 그 구조를 변경하기가 상당히 까다로움
- 주어진 상태에서의 검색은 상당히 빠름
- 접근 유연성이 부족해서 임의의 검색은 어려움
- 망형 DBMS
- 계층형 DBMS의 문제점을 개선하기 위해 1970년대에 시작
- 1:1, 1:N, N:M(다대다) 관계 지원 - 효과적이고 빠른 데이터 추출
- 복잡한 내부 포인터 사용 - 프로그래머가 이 모든 구조를 이해해야만 프로그램의 작성 가능
관계형 DBMS (Relational DBMS)의 장단점
- 장점
- 다른 DBMS에 비해 업무가 변화될 경우 쉽게 변화에 순응
- 유지 보수 측면에서 편리
- 대용량 데이터의 관리와 데이터 무결성(Integration)보장
- 단점
- 시스템 자원을 많이 차지해 시스템이 전반적으로 느려짐 -→ 하드웨어 발전으로 해결
SQL 개요
- SQL (Structured Query Language)
- 관계형 데이터베이스에서 사용되는 언어,
- DBMS 제작 회사와 독립적
- 다른 시스템으로 이식성이 좋으며 표준이 계속 발전중
- 대화식 언어
- 분산형 클라리언트/서버구조
MySQL의 개요
- Oracle사에서 제작한 DBMS 소프트웨어
- 대량의 데이터를 관리해주는 소프트웨어
- 오픈 소스 (Open Source) 로 제공
Reference : 이것이 MySQL이다!
'SQL' 카테고리의 다른 글
06. [SQL] 조인 (0) | 2024.04.08 |
---|---|
05. [SQL] SELECT문 (1) | 2024.04.07 |
04. [SQL] 테이블 외의 데이터베이스 개체의 활용 (1) | 2024.04.07 |
03. [SQL] MySQL을 이용한 데이터베이스 구축 (0) | 2024.04.07 |
02. [SQL] 요구사항 분석과 시스템 설계 그리고 모델링 (0) | 2024.04.04 |