database 기초상식
1
1.1
DATA = 알려진 사실로부터 의미를 가지고 기록될 수 있다, 가공되기 전의 정보
INFORMAITION = DATA를 가공한것
DB = 서로 연관된 데이터들의 모임, 특정한 의미를 가짐, 실세계의 일부분
DBS = DB + DBMS + USER&APLLICATION PROGRAM
DBMS = DB를 정의 구축 조작 공유
정의 : DB에 저장되는 DATA에
필요한 데이터 타입, 구조, 제약조건들을 명시
->DB의 정의, 설명하는 정보는 DBMS에
의해 meta-data(카탈로그 형태)로 저장
구축 : DBMS가 관리하는 저장소에 데이터를 저장하는 과정
조작 : 데이터를 검색하기 위한 질의, 갱신, 리포트 생성 기능 포함
공유 : 여러 user나 program이 data에 동시 접근
1.2 DB 설계 단계
요구사항 분석 -> 개념설계 -> 논리적 설계 -> 물리적 설계 -> 수행
(개념설계에서 논리적설계로 가는데에는 정규화가 필요)
DB는 여러 개의 파일로 구성되며, 각 파일은 동일한 유형의 data record들을 저장
DB를 정의 하기 위해서는 각 파일의 레코드 구조를 명시 각 레코드에 저장되는 데이터 항목의 타입을 지정
1.3 DB의 특징
파일처리방식 : 중복이 있다(memory낭비, 중복된 항목을 고칠땐 일일히 고쳐하기에 overhead발생)
DB : data를 한번만 저장, DBS의 자기기술성, program-data 격리, 추상화, data의 다중 view, 공유, 다수트랜잭션
1.3.1 DBS의 자기 기술성
DBS는 DB뿐 아니라, DB에 대한 구조와
제약조건에 대한 완전한 정의를 가짐
DB에 대한 정의는 DB에 속하는 각 파일들의 구조, 타입, 제약조건 명시
이 정의는 DBMS catalog에 저장되며 저장된 정보를 meta-data라 함 =>DB의 구조 기술
1.3.2 program-data의 격리, 데이터 추상화
데이터 파일의 구조가 응용 프로그램과 분리되어 DBMS catalog에 저장되어있어 DBMS를 접근하는 프
로그램은 고칠 필요가 없다. => program-data의 독립성
객체지향DB, 객체관계DB는 데이터에 대한 연산(함수orMETHOD)까지 DB 정의의
일부로 나타냄
연산 = 인터페이스(연산의 이름, 매개변수의 데이터타입) + 구현(인터페이스와
별도)
프로그램에서는 연산의 구현 내용을 몰라도 연산의 이름과 매개변수들을 사용하여 연산을 수행할 수 있다.
=>program-opertaion 독립성
데이터 추상화 : 위의 두개의 독립성을 제공하는 성질을 의미
DBMS는 사용자에게 데이터에 대한 개념적인 표현을 제공
data model : 추상화의 한 종류(상세정보를 숨김)
1.3.3 데이터에 대한 다중 뷰의 제공
VIEW : DB의 일부이거나, DB로부터 유도되는 가상 데이터이지만 실제로 DB에 저장되진 않는다.
다수사용자용 DBMS는 여러 사용자들이 자신의 뷰를 정의할 수 있도록 하는 기능을 제공
1.3.4 데이터의 공유와 다수 사용자 트랜잭션 처리
다수사용자용 DBMS는 여러 사용자가 동시에 DB에 접근할 수 있는 DB이다.
동시성제어 소프트웨어가 데이터를 동시에 변경할때에도 데이터 일관성을 유지시켜준다.
트랜잭션 : 한 번 이상의 DB접근을 포함하는
프로그램이나 프로세스를 수행하는 것
DBMS는 트랜잭션의 몇가지 성질(고립성, 원자성)을 강제로 지킴
고립성 : 트랜잭션끼리 고립되어 수행되는것처럼 보이도록
원자성 : 트랜잭션 내의 모든 DB연산들이 수행완료
아니면 수행되지 않음
1.4 DBMS의 장점
1.4.1 중복성 제어
중복성은 논리적으로는 한번의 변경이지만 중복된 횟수만큼 반복해서 변경해야하므로 메모리의 낭비를 초래한다.
또한 데이터의 불일치(실수할가능성) -> 각 data는 DB에 한번만 저장되어야 한다.(정규화)
1.4.2 권한이 없는 접근의 통제
DBMS는 이를 위하여 보안과 권한이라는 서브시스템을 가진다.
1.4.3 프로그램 객체를 위한 지속성 기억 공간 제공
지속성 객체란 프로그램의 수행이 끝난 후에도 DB에 영구적으로 남아있는 것.
1.4.4 효율적인 질의 처리를 위한 저장구조와 탐색기법 => 인덱스, 버퍼링, 캐쉬, 질의처리 최적화
1.4.8 무결성 제약조건의 시행
DBMS는 무결성 제약조건들을 정의하고 검사하는 기능을 갖는다.
참조 무결성 제약조건 : 다른 파일의 레코드끼리 연관성을 갖는다.
키 제약조건 : 데이터 항목의 값들이 유일해야 한다.
이런 제약조건을 비즈니스룰 이라 부른다.
1.4.9 규칙을 사용한 추론과 수행
어떤 DBS에서는 DB에 저장되어 있는 사실로부터
새로운 정보를 추론하는 연역적 규칙을 정의할 수 있
다.
이러한 기능을 가진 DBS를 연역 DBS라 부른다.
트리거 : DB연산이 제약조건을 침해하였을때, 실행되는
SQL문
저장된 절차 : 많은 프로그램과 사용자들을 위해 미리 컴파일된 SQL문들
능동 DBS : 어떤 이벤트가 일어났을 때 자동으로 수행되는 능동 규칙
1.4.10 DB사용에 함축된 또 다른 의미
표준강화, 응용 개발 시간의 단축, 융통성, 최신 정보의 가용성, 규모의 경제성
'SW > Database MySQL' 카테고리의 다른 글
Entity-relation을 사용한 conceptual data modeling (0) | 2017.09.05 |
---|---|
sql의 데이터 정의와 타입 (0) | 2017.09.05 |
basic relation model (기본 관계 모델) (0) | 2017.09.05 |
Data model, schema, instance (0) | 2017.09.05 |
JOIN (0) | 2017.09.05 |