database 기초상식

1

1.1

DATA = 알려진 사실로부터 의미를 가지고 기록될 수 있다, 가공되기 전의 정보


INFORMAITION = DATA
를 가공한것


DB = 서로 연관된 데이터들의 모임, 특정한 의미를 가짐, 실세계의 일부분


DBS = DB + DBMS + USER&APLLICATION PROGRAM


DBMS = DB를 정의 구축 조작 공유


정의 : DB에 저장되는 DATA에 필요한 데이터 타입, 구조, 제약조건들을 명시
->DB
의 정의, 설명하는 정보는 DBMS에 의해 meta-data(카탈로그 형태)로 저장


구축 : DBMS가 관리하는 저장소에 데이터를 저장하는 과정


조작 : 데이터를 검색하기 위한 질의, 갱신, 리포트 생성 기능 포함


공유 : 여러 userprogram 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