SMALL

VIEW 변경 불가능한 경우

- 뷰의 열이 상수나 산술 연산자 또는 함수가 사용된 산술 식으로 만들어지면 변경이 허용되지않는다.

- 집계 함수(COUNT, SUM, AVG, MAX, MIN)가 관련되어 정의된 뷰는 변경할 수 없다.

- DISTINCT, GROUP BY 또는 HAVING이 사용되어 정의된 뷰는 변경할 수 없다.

- 두 개 이상의 테이블이 관련되어 정의된 뷰는 변경할 수 없다.

- 변경할 수 없는 뷰를 기초로 정의된 뷰는 변경할 수 없다.

LIST

'전공 > 데이터베이스' 카테고리의 다른 글

데이터베이스 회복기법  (0) 2021.05.03
VIEW 장단점  (0) 2021.05.03
릴레이션 특징  (0) 2021.05.03
데이터베이스 특징  (0) 2021.05.03
데이터베이스 정의  (0) 2021.05.03
SMALL

릴레이션 특징

- 투플들은 모두 상이(튜플의 유일성)

- 투플 사이에는 순서가 없음(튜플의 무순서성)

- 애트리뷰트 사이에는 순서가 없음(애트리뷰트의 무순서성)

- 모든 애트리뷰트 값은 원자값(애트리뷰트의 원자성)

LIST

'전공 > 데이터베이스' 카테고리의 다른 글

VIEW 장단점  (0) 2021.05.03
VIEW 변경이 불가능한 경우  (0) 2021.05.03
데이터베이스 특징  (0) 2021.05.03
데이터베이스 정의  (0) 2021.05.03
RAID  (0) 2020.09.18
SMALL

데이터베이스 특징

- 실시간 접근성

- 계속적인 변화

- 동시공용

- 내용에 의한 참조

LIST

'전공 > 데이터베이스' 카테고리의 다른 글

VIEW 변경이 불가능한 경우  (0) 2021.05.03
릴레이션 특징  (0) 2021.05.03
데이터베이스 정의  (0) 2021.05.03
RAID  (0) 2020.09.18
데이터베이스 설계단계  (0) 2020.09.17
SMALL

데이터베이스 정의

1. 통합데이터

  - 데이터가 중복되어 있지 않음

2. 저장데이터

  - 저장매체에 데이터를 저장

3. 운영데이터

  - 반드시 유지되어야 할 데이터

4. 공용데이터

  - 여러 응용 시스템들이 공동으로 소유하고 유지하는 것

LIST

'전공 > 데이터베이스' 카테고리의 다른 글

릴레이션 특징  (0) 2021.05.03
데이터베이스 특징  (0) 2021.05.03
RAID  (0) 2020.09.18
데이터베이스 설계단계  (0) 2020.09.17
정규화 단점  (0) 2020.09.16
SMALL

RAID(Redundant Array of Inexpensive Disks)

RAID는 디스크를 여러개를 배열하여 속도, 안정성의 증대 및 효율성, 가용성의 증대를 하기 위해 사용하는 기술을 의미합니다.

RAID 0


두개이상의 디스크에 데이터를 순차적으로 분할하여 저장(Stripe 방식)합니다.

장점 : 디스크 용량을 모두 활용할 수 있으며 빠른 I/O성능

단점 : 낮은 안정성(디스크 한개 고장나면 모든 데이터 손실)

RAID 1


데이터 처리 시, 디스크에 똑같은 데이터를 저장하는 방식(Mirroring)

장점 : 높은 안정성

단점 : 디스크 용량의 활용성이 낮음(전체 디스크의 절반만 데이터 저장하기때문에)

RAID 1+0, 0+1

RAID 1로 구성된 디스크들을 다시 0으로 구성하면 1+0,
RAID 0으로 구성된 디스크들을 다시 1로 구성하면 0+1 입니다. 실질적으로 1+0이 안정성이 더 높아 더 많이 사용

ex) 디스크 6개라 가정하면 0+1은 3+3(3개의 스트라이핑 후 2개로 미러링), 1+0은 2+2+2(2개씩 미러링 후 스트라이핑)
3+3은 디스크 각각 데이터 한개씩 (2개 디스크)까지만 보장하며, 2+2+2는 3개 디스크까지 보장을 하기 때문에..

RAID 3, 4


RAID 3,4는 RAID0과 같이 스트라이핑 방식으로 처리하며, 그리고 추가로 패리티 정보를 별도의 디스크에 저장
3은 데이터 저장 단위가 Byte, 4는 단위가 Block
장점 : RAID 0보다 높아진 안정성, RAID 1보다 뛰어난 성능
단점 : 패리티 디스크에 부하가 걸리면 전체적 성능 저하

RAID 5


RAID 5는 패리티 정보를 별도의 디스크에 저장하지 않고 패리티 정보도 디스크에 분할해서 저장하는 방식
장점 : RAID4의 단점을 보완하며 가성비가 매우 좋아 제일 많이 사용
단점 : 딱히 없음

RAID 6


RAID 5의 개선인데, 패리티 정보를 중복으로 저장하여 안정성을 더높인 방식
장점 : RAID 5보다 안정성 증가
단점 : RAID 6보다 비용 증가


LIST

'전공 > 데이터베이스' 카테고리의 다른 글

데이터베이스 특징  (0) 2021.05.03
데이터베이스 정의  (0) 2021.05.03
데이터베이스 설계단계  (0) 2020.09.17
정규화 단점  (0) 2020.09.16
BCNF 정규화  (0) 2020.09.16
SMALL

데이터베이스 설계단계

요구사항 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현

요구사항 분석

요구사항을 수집하여 요구사항 명세서로 작성하는 단계

개념적 설계

요구사항 명세서를 바탕으로 Entity와 Relation을 도출하여 E-R 다이어그램을 작성하는 단계

논리적 설계

E-R 다이어그램을 스키마로 변환하여 DBMS가 처리할 수 있도록 한다.

ex) [학생] 학생번호(PK), 학생명, 학년, 담임선생님번호(FK)

물리적 설계

논리적 설계에서 나온 것을 물리적 구조의 데이터로 변환하는 과정이며, db 저장 구조 및 인덱스 구조, 제약사항 등을 고려하여 설계

ex) creat table 문 생각하면 됨.

LIST

'전공 > 데이터베이스' 카테고리의 다른 글

데이터베이스 정의  (0) 2021.05.03
RAID  (0) 2020.09.18
정규화 단점  (0) 2020.09.16
BCNF 정규화  (0) 2020.09.16
스키마(Schema)  (0) 2020.09.15
SMALL

정규화를 하게 되면 테이블이 나뉘어지기 때문에 조인이 많아지므로 응답시간이 느려진다.. 그러므로 적절한 정규화를 하는게 좋을 것 같다.

LIST

'전공 > 데이터베이스' 카테고리의 다른 글

RAID  (0) 2020.09.18
데이터베이스 설계단계  (0) 2020.09.17
BCNF 정규화  (0) 2020.09.16
스키마(Schema)  (0) 2020.09.15
트리거(Trigger)  (0) 2020.09.15
SMALL

BCNF 정규화

Boyce-Codd Normal Form의 약자이며 3정규화보다 강한 정규화입니다.
그래서 BCNF를 만족하면 3정규화도 만족합니다.
BCNF는 비결정자에 의한 함수종속을 제거해야 하는 것을 의미합니다.


예시

위의 릴레이션은 요청리스트입니다.

제약조건은 담당자는 하나의 요청범주만 담당할 수 있습니다. 반대로 고객은 요청을 여러번 할 수 있습니다.



그렇다면 고객ID,요청범주로 담당자ID를 식별할 수 있습니다. 그리고 고객ID와 담당자ID로도 요청범주를 결정할 수 있습니다. 이렇게 되면 후보키가 2개가 되는데, PK는 한개만 되어야 하기에 둘 중 한개 선택해야합니다.


PK를 고객ID,담당자ID로 한다치면, 요청범주는 후보키가 아님에도 담당자ID를 결정짓고 있습니다.(제약조건때문)

이런 경우 이상현상이 발생합니다.


예를 들자면 새로운 담당자 D1이 출원인대리인 요청범주를 담당하는 것으로 INSERT가 된다면 아직 고객이 요청 온 것이 없기에 NULL, 출원인대리인, D1이 INSERT되어야 하는데 PK가 고객ID,담당자ID 이므로 NOT NULL이 되어야 하기에 삽입이상이 발생합니다.


갱신이상은 A1이 심판을 담당하게 된다면 2개의 행을 변경해야하는데 한개만 변경된다면 문제가 발생합니다.


삭제이상은 333고객이 요청을 취소한다면 디자인심사에 대한 정보를 잃게 되는 문제가 발생합니다.


해결방안

위와 같이 2개의 릴레이션으로 분할하면 문제가 없다.




LIST

'전공 > 데이터베이스' 카테고리의 다른 글

데이터베이스 설계단계  (0) 2020.09.17
정규화 단점  (0) 2020.09.16
스키마(Schema)  (0) 2020.09.15
트리거(Trigger)  (0) 2020.09.15
전체 백업, 차등 백업, 증분 백업  (3) 2020.09.13
SMALL

스키마

스키마는 데이터베이스 구조와 제약 조건에 관한 전반적인 명세를 기술한 것을 의미

스키마 특징

  • 스키마는 데이터 사전에 저장
  • 현실세계 특정 한 부분의 표현
  • 시간에 따라 불변인 특성
  • 인스턴스에 의해 규정
  • 데이터 구조적 특성을 의미

외부스키마(사용자 뷰)

  • 전체 데이터베이스의 하나의 논리적인 부분 (서브스키마)
  • 일반 사용자는 SQL을 이용하여 DB를 쉽게 사용 가능
  • 같은 DB에서도 다른 관점을 정의 가능

개념스키마(전체 뷰)

  • 전체 데이터베이스의 논리적 구조
  • 개체간의 관계와 제약 조건을 명시
  • DB 접근 권한, 보안 및 무결성 규칙 정의
  • 단순히 스키마라고 하면, 개념 스키마를 의미
  • DBA가 관리

내부스키마(저장 스키마)

  • 물리적 저장장치의 입장에서 본 데이터베이스 구조
  • 실DB에 저장될 레코드의 물리적 구조를 정의
  • 시스템 프로그래머, 설계자가 보는 관점의 스키마




LIST

'전공 > 데이터베이스' 카테고리의 다른 글

정규화 단점  (0) 2020.09.16
BCNF 정규화  (0) 2020.09.16
트리거(Trigger)  (0) 2020.09.15
전체 백업, 차등 백업, 증분 백업  (3) 2020.09.13
GRANT 구문  (0) 2020.09.08
SMALL

트리거(Trigger)

트리거는 insert, update, delete 같은 DML이 Table에 행해질때 자동으로 실행되는 것이다.

특징

  • 트리거는 테이블에만 정의 될 수 있으며, 따로 데이터베이스에 저장된다.
  • 실행된 테이블의 관계된 테이블을 변경함으로써 데이터 무결성을 강화
  • 트리거는 각 테이블에 최대 3개까지 생성 가능
  • 트리거가 정의된 작업이 존재하는데, 또 트리거를 정의하면 덮어쓰기가 된다.
  • 테이블 소유자만이 트리거 생성 및 삭제 가능
  • 데이터 무결성이나 업무 규칙 처리에만 사용 권장
  • 트리거는 TCL(COMMIT, ROLLBACK, SAVEPOINT)사용 불가능
  • 트리거 문장이 커밋,롤백 될때, 트리거 작업도 커밋,롤백 수행

사용 불가 SQL 명령

  • CREATE, DROP
  • ALTER
  • TRUNCATE
  • GRANT, REVOKE
  • SELECT INTO

성능

  • 오버헤드 적음
  • 트리거 실행 시간은 대부분 다른 테이블 참조에 사용
  • 트리거에 의해 참조 테이블 위치가 작업시간 결정

종류

  • 문장 트리거 : 트랜잭션 작업에 대해 1번 발생됨
  • 행 트리거 : 각 행마다 트리거 발생

PS. 문법은 생략


LIST

'전공 > 데이터베이스' 카테고리의 다른 글

BCNF 정규화  (0) 2020.09.16
스키마(Schema)  (0) 2020.09.15
전체 백업, 차등 백업, 증분 백업  (3) 2020.09.13
GRANT 구문  (0) 2020.09.08
이상현상(Anomaly)  (0) 2020.07.13

+ Recent posts