[한빛아카데미] 쉽게 배우는 데이터 통신과 컴퓨터 네트워크 책으로 학습한 내용을 정리한 것입니다. * 계층 구조의 개념 1) 모듈화 - 복잡한 시스템을 기능별로 모듈화하면 시스템 구조가 단순해짐 - 각 단위 모듈이 독립적인 기능을 수행하기 때문에 고장이나 업그레이드 등의 상황에 손쉽게 대처 가능 - 장점: 설계의 독립성(재활용성), 디버깅의 용이, 유지보수 성능 개선 2) 계층 구조 - 분할된 모듈들은 협력 관계를 유지하면서 유기적으로 동작하며, 대부분의 모듈 구조에서는 특정 모듈이 다른 모듈에 서비스를 제공하는 형식의 계층 구조를 이룸 - 네트워크에서도 독립적인 고유 기능을 수행하는 모듈들이 상하위의 계층 구조로 연결되어 동작함 [모듈화된 계층 구조 프로토콜 장점] - 복잡하고 큰 시스템을 기능별로 작..
[한빛아카데미] 쉽게 배우는 데이터 통신과 컴퓨터 네트워크 책으로 학습한 내용을 정리한 것입니다. * 네트워크 기초 용어 1) 시스템(System) - 내부 규칙에 따라 능동적으로 동작하는 대상 - ex. 자동차, 커피 자판기, 컴퓨터, 마이크로프로세서, 하드디스크 등과 같은 물리적인 대상 신호등으로 교통을 제어하는 운영 시스템, MS윈도우즈 등의 운영체제, 프로그램의 실행 상태를 의미하는 프로세스 같은 논리적인 대상 2) 인터페이스(Interface) - 시스템과 시스템을 연결하기 위한 표준화된 접근 방법 - ex. 컴퓨터 본체와 키보드를 연결하여 제대로 동작하게 하려면 키보드의 잭을 본체의 정해진 위치에 꽂아야 함 상호 간의 데이터 교환을 위한 RS-232C, USB 등과 같은 논리적인 규격과 잭의 ..
[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다. * 트랜잭션(Transaction) - DBMS가 데이터베이스를 다룰 때 사용하는 작업(프로그램)의 단위 - 데이터베이스의 무결성을 유지하기 위해 원자성, 일관성, 고립성, 지속성의 성질을 가짐 - 트랜잭션은 장애 시 데이터를 복구하는 작업의 단위 - 데이터베이스에서 여러 작업이 동시에 같은 데이터를 다룰 때, 이 작업을 서로 분리하는 단위가 됨 - 트랜잭션은 전체가 수행되거나 또는 전혀 수행되지 않아야 함(All or nothing) * 트랜잭션 수행 과정 [예시] 1) A계좌(박지성)의 값을 하드디스크(데이터베이스)에서 주기억장치 버퍼로 읽어옴 2) B계좌(김연아)의 값을 하드디스크(데이터베이스)에서 주기..
[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다. * 이상현상(Anomaly) - 테이블에 투플을 삽입할 때 부득이하게 NULL값이 입력되거나, 삭제 시 연쇄삭제 현상이 발생하거나, 수정 시 데이터의 일관성이 훼손되는 현상 - 삭제이상(Deletion Anomaly) : 투플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상 -> 연쇄삭제 문제 발생 - 삽입이상(Insertion Aomaly) : 투플 삽입 시 특정 속성에 해당하는 값이 없어 NULL값을 입력해야 하는 현상 -> NULL값 문제 발생 - 수정이상(Update Anomaly) : 투플 수정 시 중복된 데이터의 일부만 수정되어 데이터의 불일치 문제 발생 현상 -> 불일치 문제 발생 *..
[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다. * 데이터 모델링(Data Modeling) - 현실 세계의 복잡한 개념을 단순화하고 추상화시켜 데이터베이스화하는 과정 * 데이터베이스 생명주기(Database Life Cycle) - 데이터베이스는 최초 사용자의 요구에 의해 구축되어 사용되다가 필요에 따라 개선 또는 다시 구축되어 사용되는데, 데이터베이스의 생성과 운영에 관련된 사이클 1) 요구사항 수집 및 분석 : 사용자들의 요구사항을 듣고 분석하여 데이터베이스 구축의 범위를 정하는 단계 2) 설계 : 분석된 요구사항을 기초로 주요 개념과 업무 프로세스 등을 식별하고(개념적 설계), 사용하는 DBMS의 종류에 맞게 변환(논리적 설계)한 후, 데이터베이스 ..
[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다. * 데이터베이스 프로그래밍 - 프로그래밍(Programming) : 프로그램을 설계하고 소스코드를 작성하여 디버깅하는 과정 - 데이터베이스 프로그래밍(Database Programming) : DBMS에 데이터를 정의하고 저장된 데이터를 읽어와 데이터를 변경하는 프로그램을 작성하는 과정이며, 데이터베이스 언어인 SQL을 포함한다는 점이 일반 프로그래밍과 다름 * 데이터베이스 프로그래밍 방법 - SQL 전용 언어를 사용하는 방법 - 일반 프로그래밍 언어에 SQL을 삽입하여 사용하는 방법 - 웹 프로그래밍 언어에 SQL을 삽입하여 사용하는 방법 - 4GL(4th Generation Language) : GUI 기..
[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다. * 내장 함수(Built-in Function) - DBMS가 제공함 - 상수나 속성 이름을 입력 값으로 받아 단일 값을 결과로 반환함 * 숫자 함수 * 문자 함수 * 날짜 및 시간 함수 * 부속질의(Subquery) - 하나의 SQL문 안에 다른 SQL문이 중첩된 질의를 뜻함 - 데이터가 대량일 경우 데이터를 모두 합쳐서 연산하는 조인보다 필요한 데이터만 찾아서 공급해주는 부속질의가 성능이 더 좋음 * 뷰(View) - 하나 이상의 테이블을 합하여 만든 가상의 테이블 [장점] - 편리성 : 미리 정의된 뷰를 일반 테이블처럼 사용할 수 있기 때문에 편리함 - 재사용성 : 자주 사용되는 질의를 뷰로 미리 정의해..
[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다. * SQL(Structured Query Language) - 데이터 부속어(Data Sublanguage)라고 있는데, 데이터베이스의 데이터와 메타 데이터를 생성하고 처리하는 문법만 가짐 구분 SQL 일반 프로그래밍 언어 용도 데이터베이스에서 데이터를 추출하여 문제 해결 모든 문제 해결 입출력 입력은 테이블, 출력도 테이블 모든 형태의 입출력 가능 번역 DBMS 컴파일러 문법 SELECT * FROM Book; int main() { . . . } * 데이터 조작어(DML, Data Manipulation Language) - 테이블에 데이터를 검색, 삽입, 수정, 삭제하는데 사용하며 SELECT, INSE..