1. 데이터베이스란?
데이터베이스는 여러 사용자들에 의해 공유되어 사용될 목적으로 통합되어 관리되는 데이터들의 그룹입니다. 중복되는 자료를 없애고 자료들을 한 곳으로 모아서 자료 검색과 실시간의 업무가 가능해집니다. 즉
몇 개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체라고 할 수 있습니다.
그러한 정보들을 생성하고 관리가 필요해 만들어진 소프트웨어가 DBMS이며,
DBMS는 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 , 데이터베이스를 관리해주는 역할입니다.
DBMS가 나오기 이전에는 데이터베이스를 어떻게 관리했을까요 ?
보통 각 건물마다 네트워크가 따로 존재했었고, 각각 메인프레임(서버)이 있는 형태였습니다.
각각의 엔티티로써 파일을 나누어서 각 건물마다 관리를 했었습니다.
어떠한 문제점이 있었을까요?
1. 각 파일들은 실시간으로 공유가 되지 않기 때문에 실시간 업무가 불가능했었습니다.
동기화를 필요할 때마다 할 수는 없으니까요.
2. 데이터를 모아놓은 파일의 크기가 커졌을 때 유지하기 위한 비용이 많이 들어갔습니다.
한 곳에서 관리하는 것이 아닌 여러 곳에서 관리했기 때문입니다.
3. 또한 결함이 생겼을 때 처리와 수정에서도 복잡했습니다.
이것을 해결하기 위해 단점을 보안한 뒤 DBMS가 나왔습니다.
모든 데이터들을 전처럼 분리하지 않고 한 곳으로 전부 모았습니다. 집중화를 시킨 것이죠
집중화를 함에 따라 실시간 업무가 가능해지고 유지비용도 감소했습니다. 결함도 줄었고요.
하지만 단점 또한 존재합니다. 동시성이란 문제도 있었고, 보안에 취약했습니다. 전 방식보단 더 많은 장점을 가지고 있습니다.
사용자는 직접적으로 데이터베이스에 접근하는 방식도 있지만 그렇게 사용하지 않습니다.
너무 복잡하고 어렵기 때문이죠. 그 대신 우리는 SQL을 사용합니다
2. SQL(Structured Query Language)
관계형 데이터베이스 관리시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어입니다.
관계형 말고도 여러 가지 참조 형식이 있습니다.
Hierarchical DBMS -계층형 데이터베이스란 데이터가 트리 형태의 구조로 조직된 것을 말하며,
부모, 자식 형태를 갖는 구조입니다.
Network DBMS - 계층형 데이터의 데이터 중복 문제를 해결했고, 레코드 간의 다양한 관계를 그물처럼 갖는 구조입니다. 하지만 복잡한 구조 때문에 추후 구조를 변경하기엔 어려움이 따릅니다.
Object - Oriented DBMS -객체 지향 데이터 프로그래밍에 사용되는 것으로 정보를 객체의 형태로 표현하는 데이터 베이스 모델입니다. (수익 가능성이 높은 특정 시장 분야입니다.)
Relational DBMS - 관계형 데이터베이스는 키(key)와 값(value)들의 간단한 관계를 테이블화 시킨 매우 간단한 원칙의 전산정보 데이터베이스입니다. 우리가 자주 주요 사용되는 데이터베이스 모델입니다.
관계형 데이터 베이스에 좀 더 자세히 적어보자면
이 모델은 데이터를 칼럼(column)과 로우(row)를 이루는 하나 이상의 테이블로 정리하며 각 고유키가 각 로우를 식별합니다.
로우는 그 엔티티 종류의 인스턴스를 대표하며 칼럼은 그 인스턴스의 속성이 되는 값들을 대표한다.
테이블을 삽입하고 삭제하고, 사용자를 관리하는 등의 내용은 웹서비스를 만들기 위한 것이지, 데이터 분석을 위한 것은 아닙니다. 따라서 분석을위한 내용과 서비스를 만들기위한 내용을 구분해 배워도 된다고 생각을 해야 할 것 같다.
'웹 프로그래밍 기초 > 자바기반의 웹&앱 응용SW 개발자' 카테고리의 다른 글
자바기반의 웹&앱 응용 SW개발자 양성과정 27일차 -46 (0) | 2020.04.08 |
---|---|
자바기반의 웹&앱 응용 SW개발자 양성과정 26일차 -45 (0) | 2020.04.07 |
자바기반의 웹&앱 응용 SW개발자 양성과정 25일차 -43 (0) | 2020.04.01 |
자바기반의 웹&앱 응용 SW개발자 양성과정 24일차 -42 (0) | 2020.03.26 |
자바기반의 웹&앱 응용 SW개발자 양성과정 24일차 -41 (0) | 2020.03.26 |
댓글