전체 글 251

107~110. SQL의 개념 / DDL / DCL / DML(A)

SQL 관계대수와 관계해석을 기초로 한 혼합 데이터 언어 질의어지만 질의 기능뿐만 아니라 데이터 구조의 정의, 데이터 조작, 데이터 제어 기능까지 모두 갖춤 SQL의 분류 DDL(Data Define Language, 데이터 정의어) 논리적 데이터 구조와 물리적 데이터 구조의 사상 정의 CREATE, ALTER, DROP DML(Data Manipulation Language, 데이터 조작어) 저장된 데이터를 실질적으로 처리하는데 사용되는 언어 SELECT, INSERT, DELETE DCL(Data Control Language, 데이터 제어어) 데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정의하는데 사용되는 언어 COMMIT, ROLLBACK, GRANT, REVOKE DDL CREATE S..

104. 스토리지(B)

스토리지 단일 디스크로 처리할 수 없는 대용량의 데이터를 저장하기 위해 서버와 저장장치를 연결하는 기술 DAS, NAS, SAN DAS(Direct Attached Storage) 서버와 저장장치를 전용 케이블로 직접 연결하는 방식(컴퓨터 외장하드) 속도가 빠르고 설치 및 운영이 쉬움 초기 구축 비용 및 유지보수 비용 저렴 확장성, 유연성이 떨어짐 NAS(Network Attached Storage) 서버와 저장장치를 네트워크를 통해 연결하는 방식 파일 공유가 가능, 장소에 구애받지 않고 저장장치에 쉽게 접근 확장성, 유연성이 좋음 접속 증가 시 성능 저하 SAN(Storage Area Network) 서버와 저장장치를 연결하는 전용 네트워크를 별도로 구성하는 방식 광 채널 스위치를 이용하여 네트워크 구..

101~102. 데이터베이스 보안 / 암호화(B) / 접근통제(A)

암호화 암호화 과정 : 평문 -> 암호문 복호화 과정 : 암호문 -> 평문 개인키 암호 방식(비밀키 암호 방식) 동일한 키로 데이터를 암호화하고 복호화 비밀키는 사용자끼리 나눠 가짐 방법 : 전위 기법, 대체 기법, 대수 기법, 합성 기법(DES, LUCIFER) 공개키 암호 방식 서로 다른 키로 데이터를 암호화하고 복호화 암호화에 사용하는 공개키(Public key)는 사용자에게 공개, 복호화할 떄 비밀키(Secret key)는 관리자에게 비밀리에 관리 비대칭 암호방식, 대표적으로 RSA가 있다 접근통제 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한 임의 접근통제(DAC), 강제 접근통제(MAC), 역할기반 접근통제(RBAC) 임의 접근통제(DAC) 데이터에 접근하는 사용자의 신..

99. 분산 데이터베이스 설계(B)

분산 데이터베이스 논리적으로 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 여러 개의 컴퓨터 사이트에 분산되어 있는 데이터 베이스 구성 요소 : 분산 처리기, 분산 데이터베이스, 통신 네트워크 분산 설계 방법 : 테이블 위치 분산, 분할(Fragmentation), 할당(Allocation) 분산 데이터베이스 목표 위치 투명성(Location Transparency) : 데이터베이스 논리적 명칭만으로 액세스 중복 투명성(Replication Transparency) : 동일 데이터가 여러 곳에 있더라도 하나의 데이터처럼 사용 병행 투명성(Concurrency Transparency) : 다수의 트랜잭션들이 동시에 실현되더라도 트랜잭션 결과 영향 X 장애 투명성(Failure Transparency..

95. 뷰 설계(A)

뷰 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위한 가상 테이블 물리적 구현 X, 데이터의 논리적 독립성 제공, 관리가 용이 뷰 정의할 때 CREATE문, 제거할 떄는 DROP문 단점 : 독립적인 인덱스 X, 뷰의 정의 변경 X, 삽입 삭제 갱신 연산에 제약 설계 순서 : 대상 테이블 선정 -> 대상 컬럼 선정 -> 정의서를 작성 고려 사항 : 테이블 구조가 단순화 될 수 있도록 반복적으로 조인 설정하여 사용하거나 동일한 조건절을 사용하는 테이블로 뷰 설정

93. 트랜잭션 분석 / CRUD 분석(A)

트랜잭션 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위, 한꺼번에 수행되어야 할 일련의 연산 활동(Active) : 트랜잭션 실행 상태 철회(Aborted) : 트랜잭션이 비정상적으로 종료되어 Rollback 연산을 수행한 상태 부분 완료(Partially Committed) : 트랜잭션을 모두 성공적으로 실행한 후 Commit 연산이 실행되기 직전인 상태 완료(Committed) : 트랜잭션을 모두 성공적으로 실행한 후 Commit 연산까지 실행한 후 상태 ACID 원자성(Atomicity) : 데이터베이스 모두 반영 아니면 전혀 반영되지 않도록 복구(All or not) 일관성(Consistency) : 언제나 일관성 있는 데이터베이스 상태로 변환 고립성(Isolat..

88~89. 정규화, 반정규화(A)

정규화 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만듬 정규화 수준이 높을수록 유연한 데이터 구축, 데이터 정확성이 높아짐, 하지만 많은 조인으로 조회 성능이 저하됨 안정성 및 무결성 유지 이상의 발생 방지 및 자료 저장 공간의 최소화 데이터 중복성 감소 이상의 개념 및 종류 삽입 이상 : 데이터 삽입 시 의도와 상관없이 원하지 않는 값이 들어갈 떄 삭제 이상 : 릴레이션에서 한 튜플을 삭제할 때 의도와 상관없이 값이 함께 삭제 갱신 이상 : 속성값 갱신 시 일부 튜플 정보만 갱신될 때 정규화 과정 1NF(제1정규형) : 모든 도메인이 원자값만으로 되어 있음 2NF(제2정규형) : 기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수 종속 3NF(제3정규형) : 이행적 ..

87. 관계대수 및 관계해석(A)

관계 대수 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적 언어 순수 관계 연산자 : Select, Project, Join, Division 일반 집합 연산자 : UNION(합집합), INTERSECTION(교집합), DIFFERENCE(차집합), CARTESIAN PRODUCT(교차곱) Select 릴레이션의 행에 해당하는 튜플을 구하는 것, 수평 연산 기호는 시그마 사용 Project 릴레이션의 열에 해당하는 속성 추출, 수직 연산 기호는 파이 사용 Join 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산 교차곱 후 Select 수행한 것과 같음 Division R이 S에 속할 떄 R의 속성이 S의 속성값을 모..

85~86. 관계형 데이터베이스의 제약 조건 - 키, 무결성(B)

후보키(Candidate Key) 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합 유일성과 최소성을 만족해야 한다 유일성 : 하나의 키 값으로 하나의 튜플만을 유일하게 식별 최소성 : 모든 레코드들을 유일하게 식별하는 데 꼭 필요한 속성으로만 구성 기본키(Primary Key) 후보키 중에서 특별히 선정된 주키로 중복된 값을 가질 수 있다 NULL 값 X 대체키(Alternate Key) 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키 슈퍼키(Super Key) 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키 유일성은 만족, 최소성은 X 외래키(Foreign Key) 다른 릴레이션의 기본키를 참조하는 속성 무결성(Integrity) 데이터베이스에 저장된..

84. 관계형 데이터베이스의 구조(A)

관계형 데이터베이스 장점 : 간결하고 보기 편리, 다른 데이터베이스로의 변환이 용이 단점 : 성능이 떨어짐 튜플(Tuple) 릴레이션을 구성하는 각각의 행 카디널리티, 기수, 대응수라고 함 속성(Attribute) 릴레이션 구성하는 열 개체의 특성을 기술 디그리(Degree), 차수라고 함 도메인(Domain) 하나의 속성이 취할 수 있는 같은 타입의 원자값들의 집합 릴레이션의 특징 한 릴레이션에 포함된 튜플 사이에 순서가 없다 속성을 구성하는 값은 동일한 값이 있을 수 있다 튜플들의 삽입, 삭제 작업으로 인해 릴레이션은 시간에 따라 변한다 원자값만 저장