개발의변화
3단원 기출 본문
데이터베이스 정규화 단계
- 1정규형: 원자 값으로 구성
- 2정규형: 부분 함수 종속 제거
- 3정규형: 이행 함수 종속 제거
- 보이스-코드 정규형(BCNF): 결정자가 후보 키가 아닌 함수 종속 제거
- 4정규형: 다치(다중 값) 종속성 제거
- 5정규형(5NF): 조인 종속성 제거
트랜잭션의 ACID 원칙
- 원자성: 트랜잭션을 구성하는 연산 전체가 모두 정상적으로 실행되거나 모두 취소되어야 하는 상태
- 일관성: 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 하는 성질
- 격리성: 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 한다는 성질
- 영속성: 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장되어야 하는 성질
분산 데이터베이스 시스템
- 사용자는 하나의 데이터베이스처럼 인식하도록 분산 데이터벵스 투명성 기술이 구현되어야 함
분산 처리기, 분산 데이터베이스, 통신 네트워크
DROP VIEW
CASCADE: 참조하는 뷰까지 연쇄적으로 제거하는 옵션
RESTRICT:
DESC 내림차순, ASC 오름차순
인덱스 추가 삭제는 CREATE DROP
물리적 데이터 모델 단계 (데이터 타입, 데이터값의 분포, 접근 빈도)
- 응답시간, 저장 공간의 효율화, 트랜잭션 처리를 고려하여 설계
- 성능 측면에서 반 정규화를 수행
- 레코드 집중의 분석 및 설계
- 저장 레코드 양식 설계
- 접근 경로(Access Path) 설계
DDL 데이터 정의 CREATE, ALTER, DROP, TRUNCATE
DML 데이터 조작어 SELECT, INSERT, UPDATE, DELETE 데이터베이스에 저장된 자료들을 입력, 수정, 삭제, 조회하는 언어
DCL 데이터 제어어 DBA가 데이터 보안,무결성 유지, 병행 제어, 회복을 위해 사용하는 제어용 언어 GRANT, REVOKE
데이터베이스 뷰
뷰는 다른 뷰를 기반으로 새로운 뷰를 만들 수 있다
뷰는 일종의 가상 테이블이며, UPDATE에는 제약이 따름
뷰는 기본 테이블을 만드는 것처럼 CREATE VIEW를 사용하여 만들 수 있다
뷰는 논리적으로 존재하는 기본 테이블과 다르게 물리적으로만 존재 => 논리적으로만 존재
튜플은 순서를 가지지 않는다
Active -> Partialy commited -> committed
-> aborted FAILED
SELECT 조회, INSERT 생성, UPDATE 변경, DELETE삭제
데이터 모델에 표시해야 할 요소
구조(Structure): 데이터베이스에 논리적으로 표현할 대상으로서의 개체 타입과 개체 타입 간의 관계
연산(Operation): 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세
데이터베이스 무결성
- 개체 무결성: 한 엔티티에서 같은 기본 키를 가질 수 없거나, 기본 키의 속성이 NULL을 허용할 수 없는 조건
- 참조 무결성: 외래 키가 참조하는 다른 개체의 기본 키에 해당하는 값이 기본 키 값이나 NULL이어야 하는 제약조건
- 속성 무결성: 속성의 값은 기본값, NULL 여부, 도메인(데이터 타입, 길이)이 지정된 규칙을 준수해야 하는 제약조건
- 사용자 무결성: 사용자의 의미적 요구사항을 준수해야 하는 제약조건
- 키 무결성: 한 릴레이션에 같은 키 값을 가진 튜플들을 허용할 수 없는 제약조건
복수
Degree: 속성(Attribute)
Cardinally: 튜플(Tuple)
Cartesian Product:일반 집합 연산자로 R과 S에 속한 모든 튜플을 연결해 만들어진 새로운 튜플로 릴레이션 규정
응답시간, 저장 공간의 효율화, 트랜잭션 처리, 접근 경로
개체-사각형
관계-마름모
속성- 타원
다중 값 속성 - 이중 타원
관계-속성 연결 - 선
A->B이고 B->C일 때 A->C는 이행함수 종속성이고, 이행함수 종속성 관계를 제거하는 단계 3NF
CREATE TABLE
primary key: 테이블의 기본 키를 정의
foreign key:외래 키를 정의
unique: 해당 컬럼에 동일한 값이 들어가지 않도록 하는 제약조건
not null: 해당 컬럼은 null값을 포함하지 않도록 하는 속성
check: 개발자가 정의하는 제약조건
default: 해당 필드의 기본값 설정
BETWEEN A aND B "A보다 크거나 같고, B보다 작거나 같다
GRANT 관리자(DBA)가 사용자에게 데이터베이스에 대한 권한을 부여하는 명령어
REVOKE 관리자(DBA)가 사용자에게 부여했던 권환을회수하기 위한
COMMIT 데이터베이스 트랜잭션의 내용 업데이트를 영구적으로 확장하는 명령어
ROLLBACK 데이터베이스에서 업데이트 오류가 발생할 때, 이전 상태로 되돌리는 명령어