티스토리 뷰
데이터베이스 기초 활용하기
2-1. 데이터베이스 종류 및 선정
데이터베이스의 종류를 구분하고 응용소프트웨어 개발에 필요한 데이터베이스를 선정할 수 있다.
1. 데이터베이스 종류
1. 데이터베이스 개요
데이터베이스는 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합이다. IT 시스템의 발달로 인해 급증하는 데이터에 대한 효과적인 관리가 중요해졌다. 자료의 중복성 제거, 무결성 확보, 일관성 유지, 유용성 보장은 데이터베이스 관리의 핵심이다.
DBMS(Database Management System)는 위와 같은 데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 기능을 지원하는 소프트웨어이다. 저장되는 정보는 텍스트, 이미지, 음악 파일, 지도 데이터 등 매우 다양하며, SNS의 발달과 빅데이터의 폭넓은 활용으로 인해 데이터의 종류와 양은 급격히 증가 중이다.
2. 데이터베이스 종류
(1) 파일시스템
파일에 이름을 부여하고 저장이나 검색을 위하여 논리적으로 그것들을 어디에 위치시켜야 하는지 등을 정의한 뒤 관리하는 데이터베이스 전 단계의 데이터 관리 방식이다.
- ISAM(Indexed Sequential Access Method): 자료 내용은 주 저장부, 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템
- VSAM(Virtual Storage Access Method): 대형 운영 체계에서 사용되는 파일 관리시스템
(2) 계층형 데이터베이스 관리시스템(HDBMS: Hierarchical Database Management System)
데이터를 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스이다. 데이터에 대한 접근 속도가 빠르지만, 종속족인 구조로 인하여 변화하는 데이터 구조에 유연하게 대응하기가 쉽지 않다. IMS, System2000과 같은 제품이 있다.
(3) 망형 데이터베이스 관리시스템(NDBMS: Network Database Management System)
데이터의 구조를 네트워크상의 망상 형태로 논리적으로 표현한 데이터 모델이다. 트리구조나 계층형 데이터베이스보다는 유연하지만 설계가 복잡한 단점이 있다. IDS, TOTAL, IDMS와 같은 제품이 있다.
(4) 관계형 데이터베이스 관리시스템(RDBMS: Relational Database Management System)
가장 보편화된 데이터베이스 관리시스템이다. 데이터를 저장하는 테이블의 일부를 다른 테이블과 상하 관계로 표시하며 상관관계를 정리한다. 변화하는 업무나 데이터 구조에 대한 유연성이 좋아 유지 관리가 용이하다.
- Oracle: 미국 오라클사에서 개발한 데이터베이스 관리시스템으로 유료이다. 리눅스/ 유닉스/윈도 모두를 지원하며 대 형 시스템에서 많이 사용한다.
- SQL Server: 마이크로소프트사에서 개발한 관계형 데이터베이스 시스템이다. 마이크로소프트사 제품이기 때문에 윈도 즈 서버에서만 구동이 되며, 마이크로소프트사의 개발언어인 C# 등과 가장 잘 호환된다.
- MySQL: 썬 마이크로시스템에서 소유했던 관계형 데이터베이스 시스템이었으나 오라클에서 인수하였다. 리눅스, 유닉 스, 윈도에서 모두 사용이 가능하고 오픈소스 기반으로 개발되었다.
- Maria DB: MySQL 출신 개발자가 만든 데이터베이스로 MySQL과 완벽히 호환된다.
3. 데이터베이스 관리시스템(DBMS) 특징
- 데이터 무결성: 부적절한 자료가 입력되어 동일한 내용에 대하여 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질
- 데이터 일관성: 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 변함없이 일정
- 데이터 회복성: 장애가 발생하였을 시 특정 상태로 복구되어야 하는 성질
- 데이터 보안성: 불법적인 노출, 변경, 손실로부터 보호되어야 하는 성질
- 데이터 효율성: 응답 시간, 저장 공간 활용 등이 최적화되어 사용자, 소프트웨어, 시스템 등의 요구 조건을 만족 시켜야 하는 성질
4. 상용 데이터베이스 관리시스템 및 오픈소스 기반 데이터베이스 관리시스템
- 상용 데이터베이스 관리시스템은 특정 회사에서 유료로 판매하는 시스템이다. 유지 보수와 지원이 원활한 장점이 있다.
- 오픈소스 기반 데이터베이스 시스템은 오픈소스 라이선스 정책을 준용하는 범위 내에서 사용이 자유롭다. 최근 사용 비중이 증가하고 있다.
<
2-2. 관계형 데이터베이스 활용
주어진 E-R 다이어그램을 이용하여 관계형 데이터베이스의 테이블을 정의할 수 있다.
1. ERD(E-R Diagram)
1. ERD 개요
ERD는 업무 분석 결과로 도출된 실체(엔티티)와 엔티티 간의 관계를 도식화한 것이다. ERD로 요소들 간 연관성을 도식화하여 데이터베이스 관리자, 개발자, 사용자 모두 데이터의 흐름과 연관성을 공통적으로 쉽게 확인할 수 있다.
2. ER Model
ERD의 구성 요소인 개체, 관계, 속성을 추출하기 위해서는 업무나 시스템에 대한 명확한 정의가 있어야 한다. ERD로 도식화하기 전 각 개체를 사각형, 화살표, 마름모로 표기한 형태를 ER 모델이라고 한다.
(1) 엔티티(Entity)
사물 또는 사건으로 정의되며 개체라고도 한다. ERD에서 엔티티는 사각형으로 나타내 고 사격형 안에는 엔티티의 이름을 넣는다.
- 가능한 한 대문자로 엔티티 이름을 써 주며 단수형으로 명명한다.- 유일한 단어로 정한다.
(2) 속성(Attribute)
엔티티가 가지고 있는 요소 또는 성질을 속성이라 부른다. 속성은 선으로 연결된 동그라미로 표기(Chen Model)하거나 표 형식으로 표기(Crow's Foot Model)하기도 한다. 관계형 데이터베이스 활용을 위해서는 Crow's Foot Model이 편리하다.
- 속성명은 단수형으로 명명한다.
- 엔티티명을 사용하지 않는다.
- 속성이 필수 사항(Not Null)인지, 필수 사항이 아닌지(Null) 고려하여 작성한다.
(3) 관계(Relationship)
두 엔티티 간의 관계를 정의한다. 개체는 사각형(□), 속성은 타원형(○)을 이용하여 표시하며, 관계 표시는 아래 그림을 참조한다.
출처: NCS 학습 모듈 (LM2001020215_15v3)
'스마트웹 개발 > 응용SW 기초 기술 활용' 카테고리의 다른 글
04.기본 개발환경 구축하기 (0) | 2021.03.31 |
---|---|
03.네트워크 기초 활용하기 (0) | 2021.03.31 |
01. 운영체제 기초 활용하기 (0) | 2021.03.22 |