ch3 데이터베이스
오답
-인덱스 : CREATE, DROP
-DB 레코드 양식 설계할때 트랜잭션 모델링 신경X->논리적 DB 설계 단계
-DDL(정의),DML(조작),DCL(관리)
-디비 개념 설계 : 스키마, 요구분석-개념-논리(트랜잭션)-물리(트랜잭션 처리량)-구현
-CONSTRAINT : 무결성, OPERATION : 표현된 값 처리
-기본키는 NOT NULL, 오직 하나만 존재해야 한다, 중복 불가
-정규형 정리
1. 전부 원자값
2. 부분적 종속x, 완전 함수 종속
3. 이행 종속 x
bc. 결정자=후보키 -> 결정자이면서 후보키 아닌거 제거
4. 다치 종속 제거
5. 모든 조인 종속이 후보키 통해서만 성립
-e-r모델
1.네모 : 개체
2.마름모 : 관계
3.동그라미 : 속성, 동그라미 2개 : 다중 속성
4.직선 : 개체 타입과 속성 연
-degree : 열 개수, cardinality : 행의 개수
-인덱스 : ddl, 열이름 변경 : dml
-비트윈 : 양쪽 포함
-dcl : 권한 부여
-union : 중복 제거, union all : 중복 제거x
-순수관계 연산자 : select,project,join,devision
-dml : create, alter, drop
-ddl : insert,update,delete,select
-요구사항분석-개념-논리(정규화)-물리-구현
-x->y : x가 y를 정의
자료구조
-인덱스 : 데이터베이스에서 위치 찾기
-스택 가드 : 오버플로우 상태를 가정한 뒤 프로그램 실행을 중단 하는 기술
-언더 플로우 : 스택의 바닥
-오버 플로우 : 스택이 넘칠때
-0-주소 인스트럭션 = 스택
비선형 구조
-트리 레벨 root =1
-차수 = 노드 중 가장 많은 자식을 가진 노드의 자식 수
-이진 트리 운행법 : 전위-중위-후위 ->root가 앞-중간-뒤
-수식 표기법 : 전위,중위,후위 = 연산자 위치 지정 -> 옮기고 괄호 제거 하기
-단말노드 : 각노드의 마지막 노드
-무방향 노드 최대 간선 수 = n(n-1)/2
정렬
-삽입정렬 : 2번째 부터 키라고 임명하고 앞의 수와비교<->선택 정렬과 비교
-버블정렬 : 계속 양옆 비교
-선택정렬 : o(n^2), 맨앞의 숫자를 배열의 모든 원소와 비교
-병합정렬 : 2개씩 계속 나누고 합치면서 정렬o(nlogn)
-퀵정렬 : o(n^2),o(nlogn)
-힙정렬 : o(nlogn)
검색과 해싱
-슬롯 : 레코드 1개 저장 하는공간
-충돌 : 레코드가 같은 버킷에 저장 -> 오버플로우 발생
-동의어 : 동일한 홈주소
-xor : 폴딩법
인덱스 구조와 파일 편성
-오버플로 영역 : 색인구성에 필요하다
-VSAM : 기본영역, 오버플로 영역 구분 하지 않는다
-직접파일 : 레코드키에 의한 주소 공간
-색인순차파일 : 오버플로 레코드가 많아지면 재편성 해야하는 공간
데이터베이스
-정의기능 : 테이블 만들기
-조작기능 : DB 조정
-제어기능 : 무결성 유지
-장점 : 중복 및 종속성 최소화
-OLAP (자료 분석 도구) 연산종류 : 롤업,드릴다운,다이싱,슬라이싱
-하둡 : 작은 컴퓨터를 모아 빅데이터 처리
-데이터 마이닝 : 의미 채굴
-데이터 자바 오픈소스 : 하둡
db 구성
-스키마 : 외부,개념(얼마나 효율적인지),내부
-정의어(만들때),조작어(레코드를 사용할때),제어어(보호 or 병행 제어)
-데이터 모델(현실을 데이터로 변환) : 데이터 구조, 연산, 제약 조건
-개념적 모델 : e-r 다이어그램 ,사각형(객체),마름모(관계),타원(속성),실선(연결)
-논리적 모델 : 계층형(트리),네트워크(망형),관계,객체지향
-개념 스키마 : db의 논리적 구조 정의
-내부 스키마 : 물리적 저장
관계형 db 모델
-릴레이션 구조 : 속성, 튜플
-도메인 : 값의 범위
-카디널리티 : 튜플(행) 개수
-디그리 : 열의 개수
-릴레이션 특징 : 튜플 유일,무순서|속성 원자성, 무순서
-키 : 슈퍼키의 최소단위
-개체 무결성 : 기본키-널 불가
-참조 무결성 : 외래키, 원래도 없으면 참조에도 없다
-도메인 무결성 :
-후보키 : 유일성, 최소성 만족
db설계
-개념설계(현실을 e-r로)-논리설계(테이블 생성)-물리설계(하드에 저장)
-정규화의 목적 : 데이터 구조의 안정화,중복 최소화(개체 무결성,참조 무결성)
-함수적 종속 : 결정자->종속자 : 학번->이름
-이행 함수적 종속 : x->y->z
-이상현상 : 릴레이션 조작시 불필요하게 중복
정규화
-1차 정규형 : 모든 도메인은 원자값
-2차 정규형 : 부분 함수적 종속 제거,완전 함수적 조속 관계 만족
-3차 정규형 : 이행적 함수 종속 제거
-bcnf : 강한 3차 정규형
-4차 : 다치
-5차 : 조인
반정규화
-정규화를 단순화 한다(역 정규화)
-무결성과 반정규화는 대척점
관계 대수와 연산자
-대절버스(관계대수는 절차적 수다)
-순수관계 연산자의 종류
1.셀렉트 : 튜플집합
2.프로젝트 : 속성집합
3.조인 : 공통 연결
4.디비전 : 나누기
집합연산자
-카티션 프러덕트 : 교차 곱 -> 속성개수는 더하고(차수는 더하고), 튜플은 곱한다(카디널리티는 곱한다),순수 x
SQL,DDL
-ALTER
-뷰 : 사용자한테 보여주는 가상의 테이블, ALTER 불가, DROP만 가능, 뷰위에 뷰 가능
-시스템 카탈로그 : 자료에 대한 정보가 담고 있는것 = 데이터사전,메타데이터 사용자가 하는게 아니라 시스템이 분석
-UPDATE 없다
DML
-GROUP BY는 항상 HAVING과 함께 처리
-DISTINCT : 중복 생략
-INSERT INTO
-DELETE FROM
-UPDATE SET
-LIKE : 문자열 비교
-BETWEEN AND
-SEL,INSER,DEL,UPDATE
트랜잭션
-원자성 : 통으로 동작해야 한다, 반영하던지 안하던지
-일관성
-격리성 : 다른 동작에 영향 안받아야 한다
-영속성
-CRUD Matrix : db 분석 도구, 언제 어떤 동작 하는지,테이블간의 매트릭스
-즉각 갱신법 : 회복 작업을 위해서 별도 log 기록
-commit : 승인
-rollback:
-recovery : 복구
-병행제어 : 공유하기 위해 동시에 수행되는 트랜잭션을 일관성있게 처리 하기 위한것
-로킹,최적병행수행,타임스탬프-직렬화를 미리 정하는것,다중버전
-로킹 : 로킹 단위가 커지면 로크의 수가 적어진다
-2단계 로킹 : 확장,축소 2개의 단계 존재
-로그파일 사용하는것 -즉각 갱신 방법
보안
-암호화=복호화 - >비밀키
-암호화=복호화 아닐때 -> 공개키
-grant on to 사용자에게 권한 부여
-DML(UPDATE,DELETE,INSERT,SELECT)
-REVOKE GRANT OPTION FOR 권한 ON 객체 FROM 사용자 CASCADE
-TRIGGER : 이벤트 마다 관련 작업 자동 수행
분산데이터
-위치 투명성 : 위치 중요 X
-중복 투명성 : 중복되도 상관X
-병행 투명성 : 다중 사용자 공유가능
-장애 투명성 : 어디서 오류나도 알필요 없음