정처기 필기/3과목 - 데이터베이스 구축(12)
-
ORM (Object - Relational Mapping) / 데이터전환
ORM 1. 개요 - 객체와 관계형데이터베이스의 데이터를 연결하는 기술 - 독립적이어서 재사용 및 유지보수 용이 - 직관적, 간단 2. ORM 프레임워크 JAVA - JPA, Hibernate Eclipse Link 등 C++ - ODB, QxOrm 등 Python - Django, Alchemy 등 iOS - Core Date, Database Objects 등 3. ORM의 한계 - SQL 자동 작성 때문에 테스트가 필요 - 프로젝트가 크고 복잡하면 적용하기 어려워짐 - 기존 데이터베이스를 변환하는데 시간과 노력 필요 쿼리 성능 최적화 - 쿼리 성능 최적화 전, 성능 측정 도구인 APM을 사용해 최적화 할 쿼리를 선정해야 한다. - 옵티마이저가 수립한 실행계획을 EXPLAIN 명령어를 통해 검토하고,..
2023.02.21 -
SQL활용 / DMBS 접속 기술
SQL활용 1. 절차형 SQL * C, JAVA 등의 프로그래밍 언어와 같이 연속적인 실행, 분기, 반복 등 제어 가능한 SQL * 프로그래밍 언어에 비해 효율 낮음, 하지만 연속적 작업 처리 가능 * BEGIN~END 형식 --> 기능별 모듈화 가능 2. 프로시저 (Procedure) - 호출을 통해 실행되어 미리 저장해 놓은 sql작업 수행 - 시스템의 일일 마감 작업, 일괄 작업 등에 주로 사용 * declare : 프로시저 명칭, 변수, 인수, 데이터 타입을 정의하는 선언부 * begin : 실행부 * end : 종료부 CREATE PROCEDURE 프로시저명 (파라미터) [지역변수 선언] + BIGIN 처리 내용 + END 3. 트리거(Trigger) - 삽입, 갱신, 삭제 등의 이벤트가 발생할..
2023.02.21 -
SQL응용
SQL응용 * SEQUEL에서 유래 * 관계대수와 관계해석을 기초로 한 혼합 데이터 언어 1. SQL 분류 * DDL (Define : 정의어) 명령어 기능 CREATE DOMAIN, SCHEMA, TABLE, VIEW, INDEX #도스테뷰인 ALTER --> ALTER TABLE 테이블명; DROP DROP 도스테뷰인 삭제 - CASCADE : 참조하는 모든 개체 함께 제거 - RESTRICTED : 다른 개체가 참조중이면 제거 취소 * DML (Manipulation : 조작어) - SELECT, UPDATE, DELETE, INSERT * DCL (Control : 제어어) - COMMIT, ROLLBACK - GRANT 권한 리스트 ON 개체 TO 사용자 [WHTI GRANT OPTION]; -..
2023.02.21 -
데이터베이스 보안 / 스토리지 / 논리 데이터 모델의 물리 데이터 모델 변환 및 품질 검토
데이터베이스 보안 1. 데이터베이스 보안의 개요 - 데이터베이스 일부분 또는 전체에 대해서 권한이 없는 사용자가 엑세스하는 것을 금지하기 위해 사용하는 기술 - 데이터베이스 사용자들은 일반적으로 서로 다른 객체에 대해 다른 접근 권리,권한을 가진다. 2. 암호화(Encryption) *** 암호화 방식 ex) 개인키 암호 방식(대칭키), 공개키 암호 방식(비대칭키) ***복호화 과정 암호문을 원래의 평문으로 바꾸는 과정 3. 암호화 방식 방식 특징 종류 개인키 암호방식 (Private Key Encryption, 비밀키 암호 방식, 대칭키) - 복호화와 암호화의 키가 같음 - 비밀키는 DB사용 권한이 있는 사용자만 나눠 가짐 DES,AES,SEED,ARIA 공개키 암호방식 (Public Key Encry..
2023.02.19 -
분산 데이터베이스 설계 / 데이터베이스 이중화 / 서버 클러스터링
분산 데이터베이스 설계 1. 분산 데이터베이스 정의 - 논리적으로는 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 연결된 여러 개의 컴퓨터 사이트에 분산되어 있는 데이터베이스 2. 분산 데이터베이스의 구성 요소 구성 요소 설명 분산 처리기 - 자체적으로 처리 능력을 가진다. - 지리적으로 분산되어 있는 컴퓨터 시스템 분산 데이터베이스 - 지리적으로 분산되어 있는 데이터베이스 - 해당 지역의 특성에 맞게 구성된 데이터베이스 통신 네트워크 분산 처리기들을 통신망으로 연결해 논리적으로 하나의 시스템처럼 작동할 수 있도록 하는 통신 네트워크 3. 분산 데이터베이스의 목표 (위치,중복,병행,분할,장애) 목표 설명 위치 투명성 (Location Transparency) 실제 위치를 알 필요 없이 단지 데이터..
2023.02.19 -
트랜잭션 / 인덱스 / 뷰 / 클러스터
트랜잭션 1. 트랜잭션의 정의 - 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 - 한꺼번에 모두 수행되어야 할 일련의 연산들 - COMMIT과 ROLLBACK에 의해 보장 받는 트랜잭션 특징 --> 원자성 - SAVEPOINT(=CHECKPOINT) : 롤백할 위치를 지정하는 명령어, 여러개 가능 2. 트랜잭션의 특징 특징 원자성 (Atomicity) 트랜잭션 연산을 db에 모두 반영하든지 전혀 반영하지 않든지 해야 함 일관성 (Consistency) 커밋 시 일관성 있는 데이터베이스 상태를 유지 독립성 (Isolation) 두 개의 트랜잭션 불가 영속성 (Durability) 성공적으로 완료된 트랜잭션은 영구적으로 반영됨. 3. CURD 매트릭스 - Create, U..
2023.02.19