1. 물리적 저장장치의 구성물리적 저장장치는 데이터 접근 속도, 용량을 기준으로 다양한 장치로 계층적( hierarchical ) 구성구성위에서 아래로 갈수록 저장 용량이 증가하고, 아래에서 위로 갈수록 접근 속도와 가격이 증가함레지스터가장 빠른 접근 속도를 가짐저장 용량은 매우 작음캐시레지스터보다 느리지만 여전히 매우 빠름CPU 근처에 위치메인 메모리주기억장치, RAM속도는 다소 느리지만 저장 용량이 큼자기 디스크, 플래시 메모리하드디스크나 SSD 같은 저장 장치용량이 크고, 가격은 저렴함광학 디스크, 자기 테이프가장 느리고 가장 큰 용량을 제공백업 및 아카이브용으로 사용2. 물리적 저장장치별 특징기억 지속성 관점으로 휘발성과 비휘발성으로 구분휘발성 저장장치특징속도가 매우 빠름전원이 끊기면 데이터가 모..
1. 데이터베이스 언어의 특징SQLDBMS에 대한 강력한 작업 지시 기능을 제공인간의 언어와 매우 유사하고 간단, 명료비절차적(선언형) 언어, 필요한 데이터만 기술비절차적 언어 ( non-procedural language )목표만 명시하고 수행에 대한 절차는 기술하지 않음높은 가독성과 동작 순서에 대한 구체적 기술이 없어 오류가 상대적으로 적은 점이 장점프로그램의 성능 최적화, 디버깅, 오류 추적 및 복잡한 로직 구현이 한계저장 객체를 통해 SQL의 단점을 보완2. 저장 객체의 이해저장 객체의 정의SQL 문을 확장하여 절차적으로 처리하기 위한 기능을 제공하는 언어SQL / PSM ( Persistent Stored Module ) 기반의 확장 언어저장 객체의 구조-- 형식 정의 부분CREATE PROC..
1. 잘못된 데이터베이스 모델링데이터 중복일관성 유지의 어려움저장 공간 낭비갱신 이상삽입 이상레코드 추가 시 불필요한 컬럼값 없이는 추가하지 못하는 경우삭제 이상삭제 시 의도하지 않았던 다른 데이터가 삭제되는 경우수정 이상일부 레코드 수정 시 데이터의 일관성이 훼손되는 경우2. 좋은 릴레이션의 개념컴퓨터 프로그래머적 관점에서의 모델어떻게 데이터를 저장해야 하는가?릴레이션의 스키마가 얼마나 효율적으로 실세계를 반영하고 있는지 평가고려사항릴레이션 내의 컬럼 간의 관계 분석불필요한 데이터의 종속과 중복제거새로운 컬럼들이 데이터베이스에 추가될 때, 기존 컬럼과의 관계 수정을 최소화3. 함수적 종속성의 개념FD ( Functional Dependency )릴레이션 인스턴스를 분석하여 속성들 간의 연관관계를 표현하..
1. 중첩 질의의 개념SELECT 문 내부에서 독립적으로 실행 가능한 또 다른 SELECT 문이 내포되어있는 질의일반적으로 내부 질의의 처리 결과를 외부 질의에서 재사용하여 처리하는 과정중첩 질의의 종류FROM 절에서의 중첩 질의 활용FROM 절에서의 결과 집합을 SELECT 문에서 재검색WHERE 절에서의 중첩 질의 활용WHERE 절에서의 결과 집합을 활용하여 외부 질의에서 레코드의 출력 여부를 결정IN, NOT IN, EXISTS, NOT EXISTS 사용2. 중첩 질의의 형식FROM절에서의 중첩 질의SELECT 컬럼1, 컬럼2, ..., 컬럼n // 외부 질의FROM ( SELECT 컬럼1, 컬럼2, ..., 컬럼n // 내부 질의 FROM 테이블 WHERE 조건 )WHERE 조건W..
1. SELECT 명령어한 개 이상의 테이블에서 주어진 조건에 만족하는 레코드를 출력하는 명령문관계 대수의 셀렉트, 프로젝트, 조인, 카티션 프로덕트 연산자의 기능을 모두 포함하는 명령문필수절인 SELECT절과 부가적인 목적으로 사용하는 절을 혼합하여 검색 기능을 구체화2. SELECT의 구문형식SELECT [DISTINCT] 컬럼1, 컬럼2, … 컬럼nFROM 테이블1[ INNER JOIN | OUTER JOIN 테이블2, INNER JOIN | OUTER JOIN ON 조인조건식1 테이블3 … , INNER JOIN | OUTER JOIN 테이블m ON 조인조건식n][ WHERE 조건식[중첩질의] ][ GROUP BY 컬럼1, 컬럼2, … 컬럼n [HAVING 조건] ]..
1. 데이터 조작 언어의 개념 ( DML )데이터 정의 언어로 정의된 데이터베이스 내의 데이터에 대해 여러 연산을 수행하기 위한 명령어의 집합사용자에게 데이터베이스에 저장된 데이터를 처리할 수 있게 하는 일체의 도구를 제공정의된 테이블 등에 레코드를 삽입 / 수정 / 삭제 및 검색하는데 사용되는 SQL 명령어들의 집합데이터 조작 언어는 실행 즉시 반영되는 영구적 변경을 위한 명령어의 집합이 아니며 복구가 가능 ( DDL과의 차이점 )2. 명령어의 종류CRUD를 위한 SQL 명령어의 종류INSERT : 테이블 스키마에 적합한 레코드를 삽입UPDATE : 테이블에서 조건을 만족하는 특정 레코드의 컬럼값을 수정DELETE : 테이블에 조건을 만족하는 레코드를 삭제SELECT : 조건을 만족하는 레코드를 테이블..
1. 데이터베이스 사용의 의미데이터 사용과 데이터 관리 영역 구분이 두 영역을 연결하는 것이 데이터베이스2. SQL의 개념SQL ( Structured Query Language ) : 구조화된 질문하는 언어SQL은 관계대수에 기초해 RDBMS의 데이터 관리를 위해 1970년대 초 IBM에서 설계1986년 ANSI, 1987년 ISO에서 표준으로 재정SQL-86, SQL-89, SQL-92, SQL : 1999, SQL : 2003, SQL : 2008상용 DBMS의 특성에 맞게 국제표준을 확장한 독자적 버전이 존재SQL의 특징비절차적( 선언형 ) 언어, 필요한 데이터만 기술선언형 언어란?프로그램이 어떤 방법으로 해야 하는지를 나타내기 보다 ‘무엇을’에 집중하는 언어편리하게 데이터를 저장, 수정, 삭제,..

1. 데이터베이스 모델링 과정2. 논리적 데이터 모델링 단계DBMS의 구현 모델에 맞춰 데이터의 구조를 표현하는 과정구현모델 : 데이터의 저장 및 인출 방법을 명시한 모델데이터 정의 언어로 기술된 개념 스키마 생성관계형 모델 ( Relational Model )1969년 에드가 F.코드에 의해 제안릴레이션( Relation )으로 데이터를 표현하는 모델데이터 표현이 단순하고 직관적 구조화 모델현재 대다수 DBMS의 기초관계형 모델을 사용하는 관계형 DBMS( RDBMS )Oracle, DB2, PostgreSQL, MySQL, MSSQL 등3. 릴레이션의 구성릴레이션 : Table ( 표 ), 레코드의 집합릴레이션은 하나의 컬럼과 레코드가 관계를 형성해 데이터를 결정지을 수 있는 구조다.이때 컬럼과 레코..

1. 데이터베이스 모델링의 필요비지니스적 관점어떤 데이터를 저장해야 하는가?IT적 관점어떻게 데이터를 저장해야 하는가?2. 데이터베이스 모델링의 정의데이터베이스 모델링의 정의데이터의 의미를 파악하고 데이터와 관여하는 업무 프로세스를 개념적으로 정의하고 분석하는 작업사용할 데이터를 선별하고 데이터 베이스에 체계적으로 구조화하여 저장 및 사용할 방법이 필요데이터 모델 ( 틀 )데이터의 의미, 데이터의 타입, 연산 등을 명시하기 위해 사용할 수 있는 개념( 표기법 )의 집합데이터 모델링 ( 설계 )데이터에 대한 요구사항을 분석하여 추상화하는 과정실세계의 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 과정데이터베이스 모델링의 단계1 ) 사용자 요구사항 분석 ( 수행 업무 : 데이터 및 업무 )2 )..

1. 데이터베이스의 역할데이터 사이즈bit → byte → KB → MB → GB → TB → PB → EB →ZB → YB데이터 처리데이터 생성 ( New Technology )→ 데이터 수집, 저장 분석( Big Data ) → 데이터 기반 학습 ( AI )데이터 관리대량의 데이터를 저장 및 관리하고 필요한 데이터를 신속하게 검색할 수 있도록 보조하는 장치에 대한 요구 증가이러한 장치를 데이터베이스데이터베이스란?한 조직의 여러 응용 시스템을 다수의 사용자가 공용으로 사용하기 위해 통합, 저장, 관리하는 장치데이터의 검색컴퓨터는 사람과 동일한 방식으로 데이터를 검색 및 처리웹기반 정보 시스템의 구성핸드폰에서 터치 → L4 스위치를 통해 요청이 Web 서버로 전달 → 요청을 해석 / 처리를 위해 WAS ..