-
[데이터베이스] 1. 데이터베이스(Database)란?데이터베이스 2023. 9. 10. 15:00
1. 데이터베이스(Database)
비단 IT업계에 있는 사람 뿐만 아니라 일반인들 사이에서도 많이 사용되고 있는 단어 "DB".
"우리 김대리가 맛집DB야!"
"니 남친 뭔가 쎄해.. 내 데이터베이스가 말해주고 있다구"
위 대화 예시처럼 일상생활에서도 자주 쓰는 표현이 되고 있습니다.
그렇다면 사람들이 흔히 말하는 데이터베이스(Database, DB)란 무엇일까요?
데이터(Data)란 용어 그대로 "정보", 컴퓨터에 저장할 수 있는 숫자, 글자, 이미지 등 모든 "정보"를 뜻합니다.
이러한 모든 정보들을 통합하여, 일관성있게, 여러 사용자들이 사용할 수 있게 만든
"구조화된 데이터의 집합"을 우리는 데이터베이스(Database)라고 합니다.데이터베이스로 "정보"들을 관리하기 이전엔 주로 파일시스템을 이용해 정보를 관리했습니다.
일반적인 사람들이 흔히들 사용하는 방식이죠.
아래 상황을 통해서 파일시스템을 활용한 데이터 관리의 예시를 보겠습니다.
2. 파일시스템(File System)
여느 한국인들이 그렇듯, 우리 회사에는 밥에 꽤나 진심인 사람들이 많습니다.
그래서 맛집리스트들과 메뉴, 가격 등을 엑셀에 정리해놓고 점심시간이 되면 불이나케 엑셀을 키고 오늘의 점심메뉴를 고르죠.
다음 파일들을 보겠습니다.
회사 근처 맛집리스트.xlsx
No 상호명 위치 폐업여부 평점 1 날아라돈까스 서울시 강남구 역삼동 xxx.... Y 4.5 2 오징어철판쟁이 서울시 강남구 역삼동 xxx.... N 4.7 ... ... ... ... ... 메뉴리스트.xlsx
상호명 폐업여부 메뉴명 가격 평점 날아라돈까스 N 치즈까스 세트 14,500 4.9 등심돈까스 세트 13,500 3.7 안심돈까쓰 세트 13,500 3.9 ... ... ... ... ... 맛집리스트가 나열된 엑셀파일과 각 맛집의 메뉴만 적혀있는 엑셀파일을 따로 관리하는 것 같습니다.
맛집고르기에 익숙해진 사람들은 나중엔 메뉴리스트만 보고 오늘의 점심메뉴를 고를 것 같네요.
근데 여기서 문제가 발생합니다.
맛집리스트에서는 폐업이라고 업데이트 되어있는 날아라돈까스지만, 메뉴리스트에는 영업을 한다고 되어있네요.
두 파일 모두 업데이트를 해야했는데, 하나만 업데이트가 된 것 같습니다.
아쉽게도 회사 사람들은 기대감을 안고 날아라돈까쓰에 방문했지만 폐업된 걸 깨닫고 그 옆에 있는 백반집에 가겠군요.
3. 데이터베이스 관리 시스템(DataBaseManagementSystem, DBMS)
위 예시에서 볼 수 있듯 파일시스템을 활용하여 정보를 관리하면 정보의 오류, 누락, 중복 등의 문제가 발생할 수 있고,
만약 여러명이 동시에 정보에 접근하면 정보의 오류가 발생할 확률이 훨씬 높아질 것 같습니다.
저 정보들이 맛집을 관리하는게 아니라, 훨씬 중요한 쇼핑몰 구매리스트라거나 은행 예치금 리스트라면?
더더욱 파일로 정보를 관리하는것은 피해야 할 것 같습니다.
이런 문제점들을 피하기 위해 특정한 규칙을 만들고 그 규칙내에서 정보를 통합하는 시스템,
그 시스템이 곧 데이터베이스(Database) 입니다.
또한 데이터베이스 시스템 내에서 효율적인 데이터 관리, 조회, 조작등을 할 수 있게 도와주는 소프트웨어가 바로
DBMS라고 부르는 데이터베이스 관리 시스템(DataBase Management System)입니다.
다르게 보면 여러 프로그램과 데이터베이스를 이어주는 시스템이라고 생각하면 편할 것 같습니다.
[그림1] 프로그램과 DBMS, 데이터베이스시스템과의 관계 데이터베이스와 DBMS의 등장으로 파일시스템으로 관리하던 데이터들의 문제점이 아래와 같이 개선되었습니다.
파일 시스템을 통한 데이터 관리의 단점 DMBS를 통한 데이터 관리 데이터 중복 하나의 소프트웨어가 데이터를 관리하여 데이터 중복을 피할 수 있음 프로그램들이 개별 데이터를 직접 관리 여러 프로그램이 하나의 DBMS를 통해 데이터를 사용하여, 데이터를 동시에 공유할 수 있음 프로그램이 데이터를 쓰는 방식이 각각 다름 하나의 DBMS를 통해 데이터를 관리하기 때문에 여러 프로그램이 데이터를 쓰더라도 방식이 통일됨 데이터가 특정 프로그램에 종속되어, 그 프로그램을 변경하면 기존 데이터의 사용이 불가능함. 프로그램과는 별도로 데이터가 DBMS에 의해 관리, 보관되기 때문에 프로그램 자체의 수정에 관계없이 데이터를 사용할 수 있음 '데이터베이스' 카테고리의 다른 글
[데이터베이스] 2. 관계형 데이터베이스(Relational Database) (0) 2023.09.10