본문 바로가기
CS

데이터베이스

by jinsuc28 2022. 4. 6.

Database

-체계화된 데이터의 모임

-여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음

 

DBMS(DataBase Management System)

-데이터의 모임인 Database를 만들고, 저장, 관리 할 수 있는 기능을 제공하는 응용프로 그램

-Oracle, Mysql, MariaDB, DB2, MS SQL Server 등등

 

DBMS의 특징

-데이터의 무결성

-데이터의 중복 방지

-보안(추상화, 접근권한)

-성능 향상

-프로그램 수정과 유지 보수 용이

 

 

자기기술성이란 특정 프로그램으로만 수정 될 수 있는가를 뜻한다.

즉, file system은 자기기술성이 없고 db는 자기기술성이 있음

ex) csv파일을 word로 못 읽음 하지만, db는 rdms끼리 공유 가능

 

SQL(Structured Query Language)

-데이터 관리를 위해 설계된 특수 목적의 프로그래밍 언어

RDBMS 같은 경우 갑자기 컬럼을 추가하면 로우 단위로 추가해야됨

NoSQL 같은 경우 갑작스러운 컬럼이 추가되더라도 바로 한번에 추가 가능

RDBMS 표, NoSQL dictype처럼 생김(dict은 아님)

 

Document와 Key-value

Document는 key-value 안에 key-value가 들어갈 수 있는 형태

key-value는 key-value 형태로만 존재해야 함

 

 

구체적인 예시

스키마(Schema)

-Database의 구조와 제약조건에 대한 전반적인 명세 기술

-Database의 Blueprint

-외부(서브)스키마, 개념스키마, 내부스키마로 구성

 

외부 스키마

-프로그램 사용자가 필요로 하는 데이터베이스의 논리적인 구조를 정의

ex) 데이터가 들어왔을 때 유형, type같은 것 지정하는 것

개념 스키마

-조직 전체의 관점에서의 구조와 관계를 정의

-외부 스키마의 합과 그 사잉의 데이터의 관계 등등

-일반적인 스키마의 정의

ex)데이터의 관계 같은것 uri주소는 여러 컬럼들의 조합임

내부 스키마

-저장장치의 입장에서 데이터베이스가 저장되는 방법을 기술

ex) c나 코볼트처럼 어떤 언어로 저장되고 스크립트는 어떻게 짜는지(여기까지는 거의 다루지 않는다.)

 

 

'CS' 카테고리의 다른 글

[Docker] 도커 명령어 정리  (0) 2023.06.24
하드웨어와 커널  (0) 2022.04.06
컴퓨터 네트워크  (0) 2022.04.04