반응형

독서 48

[개발자를 위한 인덱스 생성과 SQL 작성 노하우] 오라클 블록 옵션

세 줄 요약 블록 공간을 효율적으로 관리하기 위해 PCTFREE, PCTUSED 옵션을 사용한다 PCTFREE의 기본값은 10%, PCTUSED 기본값은 40%이며, 대부분의 DBA는 그대로 사용한다 단, 요즘에는 오라클 내부에서 PCTUSED를 자동으로 제어하므로 PCTFREE만 설정해주면 된다    PCTFREE 와 PCTUSED 블록 옵션 블록데이터 I/O의 가장 작은 단위이자 할당될 수 있는 공간의 가장 작은 단위결국 블록이란 저장의 기본 단위이고, 운반(조회)의 최소 단위라 할 수 있다 PCTFREE변경 작업에 따라 데이터 블록에 저장된 로우 데이터의 행 크기가 증가할 상황에 대비한 여유 공간기본값은 10% PCTUSED블록 재사용 여부를 결정하는 요소로서, 데이터가 사용하는 공간이 설정값 이하..

독서 2022.03.16

[데이터베이스 개론] 회복과 병행 제어

트랜잭션  정의 하나의 작업을 수행하는 데 필요한 데이터베이스의 연산들을 모아놓은 것 데이터베이스에 장애가 발생했을 때, 데이터를 복구하는 작업의 단위이다  특성 1. 원자성 Atomicity 트랜잭션을 구성하는 연산들이 모두 정상적으로 실행되거나 하나도 실행되지 않아야 한다는 all-or-nothing 방식 트랜잭션이 원자이므로 쪼개져서 반은 되고 반은 안되는건 불가능  2. 일관성 Consistency 트랜잭션이 성공적으로 수행된 후에도 데이터베이스가 일관된 상태를 유지해야 함을 의미 질량 보존의 법칙 같은 느낌  3. 격리성 Isolation 현재 수행 중인 트랜잭션이 완료될 때까지 트랜잭션이 생성한 중간 연산 결과에 다른 트랜잭션들이 접근할 수 없음을 의미  트랜잭션이 동시에 수행되지만 독립적으로..

독서 2022.03.15

[데이터베이스 개론] 데이터베이스 설계

데이터베이스 설계  데이터베이스 설계 단계 1단계  : 요구 사항 분석 수집한 요구 사항을 분석하여 그 결과를 요구 사항 명세서로 작성하는 단계 2단계 : 개념적 설계 명세서를 바탕으로 DBMS에 독립적인 개념적 데이터 모델으로 표현하는 단계일반적으로 E-R 모델을 많이 사용한다개체와 속성, 관계를 추출하고 E-R 다이어그램을 작성한다 3단계 : 논리적 설계 개념적 구조를 기반으로 적합한 DBMS를 선정하는 단계관계 데이터 모델을 사용한다면 E-R 다이어그램을 릴레이션 스키마로 변환하는 작업을 수행한다릴레이션 스키마 변환 규칙규칙 1. 모든 개체는 릴레이션으로 변환한다규칙 2. 다대다 관계는 릴레이션으로 변환한다규칙 3. 일대다 관계는 외래키로 표현한다          - 일반적인 일대다 관계는 외래키로..

독서 2022.03.15

[데이터베이스 개론] 데이터베이스 언어 SQL

SQL의 소개 정의 : SQL (Structured Query Language)은 관계 데이터베이스를 위한 표준 질의어로 많이 사용되는 언어  기능에 따른 분류데이터 정의어 : 테이블을 생성하고, 변경 제거하는 기능을 제공데이터 조작어 : 테이블에 새 데이터를 삽입하거나, 테이블에 저장된 데이터를 수정, 삭제, 검색하는 기능 제공데이터 제어어 : 보안을 위해 데이터에 대한 접근 및 사용 권한을 사용자별로 부여하거나 취소하는 기능을 제공하는 언어  SQL을 이용한 데이터 정의 테이블 생성 CREATE TABLE 테이블_이름 ( 속성_이름 데이터_타입 [NOT NULL] [DEFAULT 기본_값] [PRIMARY KEY (속성_리스트)] // 기본키는 NOT NULL 표기해주는 것..

독서 2022.03.11

[데이터베이스 개론] 데이터 모델과 연산

데이터 모델링  데이터 모델링과 데이터 모델의 개념 데이터 모델링 : 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정, 추상화 작업이 필요하다 개념적 모델링 : 현실 세계의 중요 데이터를 추출하여 개념 세계로 옮기는 작업논리적 모델링 : 개념 세계의 데이터를 데이터베이스에 저장할 구조를 결정하고 이 구조로 표현하는 작업  데이터 모델 : 데이터 모델링의 결과물을 표현하는 도구로 개념적 데이터 모델과 논리적 데이터 모델이 있다 구성 요소- 데이터 구조 : 자주 변하지 않고 정적이다- 연산 : 값이 연산에 의해 변경될 수 있어 동적이다- 제약조건 : 구조적 측면의 제약 사항과 연산을 적용하는 경우 허용할 수 있는 의미적 측면의 제약 사항이 있다 데이터베이스 설계 = 개념적 데이터..

독서 2022.03.07

[데이터베이스 개론] 데이터베이스 기초 이론

데이터베이스 기본 개념  데이터베이스의 필요성 데이터 VS 정보데이터 : 현실 세계에서 단순히 관찰하거나 측정하여 수집한 값정보 : 데이터를 의사 결정에 유용하게 활용할 수 있도록 처리하여 체계적으로 저직한 결과물    데이터베이스의 정의와 특징 정의특정 조직의 여러 사용자가 '공유'하여 사용할 수 있도록 '통합'해서 '저장'한 '운영' 데이터의 집합공유 : 여러 사용자가 함께 이용통합 : 데이터 중복성을 허용하지 않는다저장 : 컴퓨터가 접근할 수 있는 매체에 저장운영 : 지속적으로 유지 특징실시간 접근 가능계속 변화동적인 특징이 있어 계속 CRUD하여 정확한 데이터를 유지동시 공유 가능같은 데이터를 동시에 사용하는 것도 지원, 다만 처리가 복잡내용으로 참조 가능주소나 위치가 아닌 데이터의 값으로 참조 ..

독서 2022.03.06

[이펙티브 자바] 아이템 02. 생성자에 매개변수가 많다면 빌더를 고려하라

Start Quiz 질문 1. 생성자와 아이템 1에서 다룬 정적 팩터리 중에서 선택적 매개변수가 많을 때 적절히 대응할 수 있는 방식은?     정답 둘 다 적절히 대응하기 어렵습니다. 선택적 매개변수가 많을 때는 빌더를 고려해야 합니다.  본 내용 문제 상황 매개변수가 많은 클래스를 생성하고 싶다! 해결책 1. 점층적 생성자 패턴 (not the best) 선택적 매개변수가 많은 경우, 프로그래머들은 점층적 생성자 패턴(telescoping constructor pattern)을 즐겨 사용했다. 아래의 코드는 점층적 생성자 패턴의 책 내 예시를 변형한 코드이다. public class NutritionFacts { private final int servingSize; // 필수 ..

독서 2022.01.18

[이펙티브 자바] 아이템 01. 생성자 대신 정적 팩터리 메서드를 고려하라

Quiz질문 1. true, false를 나타내는 인스턴스를 매번 생성해야하는 문제는 어떻게 해결할 수 있을까?   정답 아래 코드와 같이 Boolean 클래스 내에 선언된 static final 변수를 가져오면 된다.public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE;}  질문 2. 아래 테스트 코드의 결과는 true 인가 false 인가?public static void main(String[] args) throws IOException { Boolean bool = true; Boolean bool2 = true; Boolean bool3 = Boolean.T..

독서 2022.01.18
반응형