CS/데이터베이스
데이터베이스
개발싫어
2021. 10. 20. 15:16
728x90
- 여러 사람들이 공유하고 사용할 목적으로 통합한 데이터들의 모임
- DBMS(Database Management System, 데이터베이스 관리 시스템)
- 데이터베이스를 사용자가 더 쉽고 편리하게 접근하여 관리할 수 있게 해주는 소프트웨어
- Mysql, Oracle, MariaDB
- 데이터베이스를 사용자가 더 쉽고 편리하게 접근하여 관리할 수 있게 해주는 소프트웨어
- 데이터베이스를 사용하는 이유
- 데이터베이스를 사용하기 전에는 파일 시스템으로 데이터를 관리 해서 종속성, 중복성, 무결성으로 인한 문제가 발생하였다.
- 종속성 문제
- 데이터를 저장하거나 접근하는 방식등이 바뀌면 프로그램도 변경해야했다
- 중복성 문제
- 프로그램에 따라 같은 데이터들을 서로 가지고 있을 수 있어서 문제가 생김
- 일관성 : 중복된 데이터들 간에 내용이 맞이 않아 문제가 생김
- 보안성 : 중복된 데이터들있는 모든 곳에 동등한 보안을 유지하기 어려움
- 경제성 : 중복된 데이터가 여러곳에 있어서 메모리 낭비가 심함
- 무결성 : 데이터가 중복되어 여러곳에 있어 정확성과 일관성을 유지할 수 없음
- 데이터베이스의 특징
- 데이터의 독립성
- 물리적 독립성 : 데이터베이스의 물리적 환경을 변경하더라도 응용 프로그램에는 영향을 미치지 않음
- 논리적 독립성 : 데이터의 논리적 구조를 변경하더라도 응용 프로램에는 영향을 미치지 않음
- 데이터의 무결성
- 항상 데이터의 일관성과 정확성을 유지함
- 데이터 보안성
- 데이터베이스나 특정 데이터에 대한 접근 권한을 설정하여 보안을 구현할 수 있다
- 데이터 중복 최소화
- 데이터를 통합 관리하여 중복을 최소화 할 수 있다
- 데이터의 독립성
- 스키마
- 데이터베이스의 저장되는 데이터 구조와 제약조건들을 명시한것
https://prinha.tistory.com/entry/DB-3단계-데이터베이스-시스템-외부개념내부스키마 - 외부 스키마
- 서브스키마
- 데이터베이스마다 여러 외부 스키마가 존재할 수 있다
- 사용자, 프로그래머 입장에서 본 스키마
- 각 사용자가 생각하는 데이터베이스의 모습, 논리적 구조로 다 다를 수 있음
- 개념 스키마
- 스키마
- 데이터베이스마다 하나의 개념 스키마가 존재한다.
- 데이터베이스의 전체 논리적 구조를 기술한것
- 조직 전체, DBA 입장에서 생각하는 데이터베이스의 모습, 논리적 구조
- 어떤 데이터가 저장되고, 제약조건, 보안, 접근 권한 등 기술
- 내부 스키마
- 저장 스키마
- 데이터베이스마다 하나의 내부 스키마가 존재한다
- 데이터베이스가 실제 물리 저장장치에 저장되는 방법 기술
- 레코드 구조, 필드 크기 등 물리적 구조 정의