CheerUp_Cheers

데이터베이스 본문

잡/정처기

데이터베이스

meorimori 2020. 5. 31. 18:42

Chapter1

 

*정보 시스템

한 조직체의 데이터를 바탕으로 의사결정에 필요한 정보를 추출하고 생성하는 시스템.


*데이터베이스의 정의(SOIS)

데이터를 공유할 수 있도록 운영에 필요한 데이터 통한하여 컴퓨터에 저장한 데이터

S : 공용 데이터

O : 운영 데이터

I : 통합 데이터

S : 저장 데이터

 

*데이터 베이스 특징(RCRCSC)

R : 데이터 중복의 최소화

C : 계속된 변화

R : 실시간 접근

C : 동시 공유

S : 뛰어난 자료간 연계썽

C : 내용에 의한 접근

 

*데이터베이스 구성요소

1) 속성

 데이터 베이스를 구축하는 가장 작은 논리적 단위, 파일시스템의 필드에 해당.

 자체만으로는 정보 표현X, 개체나 관계를 설명하는 도구의미.

2) 개체

 정보를 나타내는 논리적 단위로서 파일 시스템의 레코드에 해당.

 개체는 단독 존재, 구별가능.

3) 관계

 속성 관계 : 개체를 기술하기 위해 성질, 특성을 속성으로 구성.

 개체 관계 : 개체와 개체사이의 관계를 의미

 

*데이터 베이스의 구조

 1) 논리적 구조 : 사용자나 응용프로그래머 입장에서 본 관점.

 2) 물리적 구조 : 데이터가 물리적 저장장치에 배치된 형태, 실제 저장 장치

 

*데이터베이스의 3단계(외개내)

 1) 외부 단계

  사용자 관점, 여러개의 외부 스키마

 2) 개념단계

  사용자와 물리적인 데이터베이스 사이의 단계, 데이터베이스의 전체 정보.

 3) 내부 단계

  실제로 데이터 베이스가 저장되는 물리적 형태, 단 한개의 내부 스키마

 

*스키마

시간에 따라 불변.
데이터베이스의 전체적인 논리적 설계( 데이터 객체, 성질, 관계, 제약조건 을 총칭)

 

#스키마 3층 구조

 1) 외부 스키마

  사용자 입장에서 원하는 형태.

  조직 전체가 아닌 일부분.

  응용 프로그래머, 사용자 관심, 여러개

 2) 개념 스키마

  데이터를 통한한 조직 전체의 데이터베이스 구조. (하나만)

 3) 내부 스키마

  전체 데이터 베이스의 물리적 저장형태를 기술

  개념 스키마의 물리적 저장 형태를 정의하는 개념, (하나만)

 

*데이터의 독립성

 1) 논리적 데이터 독립성

  데이터의 논리 구조를 변경할 필요성

  -> 응용프로그램의 수정없이 데이터 스키마 변경 가능.

 2) 물리적 데이터 독립성

  물리적 저장 장치 변경의 필요성

  -> 물리적 구조의 변경

  -> 데이터 베이스를 이용하는 모든 프로그램의 변경없이 가능.


*데이터베이스 관리 시스템

데이터베이스의 생성과 조작을 담당하는 소프트웨어 그룹으로 소프트웨어 시스템에 해당.

 

*데이터베이스 관리 시스템의 필수 기능(D M C)

1) 데이터 정의 기능(DDL)

 데이터베이스의 논리적, 물리적 구조 정의

 #요건

   - 데이터의 논리적 구조를 정의할 수 있어야 함.

   - 데이터의 물리적 구조를 정의할 수 있어야 함.

   - 물리적 구조와 논리적 구조 사이의 접속사상을 정의할 수 있어야함.

2) 데이터 조작 기능(DML)

  사용자로 하여금 데이터를 처리할 수 있는 도구, 인터페이스 수단

  데이터 검색,삽입,삭제,변경

  #요건

  - 사용하기 쉽고 자연어에 가깝고 단순

  - 정확하고 명확한 명시

  - 데이터 접근에 효율적이여야함.

3) 데이터 제어 기능(DCL)

 #요건

  동시성 제어

  보안과 권한 검사

  무결성 및 제약 조건 유지

 

*기존 파일 처리 시스템의 문제점

 1) 데이터 종속문제

  데이터의 논리적 구조나 접근방법이 변경되면 응용프로그램도 변경해야함.

  #문제점

  - 데이터 고립

  - 새로운 응용이면 액세사상의 난점 발생.

 2) 데이터 중복문제

  같은 내용이더라도 구조가 다르면 중복 저장, 관리 됨.

  #문제점

  - 데이터 일관성 유지 어렵

  - 데이터 무결성 유지 어렵

  - 데이터의 중복저장으로 기억장소 낭비

  - 같은 데이터에 대해 같은 수준 보안 유지 어렵

 


*데이터베이스 언어(DBL)

데이터베이스 관리 시스템과 사용자간의 통신수단
어떤 객체라도 추출, 처리, 표현 가능한 언어의 완전성 갖춰야함

1)DDL

 데이터베이스 구조 생성,수정,삭제 언어.

 데이터 스키마 정의 언어.

 메타테이터 형태로 데이터 사전이라는 파일에 특별한 파일에 기록.

 #기능

  - 논리적, 물리적 데이터 구조 정의

  - 논리적,물리적 데이터 구조 간의 사상관계 정의

  - 데이터의 물리적인 순서 정의

2)DML

  구축된 데이터를 액세스하거나 조작하도록 하는 언어.

  #종류

  - 절차적 데이터 조작어 : 절차에 맞게 구체적으로 명시.

  - 비절차적 데이터 조작어 : QL이 속함, 배우기 쉽지만 절차가 없어 효율적이지 못함.

3)DCL(보무회병)

 - 보안

 - 무결성

 - 회복

 - 병행 수행

 

*데이터베이스 관리자(DBA)

데이터베이스의 생성과 모든관리 및 운영에 대한 책임과 권한을 지님.

 

#역할

 예비와 회복 절차 마련.

 데이터베이스 구성 요서 겾렁

 스키마 정의

 데이터 사전의 작성과 무결성 제약조건 지정

 저장 구조와 접근 방법

 보안정책 수립과 데이터 유효성 검사 방법 수립.

 요구사항의 변화에 따라 데이터베이스 재구성

 [!] 응용프로그램 작성은 절대 아님!!

 

 


Chapter2

*데이터 모델링

현실의 개체를 찾아내어 개체에 대한 특성으로 특성화 -> 관계성 파악 -> 구체화

 

*데이터 모델링 과정(정식상통검)

 1) 개체 정의

 2) 식별자 정의

 3) 상세화

 4) 통합

 5) 검증

 

*정보 모델링과 데이터 모델링

 1) 정보 모델링

  현실세계 -> 정보구조

 2) 데이터 모델링

  정보 구조 -> 논리적 구조(데이터구조, 컴퓨터만 이해)

 

*데이터 모델의 개념

현실 세계 -> 데이터베이스로 표현하는 중간 과정.

1) 개념적 데이터 모델

 - E-R모델

 - 이진모델

 - 의미적 데이터 모델

 - 정보 논리 모델

 - 함수적 데이터 모델   

2) 논리적 데이터 모델

 - 관계형 데이터 모델

 - 계층형 데이터 모델

 - 네트워크형 데이터 모델

 - 객체 지항형 데이터 모델

 

*데이터 모델의 구성요소(SOC)

데이터의 논리적 구조(S)
개체 인스턴스의 처리하는 연산(O)

개체 인스턴스의 논리적 제약 사항(C)

 

*개체관계모델(E-R모델)

개념적 단계에서 개체 내의 관계, 개체와 개체사이의 사상관게를 표현하는데 씀.

 

#특징

 - 피터 첸이 제안하여 가장 많이 사용.

 - 개체타입과 관계타입을 이용해 현실셰게를 개념적 표현

 - 개체 : 현실 세계의 객체를 의미(강사 학생)

 - 관계 : 개체들 사이의 관계를 표현(대여, 수강, 운전)

 

#그래픽 기호

 

*논리적 데이터 모델

개념적 단계에서 만든 구조를 컴퓨터에서 이해할 수 있는 논리적 구조로 변환하자

 

1) 관계형 데이터 모델

 테이블 구조, 관계구조.

 개체나 관계 모두가 릴레이션 형태.

 기본키와 외래키로 데이터간 관계 표현

 

2) 계층형 데이터 모델

 데이터 간의 관계를 순서 트리 형태로 나타남

 속성간의 고나계를 레코드, 레코드 간의 관계를 링크.

 모든 링크는 1:N 관계

 상하 계층 존재.

 

3) 네트워크 데이터 모델

 데이터 간의 관계는 그래프 구조 형태 나타남.

 1이 오너 레코드 타입, N이 멤버 레코드 타입 = 오너-멤버관계

 레코드 타입 간의 관계는 1:1 1:N N:1 N:M가능

 데이터 연계썽이 뛰어나나 복잡하고 비용 많이 듬.

 


*관게 스키마

데이터의 논리적 구조를 결정 하는 것을 관계 스키마 설계라고 함.

 

*스키마 변환 원칙(분정데)

 1) 분해의 원칙

 2) 정보의 무손실 원칙

 3) 데이터 중복 감소의 원칙

 

*이상현상

관계 스키마가 잘못 되면 불필요한 데이터 중복

1) 삭제 이상

2) 삽입 이상

3) 갱신 이상

 

*함수 종속

A의 도메인 값에 각각 하나의 B도메인이 연관된다

= B는 A에 함수 종속

= A->B, A는 결정자 B는 종속자

 

*정규화 개념

하나의 릴레이션에 하나의 의미만 존재할 수 있또록 릴레이션을 분해 하는것.

정규형 : 특정 조건에 만족하는 릴레이션 스키마의 형태.

기본 정규형 : 1NF, 2NF, 3NF, BCNF

고급 정규현 : 4NF, 5NF

 

*정규화의 목적

구성되는 모든 릴레이션이 중복되지 않게 효과적으로 데이터베이스에 표현 가능하도록.

릴레이션 삽입,삭제,갱신 이상의 문제가 없도록.

 

*정규화 필요성

 1) 자료의 저장공간을 최소화

 2) 데이터 불일치 최소화

 3) 자료구조를 안정화시킨다

 4) 자료의 삽입,삭제,갱신 이상현상을 방지.

 

*정규화 과정(도부이결다조)

1) 제1정규형

  -> 모든 도메인이 원자값

2) 제2정규형

 -> 기본키에 완전 함수 종속이면 정규형에 속함.

3) 제3정규형

 -> 기본키에 속하지 않는 모든 속성이 기본키에 이행적 함수 종속이 아니면

4) BCNF

 -> 모든 결정자가 후보키면 BCNF에 속한다.

5) 4정규형

 -> 한 릴레이션에서 다치종속을 제거한것

6) 5정규형

 -> 한 릴레이션에서 조인종속이 후보키를 통해서만 성립.

 


* 데이터베이스 설계시 고려사항(일무회효데)

1)일관성

2)무결성

3)회복/보안

4)효율성

5)데이터베이스의 확장성

 

*데이터베이스의 생명주기(요설구운감)

 1) 요구 조건 분석

 2) 설계 : 개념,논리,물리 설계

 3) 구현 : 스키마 정의, 빈 데이터베이스 파일 생성, 응용 소프트웨어 구현 단계

 4) 운영

 5) 감시 및 개선

 

*데이터베이스 설계 순서(요 개논물 구)

 1) 요구 조건 분석 (사용자 식별 및 범위 설정)

 2) 개념적 설계 (개념 스키마 모델링, 트랜잭션 모델링) - DBMS에 독립적, 산출물 ER-D
 3) 논리적 설계 ( DBMS에 따라 논리적 모델로 변환, 트랜잭션 인터페이스 설계, 스키마 평가 및 정제) - DBMS에 종속
 4) 물리적 설계 ( 물리적 구조 설계, 트랜잭션의 세부 사항 설계)

 5) 구현 단계 ( DDL로 스키마 작성, 트랜잭션 프로그래밍)

 

*물리적 설계 옵션 선택 시 고려사항(응저트)

1) 응답시간 : 시스템에 입력하여 결과 나오기까지 시간

2) 저장 공간의 효율화 

3) 트랜잭션 처리도 : 단위 시간에 시스템이 처리하는 평균 트랜잭션

 

*구현단계

물리적 설계 끝 -> DBMS에 DDL로 기술 -> 컴파일하여 데이터베이스 생성 -> 데이터 적재

=> 구현

 


Chapter3

*관계 데이터베이스에서 사용하는 용어

1)속성 : 개체의 특성이나 특징, 변수, 레코드

2)도메인 : 한 속성의 의미로 들어오는 실제 값 집합.

3)튜플 : 하나의 행 값에 해당, 레코드

4)릴레이션 : 데이터 간의 관계를 나타내는 표 자체.

  - 릴레이션 스키마 : 릴레이션 타입, 내연, 개념

   ex) 회원번호, 이름, 전화번호, 주민번호

  - 릴레이션 어커런스 : 인스턴스, 외연

   ex) (1, 김유신, 23-234, 9234932-234234)

5) 차수 : 릴레이션의 속성의 개수. 필드의 수, 정적임

5) 카디널리티 : 튜플의 갯수, 레코드의 개수, 동적임

7) 널값 : Empty 혹은 모르는 값, 정의가 없음, 0이나 공백과 다름

 

*릴레이션의 특성

1)튜플의 유일성

2)튜플간의 무순서

3)속성값은 원자값

4)속성 간의 무순서

5)속성 이름의 유일성

 

*키의 종류

1)후보키 : 유일성과 최소성을 만족

2)기본키 :  후보키 중 선택된키

3)대체(부)키 : 후보키 중 선택되지 못한 키

4)외래키 : 다른 릴레이션의 기본키를 참조하는 키

5)슈퍼키 : 최소성 없이 단지 식별하기위해 두개 이상의 속성 집합

 

*무결성 제약

데이터베이스의 데이터에 정확성을 부여할 목적으로 제약사항 설정

1) 도메인 무결성

 모든 값은 그 속성으로 정의되거나 제약된 도메인 영역에 있어야 함.

2) 개체 무결성

 하나의 개체 릴레이션에 대해서 중복된 튜플이 안된다는 제약.

 기본키를 구성하는 어떠한 속성도 NULL이나 중복 불가.

3) 참조 무결성

 참조하는 릴레이션의 참조키는 참조받는 릴레이션의 값들에 존재해야 삽입가능. 

 


*관계대수 특징

1)릴레이션으로 부터 필요한 릴레이션을 만들어내는 연산자 집합

2) 주어진 릴레이션 조작을 위한 연산

3) 원하는 정보와 그 정볼르 어떻게 유도하는가를 기술하는 절차적인 방법

4) 관계해석과 관계대수는 표현방법만 다르지 표현능력은 같음.

 

 

*관계해석 특징

1) 수학의 프래디 킷 해석에 기반

2) 질의하는 형식으로 원하는 형태의 릴레이션의 정의 연산

3) 구하고자하는 정보가 무엇이라는 것만 명시하는 비절차적

4) 튜플관계해석, 도메인관계해석이 있음.

 


*SQL의 특징

1)ANSI,ISO에서 선정한 관계 데이터베이스 표준 언어.

2) 관계 대수와 관계해석을 기초로한 혼한 언어

3) 데이터 정의,조작,제어 기능을 모두 갖춤.

4) 비절차식 언어, 대화식 질의어 가능

5) 다른 프로그램 언어에 삽입된 형태가능

 

*SQL 테이블의 종류

1)기본 테이블 : DDL로 만들어지는 테이블 독립, 테이블명을 기록

2)뷰 테이블 : DDL에 만들어지며 기본테이블에서 유도되어 만들어지는 가상테이블.

3)임시테이블 : 질의 처리과정에서 DML에 의해 만들어지는 테이블 임시테이블.

 

*SQL명령어 분류

1)DDL

 - CRATE

 - ALTER

 - DROP

2)DML(crud)

 - select

 - update

 - insert

 - delete

3)DCL

 - grant

 - revoke

 - commit

 - rollbacky

' > 정처기' 카테고리의 다른 글

소프트웨어공학  (0) 2020.05.31