database(DB)
전자적으로 저장되고 사용되는 관련있는 데이터들의 조직화된 집합
DBMS(Database Management System)
● 사용자에게 DB를 정의하고 만들고 관리하는 기능을 제공하는 소프트웨어 시스템
데이터베이스 관리 시스템(Database Management System, DBMS)은 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어 도구의 집합이다.
범용 DBMS는 데이터베이스의 정의, 생성, 질의, 업데이트, 관리 등을 위해 고안되었다.
초기의 DBMS에서는 데이터베이스가 가진 독립체와 속성인 '논리 계층(Logical layer)'과 이들이 저장되는 방식인 '물리 계층(Physical layer)'이 매우 밀접한 관계였기 때문에, 물리 계층을 바꿀 때마다 모든 코드를 바꿔야 해서 데이터베이스 응용프로그램을 짓고 유지하기가 어려웠다.
이러한 단점을 보완하기 위해 1970년도에 Ted Codd라는 사람이 관계형 모델(Relational model)을 고안하였다.
대표적인 DBMS
Oracle
|
MySQL
|
MSSQL
|
MariaDB
|
- 오라클에서 만들어 판매중인 상업용 데이터베이스
- 윈도우, 리눅스, 유닉스 등 다양한 운영체제(OS)에서 설치 가능 - MySQL, MSSQL보다 대량의 데이터 처리 용이 - 대기업에서 주로 사용하며, 글로벌 DB 시장 점유율 1위 - 비공개 소스, 폐쇄적인 운영 - 가장 널리 사용되는 RDBMS |
- MySQL사에서 개발, 썬마이크로시스템즈를 거쳐 현재 오라클에 인수합병
- 윈도우, 리눅스, 유닉스 등 다양한 운영체제(OS)에서 설치 가능 - 오픈소스로 이루어져있는 무료 프로그램(상업적 사용 시 비용 발생) - 가격 등의 장점을 앞세워 다수의 중소기업에서 사용중 - RDBMS |
- 마이크로소프트(MS)사에서 개발한 상업용 데이터베이스
- 다른 운영체제에서도 사용가능하지만 윈도우에 특화됨 - 비공개 소스로 폐쇄적인 운영(리눅스 버전은 오픈소스) - 중소기업에서 주로 사용중 - RDBMS |
- MySQL이 오라클에 인수합병된 후 불확실한 라이선스 문제를 해결하려고 나온 오픈소스 RDBMS
- 구현언어 : C++ - MySQL과 동일한 소스 코드 기반 - MySQL과 비교해 애플리케이션 부분 속도가 약 4~5천배 정도 빠름 |
사용하다 보면 부가적인 데이터가 발생할 수 있다. 이걸 matabata라고 부른다.
metadata(data about data)
● database를 정의하거나 기술하는 data
● catalog 라고도 부름
- 데이터 유형, 구조, 제약조건, 보안, 저장, 인덱스, 사용자 그룹 등등
- matadata 또한 DBMS를 통해 저장/관리한다.
database system 이란?
● database + DBMS + 연관된 application
(줄여서 database)
Queries
데이터 베이스에 접근해서 원하는 데이터 베이스를 가져오거나 혹은 원하는 형태로
데이터를 가공 수정하는 요청과도 같은것
data models 이란?
-> DB의 구조(struture)를 기술하는데 사용될 수 있는 개념들이 모인 집합
- DB 구조를 추상화 해서 표현 할 수 있는 수단 제공
-> data model은 여러 종류가 있고 추상화 수준과 DB 구조화 방식이 조금씩 다르다.
- DB에서 읽고 쓰기 위한 기본적인 동작들
※ DB 구조: 데이터유형, 데이터 관계, 제약사항 등등...
data models 분류
- conceptual (or high-level) data models
- logical (or representation) data models
- physical (or low - level) data models
가있다. 먼저 conceptual data model 부터 알아보자
conceptual data model (high-level)
- 일반 사용자들이 쉽게 이해 할 수 있는 개념들로 이뤄진 모델
- 추상화 수준이 제일 높음
- 비즈니스 요구사항을 추상화 하여 기술할 때 사용
(데이터 베이스 모델을 높은 수준으로 추상화해서 누가봐도 이해하기 쉽게 표현하는거)
대표적인 conceptual data model
● entity - reationship model
logical data models(representation)
먼저, 관계형 모델(Relational Model)은 여러 데이터 모델(Data Model) 중 하나로, 데이터 모델은 데이터베이스에 있는 데이터를 표현하는 개념의 집합이다.
관계형 모델(Relational Model)은 다음 세 핵심 포인트와 함께 고안되었다.
1. 데이터베이스를 단순한 자료구조에 저장
2. high-level language로 데이터에 접근
3. 물리적 저장소는 구현에 맡겨짐
관계형 모델에서는 릴레이션(Relation)이라는 구조가 사용되는데, 쉽게 말하면 2차원 테이블의 형태이다. 이 릴레이션의 관계를 정의한 것이 관계형 모델이라고 할 수 있다.
pysical data model
● 컴퓨터에 데이터가 어떻게 파일 형태로 저장되는지 기술 할 수 있느 수단 제공
● data format, data orderings, access path 등등
● access path : 데이터 검색을 빠르게 하기 위한 구조체
ex) index
'개발 일지 > 데이터베이스' 카테고리의 다른 글
데이터 베이스 설계 (0) | 2024.09.06 |
---|---|
데이터베이스란? (0) | 2024.08.16 |