-
데이터베이스란?학교 수업/데이터베이스 2020. 4. 21. 17:11
데이터베이스(Database, DB)
- 개념: 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합
통합, 저장, 공용 데이터
- 특징
① 실시간 접근성 : 질의 또는 조회에 대해 즉각적 응답
② 계속적 변화 : 새로운 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터를 유지하면서 변화
③ 동시 공유 : 여러 사용자가 동시에 같은 데이터에 접근 가능
④ 내용 참조 : 데이터를 참조할 때 주소나 위치가 아닌 내용으로 접근
- 장점
① 데이터 중복 최소화
② 데이터 공유
③ 최신의 데이터 유지
④ 용이한 데이터 접근
⑤ 데이터의 표준화 가능
⑥ 데이터의 논리적, 물리적 독립성
⑦ 데이터 저장 공간 절약
⑧ 일관성, 무결성(데이터의 정확성과 일관성 유지 보증하는 것을 뜻함), 보안성 유지
- 단점
① 데이터베이스 전문가 필요
② 많은 비용 부담
③ 데이터 백업과 복구가 어려움
④ 시스템의 복잡함
⑤ 대용량 디스트로 엑세스가 집중되면 과부하 발생
- 구성요소
① 속성(attribute) : 데이터베이스의 가장 작은 논리적 단위
개체의 구성 원소로서 그 개체의 특성이나 상태를 나타냄
② 개체(entity) : 데이터베이스가 표현하려고 하는 유형, 무형의 정보 객체
서로 연관된 몇 개의 속성들로 구성
③ 관계(relationship) : 개체 간의 어떤 의미를 표현함
관계 유형
⒜ 일대일(1:1)
⒝ 일대다(1:N)
⒞ 다대다(N:N)
데이터베이스 관리 시스템(DataBase Management System, DBMS)
- 개념: 모든 응용프로그램들이 데이터베이스를 공용으로 사용할 수 있게끔 관리해 주는 시스템 소프트웨어
- 종류 : Oracle, MySQL 등
- 기능
① 정의기능 : 데이터베이스에 저장될 데이터형과 구조의 정의, 이용방법, 제약조건을 명세
응용프로그램과 데이터베이스 간의 상호작용 수단
② 조작기능 : 데이터베이스에 접근하여 데이터 검색, 삽입, 삭제, 갱신 등을 수행
사용자와 데이터베이스 간의 상호작용 수단
③ 제어기능 : 보안 유지, 권한 검사, 여러 사용자가 같은 데이터를 동시에 처리할 때 병행 제어
데이터베이스 언어(Database Language)
1. 데이터 정의어 (Data Definition Language, DDL)
- 데이터베이스 구조, 데이터 형식, 접근방식 등 데이터베이스를 생성하거나 수정할 목적으로 이용하는 언어
- SQL ex) CREATE(생성), ALTER(변경), DROP(삭제)
2. 데이터 조작어(Data Manipulation Langauge, DML)
- 사용자와 DBMS 간의 인터페이스를 제공하는 언어, 사용자가 원하는 데이터를 처리하는데 이용하는 언어
- SQL ex) Select(튜플 검색),Insert(튜플 삽입),Update(튜플 갱신),Delete(튜플 삭제)
DROP != Delete
3. 데이터 제어어(Data Control Language, DCL)
- 불법 사용자로부터 데이터를 보호하기 위해 이용하는 언어
- SQL ex) COMMIT(수행된 결과를 실제 물리적 디스트로 저장), ROLLBACK(비정상적으로 종료되었을때 복구),
GRANT(권한 부여), REVOKE(권한 취소)
* SQL (Structured Query Language)
데이터 베이스 설계 순서
사용자의 요구 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 데이터베이스 구현
개념적 설계 : 개체와 개체들 간의 관계에서 ER다이어그램*(아래에서 설명)을 만드는 과정
논리적 설계 : ER다이어그램을 사용하여 논리적 모델 만드는 과정
물리적 설계 : 논리적 모델을 실제 컴퓨터의 저장 장치에 저장하기 위해 물리적 구조를 정의하고 구현하는 과정
데이터 모델
- 개념: 현실세계의 데이터 구조를 컴퓨터 세계의 데이터 구조로 논리적으로 표현한 것
- 종류
① 개념적 모델 : 인간이 이해하기 쉽게 개념적으로 표현하는 방법
속성들로 기술된 개체 타입과 개체 타입들 간의 관계를 이용하여 현실 세계를 표현
E-R 모델 : 개체 타입과 관계 타입을 이용해 현실 세계를 개념적으로 표현한 모델
개체, 속성, 관계로 묘사
E-R 다이어그램으로 표현
E-R 다이어그램 : E-R모델을 시각적으로 표현하기 위해 사용되는 도형, 여러 기호로 구성
예를 들어서 E-R모델을 만들어보자
교수와 과목은 1:1 일대일 관계이다.
교수와 학생은 1:N 일대다 관계이다.
② 논리적 모델 : 개념적 구조를 컴퓨터가 이해하고 처리할 수 있게 표현하는 방법
관계 데이터 모델 : 행과 열의 테이블 형태
상용 DBMS : ORACLE, SQL/DS
계층 데이터 모델 : 트리 형태
상용 DBMS : IMS, SYSTEM2000
네트워크 데이터 모델 : 그래프 형태
상용 DBMS : DBTG, IDMS, TOTAL
데이터 모델 중에서 가장 널리 쓰이는 관계 데이터 모델은 다음 포스팅에서 자세히 다루도록 하겠다.
'학교 수업 > 데이터베이스' 카테고리의 다른 글
sql문 연습사이트 (0) 2020.06.26 이상현상 & 정규화? (0) 2020.04.26 뷰? (0) 2020.04.24 트랜잭션? (0) 2020.04.24 관계 데이터베이스? (0) 2020.04.21