2024. 2. 24. 14:08ㆍ자격증
<관계해석 논리기호>
∨:원자식 간 "또는"이라는 관계로 연결 OR 연산
∧:원자식 간 "그리고"이라는 관계로 연결 AND 연산
ㄱ: 원자식에 대해 부정 NOT
∀: 모든 가능한 튜플("for all"로 읽음, All의 'A'를 뒤집어 놓은 형태)
ꓱ: 어떤 튜플 하나라도 존재("there exists"로 읽음, exist의 'E'를 뒤집어 놓은 형태
INTERSECT :교집합
<산술 연산자> : %, *, /
<OLAP(on-line analytical processing)> : roll-up, slicing & dicing, drill-up & down, pivot, drill-through
데이터 모델 개념: 현실 세계의 정보를 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델
데이터 모델 구성요소: 논리적 데이터 구조, 연산, 제약 조건
인덱스 정규화 : 인덱스는 키 값으로 행 데이터의 위치를 식별하는데 사용하는 기능
반정규화 : 정규화된 엔티티, 속성, 관계를 시스템의 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법
(집)계 테이블 추가, (중)복 테이블 추가, (이)력 테이블 추가, (부)분 테이블 추가, (진)행 테이블 추가
머징 : 둘 이상의 데이터 세트를 단일 데이터 세트로 결합 또는 공통된 컬럼명 또는 행 이름에 따라 데이터 프레임을 병합
CRUD 분석 : 생성(Create), 읽기(Read), 갱신(Update), 삭제(Delete)의 영어 앞글자를 모아 만든 용어이며, CRUD 분석은 데이터베이스 테이블에 변화를 주는 트랜잭션의 CRUD 연산에 대해 CRUD 매트릭스를 작성하여 분석하는 것이다.
관계 대수
관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서
어떻게 유도하는가를 기술하는 절차적인 언어 이다. 순수관계연산 / 일반 집합연산
순수 관계 연산자
종류 | 특징 | 기호 |
Select(σ) | ✓ 릴레이션의 행에 해당하는 튜플을 구하는 것이므로 수평 연산 이라고도 함 | 시그마(σ) |
Project(π) | ✓ 릴레이션의 열에 해당하는 속성을 추출하는 것이므로 수직 연산자 라고도 함 | 파이(π) |
Join(▷◁) | ✓ 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산 | ▷◁ |
Division(÷) | X ⊃ Y인 두 개의 릴레이션 R(X)와 S(Y)가 있을 때, R의 속성이 S의 속성값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만을 구하는 연산 | ÷ |
일반집합연산자 : ∪,∩,-,x
x->y : Y 는 X 에 대해 함수 종속적
<트랜잭션> : 데이터베이스 관리 시스템 또는 유사한 시스템에서 하나의 논리적 기능을 수행하기 위한 작업의 기본단위 , 한꺼번에 모두 수행되어야 할 일련의 연산
- 원자성 (atomicity) : 분해가 불가능 한 작업의 최소 단위. 하나라도 실패할 경우 전체가 취소되어야 함
- 일관성 (consistency) : 트랜잭션이 실행 성공 후 항상 일관된 데이터베이스 상태를 보존해야 함
격리성 (isolation) - 트랜잭션 실행 중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가
영속성 (durability) - 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장
<트랜잭션 상태>
활성화(Active) : 트랜잭션이 실행중에 있는 상태
장애(Failed) : 트랜잭션 실행에 오류가 발생되어 중단된 상태
철회(Aborted) : 비정상적으로 종료되어 Rollback 연산을 수행한 상태
Partially Committed(부분완료) : 트랜잭션의 마지막 연산까지 실행했지만, Commit 연산 실행 전
Committed (완료) : 트랜잭션 성공적으로 종료되너 Commit연산 실행한 후 상태
<정규화 과정> [도부이결다조] (두부 이걸 다줘?)
- 1NF : 모든 *도메인이 원자 값으로만 구성
- 2NF : 기본키에 대한 완전 함수적 종속을 만족, *부분적 함수 종속을 제거한 정규형
- 3NF : 모든 속성이 기본키에 대해 *이행적 함수 종속 관계를 만족하지 않는 정규형
- BCNF : 모든 *결정자가 후보키인 정규형, 종속성 보존X
- 4NF : *다치 종속이 성립하는 경우, R의 모든 속성이 A에 함수적 종속 관계를 만족
- 5NF : 모든 *조인 종속이 R의 후보키를 통해서만 성립되는 정규형
<분산 데이터베이스>
: 논리적으로는 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 연결된 여러 개의 컴퓨터 사이트에 분산되어 있는 데이터베이스를 말한다.
구성요소
- 분산 처리기 : 자체적으로 처리 능력을 가지며, 지역적으로 분산되어 있는 컴퓨터 시스템을 말한다
- 분산 데이터베이스 : 지리적으로 분산되어 있는 데이터베이스로서 해당 지역의 특성에 맞게 데이터베이스가 구성됨.
- 통신 네트워크 : 분산 처리기들을 통신망으로 연결해 논리적으로 하나의 시스템처럼 작동할 수 있도록 하는 통신 네트워크, 통신 네트워크 구조가 데이터 통신에 영향을 줌.
목표(중복된 위치에 병이 생겨 장애됨) 중위병장
- 위치 투명성(Location Transparency):하드웨어와 소프트웨어의 물리적 위치를 사용자가 알 필요가 없다.
- 중복(복제) 투명성(Replication Transparency):사용자에게 통지할 필요없이 시스템 안에 파일들과 자원들의 부가적인 복사를 자유롭게할수 있다.
- 병행 투명성(Concurrency Transparency):다중 사용자들이 자원들을 자동으로 공유할 수 있다.
- 장애 투명성(Faiure Transparency):사용자들은 어느 위치의 시스템에 장애가 발생했는지 알 필요가 없다.
<SQL>
: 데이터 정의어는 기본 테이블, 뷰 테이블, 또는 인덱스 등을 생성, 변경, 제거하는데 사용되는 명령어이다. DISTINCT를 활용하여 중복 값을 제거할 수 있다. JOIN을 통해 여러 테이블의 레코드를 조합하여 표현할 수 있다.
SQL에서 정렬은 ORDER BY을 사용하며
내림차순 : DESC를 사용 4->3->2->1 (내려감)
오름차순 : 경우 생략이나 ASC를 사용 1->2->3->4 (올라감)
분류
- DDL (Data Definition Language) : CREATE, ALTER(추가 및 변경), DROP
- DML(Data Manipulation Language) : SELECT, INSERT, DELETE, UPDATE
- DCL(Data Control Language) : COMMIT, ROLLBACK, GRANT, REVOKE
update (테이블) set (열=변경할값) where (조건)
SELECT(조건검색)의 경우 전체테이블의 튜플을 검색
SELECCT (속성명) FROM (테이블) WHERE (조건)
DISTINCT : 중복되는 레코드를 없앰/ where랑 같이 사용 안함.
HAVING: GROUP BY 절과 함께 사용되며, 그룹에 대한 조건을 지정한다.
ORDER BY: 특정 속성을 기준으로 정렬하여 검색할 때 사용한다
FROM: 질의에 의해 검색될 데이터들을 포함하는 테이블명을 기술
병행제어 기법 :병행수행할때, DB의 일관성을 파괴하지 않도록 제어
로킹 기법, 타임 스탬프 기법, 다중 버전 기법
< 병행제어 기법 로킹(Locking) >
- 데이터베이스 병행 제어를 위해 트랜잭션(transaction)이 접근하고자 하는 데이터를 잠가(lock) 다른 트랜잭션이 접근하지 못하도록 하는 병행 제어 기법이다.
- 트랜잭션이 어떤 데이터에 접근하고자 할 때 로킹을 수행
- 로킹이 되어 있는 데이터에는 다른 트랜잭션이 접근할 수 없음
- 트랜잭션은 로킹이 된 데이터에 대해서만 연산을 수행
- 로킹 단위: 필드, 레코드, 테이블, 파일, 데이터베이스 모두 로킹 단위가 될 수 있다.
- 한 번에 로킹 할 수 있는 객체의 크기를 로킹 단위라고 한다.
로킹 단위 | 로크의 수 | 병행 제어 | 로킹 오버헤드 | 병행성 수준 | 데이터베이스 공유도 |
커짐 | 적어짐 | 단순해짐 | 감소 | 낮아짐 | 감소 |
작아짐 | 커짐 | 복잡해짐 | 증가 | 높아짐 | 증가 |
revoke : 데이터베이스 사용자의 사용 권한을 취소함/ 회수
<인덱스(Index)>
- 독립적인 저장 공간을 보유하며, 데이터베이스에 저장된 자료를 더욱 빠르게 조회하기 위하여 별도로 구성한 순서 데이터를 말한다.
- 대부분의 데이터베이스에서 테이블을 삭제하면 인덱스도 같이 삭제된다.
- 인덱스 생성 : CREATE
- DROP: 다 지움 복구도 못시킴/ VIEW, TABLE, DATABASE를 완전 삭제할 때 사용
- DELETE
특정 테이블 행 삭제할 때 사용
기본 사용 형식은 DELETE FROM 테이블 [WHERE조건]; 이다.
데이터 사전(Data Dictionary) : 시스템 자신이 필요로 하는 여러 가지 객체에 관한 정보를 포함하고 있는 시스템 데이터베이스
- 시스템 카탈로그(System Catalog), 메타 데이터(Meta Data)라고도 한다.
- 시스템 카탈로그 자체도 시스템 테이블로 구성되어 있어 SQL 문을 이용하여 내용 검색이 가능하다.
- 사용자가 시스템 카탈로그를 직접 갱신할 수 없다.
- SQL 문으로 여러 가지 객체에 변화를 주면 시스템이 자동으로 갱신한다.
<저장 레코드 양식 설계 시 고려 사항>
- 데이터 타입, 데이터 값의 분포, 접근 빈도
- 트랜잭션을 개념적 시스템 독립적으로 정의. 트랜잭션의 입출력 기능, 형태만 정의한다.
* 릴레이션의 특징
- 튜플의 유일성 : 모든 튜플은 서로 다른값을 갖는다
- 튜플의 무순서성 : 하나의 릴레이션에 튜플에 순서는 없다
- 속성의 원자성 : 속성값은 원자값을 갖는다
- 속성의 무순서성 : 각 속성은 릴레이션내에서 유일한 이름을 가짐, 순서는 큰 의미가 없음.
데이터베이스 뷰(View) : 접근 허용된 자료만 제한적으로 보여주기 위해 기본테이블로부터 유도된 가상 테이블.
기본테이블에서 유도된게 뷰이기때문에 구조가 같음, update에 제약있음.
가상테이블이며 물리적으로 구현 안돼있음
기본테이블 제거되면 뷰 자동으로 제거됨, 뷰 자체는 인덱스 가지지 않음
뷰 정의 변경하려면 뷰를 삭제하고 재생성 해야함
데이터 보안, 관리 용이
키(key) : 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 속성(Attribute)를 말한다.
- 후보키(Candidate Key) : 기본키가 될 수 있는 말 그대로 '후보' 키, 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 한다.
기본키(Primary Key) : 주키(Main Key)로 중복된 값을 가질 수 없다. 유일성과 최소성을 가지며 튜플을 식별하기 위해 반드시 필요한 키이고 *NULL 값을 가질 수 없다, 외래키로 참조될 수 있다. 검색할 때 반드시 필요한건 아님.
대체키(Alternate Key) : 대체키는 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키를 의미.
슈퍼키(Super Key) : 슈퍼키는 속성들의 집합으로 구성된 키. 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않는다. 슈퍼키는 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만 최소성은 만족하지 못한다.
- 외래키 :다른 릴레이션의 기본키를 참조하는 키를 의미
(너도 고참 개)
1.개체 무결성 : 각 릴레이션의 기본키를 구성하는 속성은 널(NULL) 값이나 중복된 값을 가질 수 없습니다.
2,참조무결성 : 외래키 값은 NULL이거나 참조하는 릴레이션의 기본키 값과 동일해야 합니다. 3.도메인 무결성 : 속성들의 값은 정의된 도메인에 속한 값이어야 합니다.
4.고유 무결성 : 특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우, 릴레이션의 각 튜플이 가지는 속성 값들은 서로 달라야 합니다.
5.NULL 무결성 : 릴레이션의 특정 속성 값은 NULL 될 수 없습니다.
6.키 무결성 : 각 릴레이션은 최소한 한 개 이상의 키가 존재해야 합니다
<데이터베이스 설계단계에서의 트랜잭션 설계단계>
1. 개념적 설계 : 트랜잭션 모델링, 독립적인 개념 스키마 모델링, DBMS에 개념스키마 설계, E-R 다이어그램 (이야 개념 모델)
2. 논리적 설계 : 트랜잭션 인터페이스 설계, DBMS에 맞는 논리 스키마 설계, 테이블 설계, 논리적 매핑, 스키마 평가 및 정제
3. 물리적 설계 : 레코드 집중의 분석,설계, 저장레코드 양식 설계, 저장 구조 및 액세스 경로 설정
<스키마>
-개념 스키마
사용자와 데이터베이스 관리자 관점의 스키마/ 데이터베이스에 실제로 어떤 데이터가 저장되었으며, 데이터 간의 관계는 어떻게 되는지를 정의하는 스키마로 전체 관점으로 한개만 존재하며 접근권한, 보안 및 무결성등에 관한 정의를 포함
-내부 스키마
저장장치와 데이터베이스 설계자 및 개발자 관점의 스키마/ 개념 스키마를 물리적 저장장치에 구현하는 방법을 정의하는 데 사용하고 물리적 구조 및 내부 레코드의 물리적 순서 등을 표현
-외부 스키마
사용자 관점의 스키마/사용자 또는 프로그램의 입장에서의 논리적 구조로 여러개가 존재
<데이터 모델의 구성 요소>
- 구조(Structure) : 논리적인 개체 타입들 간의 관계, 데이터 구조 및 정적 성질을 표현
- 연산(Operation) : 실제 데이터를 처리하는 작업에 대한 명세로, 조작하는 기본 도구
- 제약 조건(Constraint) : DB에 저장될 수 있는 실제 데이터의 논리적인 제약 조건
- 차수(Degree) : 속성의 수 (디그리 :4) (열) / 트리에서는 가장 새끼들이 많은애의 새끼수
- 카디널리티(Cardinality) : 튜플의 수 (기수)(카디널리티 : 4) (행)
카티션 프로덕트(Cartesian Product) : 교차곱, Degree는 더하고,Cardinality는 곱하면 됨
릴레이션 = 테이블
릴레이션의 논리적인 구조를 정의한 것은 '릴레이션 스키마'이다.
<SQL 문>
생성 권한 부여 : GRANT CREATE (생성할 거) TO (부여하는 대상);
데이터를 갱신 권한 : grant update(컬럼1, 컬럼2, 컬럼3) on 테이블명 to 사용자명
create table 문
: 속성의 NOT NULL여부 지정, 기본키 구성하는 속성지정, CHECK 제약조건 정의 기능 있다
<이상현상 종류>(이상한게 갱년기라서 삽입할 때 삭제해도돼)
갱신 이상(Modification Anomaly): 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상이다.
삽입 이상(Insertion Anomaly): 데이터를 삽입할 때 의도와는 상관없이 원하지 않는 값들도 함께 삽입되는 현상이다.
삭제 이상(Deletion Anomaly): 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄 삭제 현상이다.
<페이징 기법>
*페이지 크기가 작은경우
더 많은 페이징 사상테이블 필요
내부 단편화 감소
페이지의 집합을 효율적으로 운영가능
기억장치의 효율이 좋음
총 입출력 시간 증가
*페이지크기가 큼
주기억 장치 공간 절약
참조되는 정보와 무관한 양의 정보가 주기억 장치에 남게 됨
테이블이 복잡하지 않아 관리 용이
커널(kernel) : 프로세스(CPU스케줄링)관리, 기억장치 관리, 파일관리, 입출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등 여러가지 가능 수행
Between A and B
'자격증' 카테고리의 다른 글
[정보처리기사] 필기 합격 후기 (3) | 2024.02.24 |
---|---|
[정보처리기사] 정보시스템 구축관리 (1) | 2024.02.24 |
[정보처리기사] 프로그래밍 언어활용 (1) | 2024.02.24 |
[정보처리기사] 소프트웨어 개발 (1) | 2024.02.24 |
[정보처리기사] 소프트웨어 설계 정리 (1) | 2024.02.24 |