🌱 오늘의 주제 : 데이터베이스란?
🌱 데이터베이스란?
- 데이터베이스 (DB, DataBase)는 일정한 규칙, 혹은 규약을 통해 구조화되어 저장되는 데이터 모음이다.
- 해당 데이터베이스를 제어, 관리하는 통합 시스템을 DBMS(DataBase Management System)라고 한다.
- 특정 DBMS마다 정의된 쿼리 언어(query language)를 통해 삽입, 삭제, 수정, 조회 등을 수행 할 수 있다.
🌱 데이터베이스의 특징
- 데이터의 독립성
- 물리적 독립성 : 데이터베이스 사이즈를 늘리거나 성능 향상을 위해 데이터 파일을 늘리거나 새롭게 추가하더라도 관련된 응용 프로그램을 수정할 필요가 없다.
- 논리적 독립성 : 데이터베이스는 논리적인 구조로 다양한 응용 프로그램의 논리적 요구를 만족시켜줄 수 있다.
- 데이터의 무결성
여러 경로를 통해 잘못된 데이터가 발생하는 경우의 수를 방지하는 기능으로 데이터의 유효성 검사를 통해 데이터의 무결성을 구현하게 된다. - 데이터의 보안성
인가된 사용자들만 데이터베이스나 데이터베이스 내의 자원에 접근할 수 있도록 계정 관리 또는 접근 권한을 설정함으로써 모든 데이터에 보안을 구현할 수 있다. - 데이터의 일관성
연관된 정보를 논리적인 구조로 관리함으로써 어떤 하나의 데이터만 변경했을 경우 발생할 수 있는 데이터의 불일치성을 배제할 수 있다. 또한 작업 중 일부 데이터만 변경되어 나머지 데이터와 일치하지 않는 경우의 수를 배제할 수 있다. - 데이터 중복 최소화
데이터베이스는 데이터를 통합해서 관리함으로써 파일 시스템의 단점 중 하나인 자료의 중복과 데이터의 중복성 문제를 해결할 수 있다.
🌱 엔티티(entity)
- 엔티티는 사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사를 의미한다.
- 약한 엔티티와 강한 엔티티로 나뉜다.
- 예) A가 혼자서는 존재하지 못하고 B의 존재 여부에 따라 종속적이라면 A는 약한 엔티티이고, B는 강한 엔티티이다.
🌱 릴레이션 (relation)
- 릴레이션(relation)은 데이터베이스에서 정보를 구분하여 저장하는 기본 단위이다.
- 관계형 데이터베이스에서는 '테이블'이라고 하며, NoSQL 데이터베이스에서는 '컬렉션'이라고 한다.
- 대표적인 관계형 데이터베이스인 MySQL의 구조는 레코드-테이블-데이터베이스로 이루어져 있다.
- 대표적인 NoSQL 데이터베이스 MongoDB 데이터베이스 구조는 도큐먼트-컬렉션-데이터베이스로 이루어져 있다.
- 즉, 레코드가 쌓여서 테이블이 되고 테이블이 쌓여서 데이터베이스가 되는 것이다.
🌱 속성(attribute)과 도메인(domain)
- 속성(attribute)은 릴레이션에서 관리하는 구체적이며 고유한 이름을 갖는 정보이다.
- 도메인(domain)이란 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값의 집합을 말한다.
🌱 필드와 레코드
- 테이블에 쌓이는 행 단위의 데이터를 레코드라고 한다. 또는 튜플이라고도 한다.
'Computer Science > 데이터베이스' 카테고리의 다른 글
데이터베이스 - 인덱스 (0) | 2023.07.05 |
---|---|
데이터베이스 - 트랜잭션이란? (0) | 2023.07.03 |