2021/08 34

정규화, 함수적 종속성_ 정규화의 목적, 제1정규형, 제2정규형, 제3정규형, BCNF분해

▣ 함수적 종속(Functional Dependency) 1) 완전 함수적 종속 릴레이션 R에서 애트리뷰트 X의 값 각각에 대해 항상 애트리뷰트 Y의 값이 하나만 연관되는 경우 2) 부분 함수적 종속 애트리뷰트 Y가 복합 애트리뷰트 X에 함수 종속이면서 X의 진부분 집합에는 함수 종속이 아닌 경우 3) 이행 함수 종속 종속관계 중 키가 아닌 다른 애트리뷰트도 결정자일 경우 ▣ 정규화 1) 제1정규형(1NF, First Noraml Form) 한 릴레이션을 구성하는 모든 도메인이 원자값으로 된 정규형 / 속성의 원자화 2) 제2정규형(2NF, Second Normal Form) 제1정규형을 만족하면서 릴레이션에 존재하는 부분 함수적 종속을 제거하여, 모든 속성이 기본키에 완전 함수 종속이 되도록 만들어진 ..

데이터베이스 2021.08.21

SQL _중복 릴레이션(테이블), 차수(degree)와 카디날리티(cardinality), Sailors, Reserves, boats

▣ SQL _중복 릴레이션(테이블), 차수(degree)와 카디날리티(cardinality) 2014년 73번 정답 : 2번 차수(degree)는 SID, SNAME 2개, 카디날리티(cardinality)는 총 3개 B1.color = 'red' AND B2.color = 'green'이므로 bid는 (102, 103) 혹은 (103, 104)이어야 하며 해당하는 bid인 sid는 31, 64, 74임 ----------------------------------------------------------------- -- 2014년 정보시스템감리사 DB 73번 CREATE TABLE SAILORS_73 ( SID INT , SNAME VARCHAR(20) NOT NULL , RATING INT , A..

데이터베이스 2021.08.21

트랜잭션_동시성 제어_로킹 기법_다중 단위 크기 로킹(multiple granularity locking), 로크 lock, 호환성 행렬

▣ 트랜잭션_동시성 제어_로킹 기법_다중 단위 크기 로킹(multiple granularity locking), 로크 lock, 호환성 행렬 잠금 호환성에 따라 여러 트랜잭션이 동시에 같은 리소스에 대한 잠금을 획득할 수 있는지 여부가 결정됨 이미 다른 트랜잭션에서 리소스를 잠근 경우에는 요청된 잠금 모드가 기존 잠금 모드와 호환되어야만 새 잠금 요청이 허용될 수 있음 요청된 잠금의 모드가 기존 잠금과 호환되지 않을 경우 새 잠금을 요청하는 트랜잭션은 기존 잠금이 해제되거나 잠금 시간 초과 간격이 만료될 때까지 기다림(배타적 잠금과 호환되는 잠금 모드는 없음) 배타적(X) 잠금이 설정되어 있는 동안 다른 트랜잭션은 배타적(X) 잠금이 해제될 때까지 해당 리소스에 대해 공유, 업데이트 또는 배타적 잠금을 ..

데이터베이스 2021.08.21

SQL 조인_이너 조인, 아웃터 조인, 세타 조인, 동등 조인, 자연 조인, 세미 조인, 교차 조인, 셀프 조인

▣ SQL 조인_이너 조인, 아웃터 조인, 세타 조인, 동등 조인, 자연 조인, 세미 조인, 교차 조인, 셀프 조인 1. INNER JOIN 교집합(A∩B) 2. LEFT OUTER JOIN 교집합 연산 결과와 차집합 연산 결과를 합친것( (A∩B) ∪ (A-B) ) 오라클 SQL은 WHERE 테이블A.조인키컬럼 = 테이블B.조인키컬럼(+) 표시 3. RIGHT OUTER JOIN 교집합 연산 결과와 차집합 연산 결과를 합친것( (A∩B) ∪ (B-A) ) 오라클 SQL은 WHERE 테이블A.조인키컬럼(+) = 테이블B.조인키컬럼 표시 4. FULL OUTER JOIN 합집합(A∪B) * OUTER JOIN 속성 : 공통된 속성을 매개로 하는 정보가 아니더라도 버리지 않고 연산의 결과 릴레이션에 정보를 ..

데이터베이스 2021.08.20

뷰 (VIEW)에서 활용되는 WITH CHECK OPTION, SQL 검증

▣ 뷰(VIEW)에서 활용되는 WITH CHECK OPTION WITH CHECK OPTION절은 VIEW에 대한 갱신이나 삽입 연산을 실행할 때 VIEW 정의 조건을 위반하면 실행이 거부된다는 것을 의미하므로 - 투플이 뷰에서 사라지지 않도록 보호하고, - 데이터 무결성을 유지할 수 있으며, - INSERT문과 UPDATE문으로 뷰에 정의된 조건에 위배된 투플을 생성할 수 없음. 2012년 51번 정답 : 4번 2014년 51번 정답 : 2번 1번) 기본키 제약조건이 풀렸을 경우, VALUES ('이태훈', '수학') -> VALUES ('이태훈', '컴퓨터') 바꾸면 삽입가능 WITH CHECK OPTION 에러 발생 / VIEW를 만들 때 해당 제약조건 안에서만 삽입 가능 3번) Inner Join..

데이터베이스 2021.08.19

가상화_클라우드 프라이빗, 퍼블릭, SaaS, PaaS, IaaS, 스케일 업, 스케일 아웃, FaaS

■ 가상화_클라우드 프라이빗, 퍼블릭, SaaS, PaaS, IaaS 기준 분류 설명 서비스 전달 방식 SaaS (Sofrtware-as-a-Service) 애플리케이션이나 소프트웨어를 서비스 형태로 제공 (GoogleApps, 세일즈포스닷컴 CRM) PaaS (Platform-as-a-Service) 애플리케이션이나 서비스가 실행되는 환경을 제공(플랫폼 서비스) 소프트웨어 서비스를 개발할 때 필요한 플랫폼을 제공 (구글 AppEngines) IaaS (Infrastructure-as-a-Service) 서버/스토리지 등 IT 하드웨어 자원을 빌려쓰는 형태 (Amazon EC2, S3) 서비스 배치 방식 프라이빗 클라우드 (Private Cloud) 장점 : 안정성(특정기관 만을 대상으로 사용자 층 한정..

시스템구조 2021.08.18

관계대수 연산_실렉션, 프로젝션, 합집합, 카디션곱, 교집합, 조인, 디비전

▣ 관계대수_실렉션, 프로젝션, 합집합, 카디션곱, 교집합, 조인, 디비전 ■ 디비전 연산 R(Z, Y) ÷ S(Y) = R[Z] - ((R[Z] × S) - R)[Z] (단, [ ] : 프로젝션 연산) S(Y)의 모든 튜플에 연관되어 있는 R[Z]의 튜플을 선택 복합연산인 디비젼 연산(division)을 기본 연산 대체할 때 카티션 곱, 차집합, 프로젝션 사용 2013년 59번 정답 : 2번 R(Z, Y) ÷ S(Y) = R[Z] - (R[Z] × S) - R)[Z] (단, [ ] : 프로젝션 연산) S(Y)의 모든 튜플에 연관되어 있는 R[Z]의 튜플을 선택 복합연산인 디비젼 연산(division)을 기본 연산 대체할 때 카티션 곱, 차집합, 프로젝션 사용 2014년 56번 정답 : 1번 "잔액이 $..

데이터베이스 2021.08.13

동시성 제어_ 트랜잭션 격리 수준(isolation Level) 고립단계_갱신 분실 Lost Update, 부정판독 Dirty Read, 비반복판독 Non-Reatable Read, 가상 판독 Phantom Reads, 연쇄 복귀, 모순성 , 독립성 레벨, 병행수행도, ..

▣ 동시성 제어_ 트랜잭션 격리 수준(isolation Level) 고립단계_갱신 분실 Lost Update, 부정판독 Dirty Read, 비반복판독 Non-Reatable Read, 가상 판독 Phantom Reads, 연쇄 복귀, 모순성 , 독립성 레벨, 병행수행도, 고립성 독립성 레벨 isolation Level 부정 판독 (Dirty Read) 비반복 판독 (Non-Reatable Read) 팬텀 (Phantom Read) 비고 L0. Read Uncommitted O O O shared lock(X) 아직 Commit되지 않은 데이터를 다른 트랜잭션에서 읽는 것 허용 L1. Read Committed X O O shared lock(O) 트랜잭션에서 commit되어 확정된 데이터만 다른 트랜잭..

데이터베이스 2021.08.13

GROUP BY, HAVING SQL 예제 1, 2명 이상의 학생, 성적평균 80점이상인 학과, 학과코드, 학과명, 학생수

▣ GROUP BY, HAVING 예제 1 2013년 62번 정답 : 2번 -- 2013년 정보시스템감리사 DB 62번 -- 문제) 2명이상의 학생을 갖는 학과에 대해, 성적평균이 80점 이상인 학과의 학과코드, 학과명, 학생수를 검색하시오. CREATE TABLE STU_62 ( SNO INT , SNAME VARCHAR(20) NOT NULL , ADDRESS VARCHAR(20) , SCORE INT , DNO INT , PRIMARY KEY (SNO) ) ; INSERT INTO STU_62 VALUES (100, 'HONG', 'Seoul', 95, 100); INSERT INTO STU_62 VALUES (300, 'LEE', 'Busan', 90, 200); INSERT INTO STU_62..

데이터베이스 2021.08.13

ER모델, E-R 모델을 관계 데이터 모델로 사상_관계, 강한개체, 전체참여, 참조외래키, 부서, 직원

▣ E-R 모델을 관계 데이터 모델로 사상_관계, 강한개체, 전체참여, 참조외래키 ER 모델 관계 스키마 2진 관계 1:1양방향 완전관계 두 릴레이션을 하나로 통합(일반적인 경우) 두 엔티티타입과 관계타입을 하나의 릴레이션 스키마로 생성하며, 외래키는 없다 1:1 단방향 완전관계 부분 관계 릴레이션의 PK를 완전 관계 릴레이션의 FK로 적용 1:1 양방향 부분관계 두 릴레이션의 PK만으로 구성된 릴레이션을 생성 (신규)한쪽 개체의 키 애트리뷰트를 키값으로, 다른쪽의 키 애트리뷰트를 외래키로 (2개 외래키) 1:N N측 완전관계 1측의 PK를 N측의 FK로 설정 1:N 1측 완전관계 두 릴레이션의 PK로 구성된 릴레이션을 생성 (신규) n-side의 기본키 + 1-side의 기본키를 외래키로 (2개 외래키..

데이터베이스 2021.08.12