[1] 데이터베이스의 정의와 특징
(1) 데이터베이스
1. 데이터 베이스의 정의
조직에서 필요로 하는 여러 응용 시스템을 공동으로 사용할수 있도록 관련 데이터를 통합하여 저장한 데이터의 집합
2. 데이터베이스의 구성
- 통합데이터
- 저장데이터
- 운영데이터
- 공용데이터
(2) 데이터베이스의 특징
1. 실시간 접근성
2. 계속적인 변화
3. 동시공유
4.내용에 의한 참조
(3) 데이터베이스의 논리적 구성요소
1. 속성 :
각각의 데이터 필드 (고유번호 , 이름 , 지역 )
객체의 성질이나 상태를 기술한 역할
객체의 구성요소
가장 작은 논리적 단위
2. 개체 :
- 여러 속성이 모여 개체가 된다 (학생)
- 정보의 역할을 수행하는 것은 개체이다
- 개체의 구성요소 : 개체 타입 , 개체 어커런스 , 개체집합 , 도메인
- 개체 타입 : 개체를 구성하는 속성들의 집합 ; 표의 제목
- 개체 어커런스 : 개체 타입에 의해 생성된 실제 값 ; 레코드
- 개체 집합 : 개체 어커런스의 집합
- 도메인 : 속성이 가질수 있는 값의 집합이나 범위
3. 관계
- 속성관계 : 속성과 속성 사이의 관계
- 개체관계 : 개체집합과 개체 집합 사이의 관계
- 개체 관계의 종류 : 1:1 관계 , 1: 다 관계 , 다 : 다 관계
[2] 데이터베이스의 구조
(1) 논리적 구조
- 일반 사용자와 프로그래머 측면의 데이터베이스를 정의한 구조
- 취급 데이터 : 논리적 레코드
- 논리적 데이터베이스 : 논리적 레코드로 구성된 데이터베이스
(2) 물리적 구조
- 디스크 , 테이프 같은 물리적 저장 장치 측면의 데이터베이스
- 취급데이터 : 저장 레코드
- 물리적 데이터 베이스 : 물리적 구조로 구성된 데이터베이스
(3) 데이터베이스의 사상 맵핑
- 논리적 데이터베이스와 물리적 데이터베이스 사이의 대응관계
- 논리적 데이터베이스로 만들어진 구조를 물리적 데이터 베이스의 어디에 저장할것인가
[3] 파일시스템
(1) 파일시스템의 이해
1. 정의
- 특정 조직에서 사용하는 데이터를 파일로 만들어서 관리하는 시스템
2. 특징
- 응용프로그램은 논리적 파일 구조와 물리적 파일구조가 1:1 대응이 필요하다
- 프로그래머는 물리적 데이터 구조를 알고 있어야 논리적 파일구조를 설계할수있다
- 1개의 응용프로그램이 1개의 데이터 파일을 요구하므로 각각 응용프로그램 별로 관리해야한다
(2) 파일시스템의 문제
1. 데이터의 종속성
- 응용 프로그램과 데이터 간의 상호의존적인 관계가된다
- 문제 : 데이터 구성 , 형식 , 접근방법이 변경되면 응용프로그램에서도 문제가 생길수 있다
- 해결 : 응용프로그램과 데이터의 독립성 만든다
2. 데이터의 중복성
- 데이터 구조 중 일부 또는 전체가 중복이 있다
- 문제
- 일관성 문제 : 데이터 불일치 발생하여 일관성이 없음. 데이터 모순이 생긴다
- 보안성 문제 : 데이터가 여러곳에 중복된 값이 확인되어 보안 수준의 유지가 어렵다
- 경제성문제 : 중복 데이터 저장을 위한 추가 저장공간이 필요하게 됨 . 중복된 데이터를 삭제하는 갱신 비용도 상승함
- 무결성 문제 : 중복된 데이터로 인해 데이터의 정확성이 떨어짐
- 해결 : 데이터 중복 제거한다
[4] 데이터베이스 관리 시스템
(1) DBMS 의 등장 배경과 정의
1. DBMS의 등장 배경
- 파일시스템의 문제인 "데이터 종속성 , 데이터 중복성 " 을 해결하기 위해 제안된 시스템
2. DBMS의 정의
- 모든 응용프로그램들이 데이터베이스를 공용 할수 있도록 관리하는 소프트웨어 시스템
(2) DBMS 의 역할
- 모든 응용프로그램이 데이터베이스에 접근할때는 DBMS를 통해서만 가능하다
- DBMS는 데이터베이스의 구성, 접근방법, 관리유지를 책임진다
(3) DBMS의 필수기능
1. 정의기능
- DBMS는 데이터의 논리적 구조와 특성을 데이터 모델에 맞게 기술한다
- DBMS는 데이터베이스가 물리적 저장 장치에 저장될수 있도록 물리적 구조를 기술한다
- DBMS는 서로 다른 구조 사이의 변환이 가능하도록 사상을 기술한다
2. 조작기능
- DBMS는 응용 프로그램과 데이터베이스간의 상호작용 수단을 제공한다
- DBMS는 사용이 쉽고 자연스러워야한다
- DBMS는 명확하고 완전해야한다
- DBMS는 효율적이여야한다
3. 제어기능
- DBMS는 데이터베이스의 내용에 대해 정확성과 안정성을 유지할수 있도록 제언한다
- DBMS는 데이터의 무결성을 유지한다
- DBMS는 보안 유지 및 권한을 검사한다
- DBMS는 병행 제어한다
(4) DBMS의 장단점
DBMS 장점 | DBMS 단점 |
데이터 중복 최소화 | 운영비 증대 |
데이터 공용 가능 | 자료처리의 복잡화 |
데이터 일관성 유지 | 예비조치와 회복 기법 복잡 |
데이터 무결성 유지 | 시스템의 취약성 |
데이터 보안 보장 | |
표준화 작업 |
(5) 데이터의 독립성
1. 논리적 데이터 독립성
- 데이터 베이스의 논리적 구조 변경이 가능하다 ( 응용프로그램 영향 안줌)
- 1개의 논리적 구조로 다양한 응용 프로그램이 요구하는 여러개의 논리적구조로 사상 매핍이 가능하다
2. 물리적 데이터 독립성
-논리적 구조의 데이터베이스는 물리적 구조의 저장 매체에도 저장되어있다
- 물리적 구조의 저장매체가 변경이나 확장되어도 응용프로그램에 영향을 주지 않는다
[5] 데이터베이스 시스템
(1) 데이터베이스 시스템의 개념
1. 정의
- 데이터를 데이터베이스로 저장하고 관리에 필요한 정보를 생성하는 컴퓨터 시스템
2. 데이터베이스 시스템의 구성요소
- 데이터베이스 DB
- 데이터베이스 관리 시스템 DBMS
- 데이터베이스 언어 DBL
- 사용자 user
- 데이터베이스 관리자 직업 DBA
- 데이터베이스 컴퓨터 DBM
(2) 스키마 Schema
1. 정의
- 개체, 속성, 관계 같은 데이터 객체에 대한 데이터 구조와 제약 조건에 대해 명세를 기술한 것이다
2. 3단계 데이터베이스 구조
- 외부 스키마 : 서브 스키마 = 사용자 뷰 view
- 개념스키마 : 모든 데이터 객체 , 제약조건 포함 , 접근권한 / 보안 정책 / 무결성 규칙 , 종합적 의미의 논리적 구조 ; 전체적인 뷰
- 내부스키마 : 레코드 인덱스의 유무 , 저장데이터 표현방법 , 물리적 저장 순서 등의 형식 정의 및 기술 ; 레코드의 물리적 구조
(3) 시스템 카탈로그
1. 정의
- 데이터 사전 ; 시스템 데이터베이스
- 데이터베이스의 모든 데이터 객체들에 대한 정의 , 명세에 대한 정보를 유지 관리한다
2. 데이터사전
- 데이터베이스에 저장된 데이터에 접근할수 있는 위치 정보를 관리하는 시스템
3. 메타 데이터
-시스템 카탈로그 , 데이터 디렉터리 같은 시스템 데이터 베이스
(4) 데이터 언어
데이터 베이스를 정의하고 접근하기 위한 통신수단
1. 데이터 정의어 DDL
- 데이터베이스 스키마를 정의하거나 조작하기 위한 언어
2. 데이터 조작어 ; 데이터베이스 언어 DML
- 데이터베이스의 내부 데이터를 관리하기 위한 언어
- 데이터 조회, 추가 , 변경, 삭제 등 작업에 이용된다
3. 데이터 제어어 DCL
- 데이터베이스 권한 부여하기 위한 언어
(5) 사용자
1. 일반사용자
2. 응용프로그래머
3. 데이터베이스 관리자
'🌈 백엔드 > 데이터베이스' 카테고리의 다른 글
데이터베이스_MySQL에서 DB생성 및 실행 (0) | 2023.06.27 |
---|---|
데이터베이스_MySQL 계정 및 스키마 생성 (0) | 2023.06.26 |
DB_데이터베이스_트랜잭션 (0) | 2023.04.25 |
DB_데이터베이스_정규형과 DB 설계 (0) | 2023.04.24 |
DB_데이터베이스_데이터 모델 및 언어 (0) | 2023.04.21 |
댓글