추천 게시물

[프로그램밍 수업을 위한 실습 환경 구축] 아나콘다 설치 (1편)

이미지
프로그래밍 수업을 본격적으로 시작하기 전에, 코드를 작성하고 실행할 수 있는 실습 환경부터 갖춰야 합니다. 이번 시리즈는 아래 세 단계로 진행할 예정입니다. 1편.  아나콘다 설치 ← 오늘 할 내용 2편. Visual Studio Code 설치 3편. 환경 설정 첫 번째 단계부터 차근차근 따라가볼게요.

[대학교 교재 정리 - 데이터베이스 시스템(MC Graw Hill)] 데이터베이스 설계의 개요

2.1 데이터베이스 설계와 ER  다이어그램 데이터베이스 설계과정 여섯 단계 1. 요구분석 - 첫 단계는 데이터베이스에 무슨 정보를 저장할 것인가, 그 위에 어떤 응용을 구축할 것인가, 어떤 연산들이 가장 자주 수행되며 성능 요건은 무엇인가를 파악하는 일이다.  2. 개념적 데이터베이스 설계 - 요구분석 단계에서 모은 정보들은 데이터베이스에 저장될 데이터와 이 데이터가 준수해야하는 제약조건들을 고수준으로 기술하기 위해 사용된다. 이 단계는 주로 ER 모델을 이용하여 수행된다. 3. 논리적 데이터베이스 설계 - 데이터베이스 설계를 구현하기 위해 DBMS를 선정하고, 개념적 데이터베이스 설계를 선정한 DBMS의 데이터 모델에 따른 데이터베이스 스키마로 변환해야 한다.  4. 스키마 정제 - 관계 데이터베이스 스키마에 있는 릴레이션들을 분석하여 잠재적인 문제점들을 파악하고 정제하는 것이다. 5. 물리적 데이터베이스 설계 - 데이터베이스가 지원해야 할 일반적인 예상 작업량을 고려하여 데이터베이스 설계르 ㄹ원하는 성능기준에 맞도록 더 정제한다. 6. 응용 및 보안설계 - 응용 업무를 반영하는 모든 프로세스에서 각 개체의 역할을 그 업무를 위한 전체 작업 흐름의 일부로써 기술해야 한다. - 각 역할별로, 접근될 수 있어야만 하는 데이터베이스 영역과 접근되어서는 안 되는 영역을 파악해야 한다. 2.2 개체, 애트리뷰트, 개체집합 개체(entity)는 실세계에서 다른 객체들로부터 구분될 수 있는 객체이다.  객체들의 모임을 객체집합(entity set)이라고 한다. 하나의 개체는 애트리뷰트들(attributes)의 집합을 사용하여 기술된다. 주어진 개체집합에 속한 모든 개체들은 동일한 애트리뷰트들을 갖는다.  개체집합과 관련한 각 애트리뷰트에 대해서, 가능한 값들의 도메인(domain)을 지정하여야 한다.  각 개체집합에 대해서 키를 선택한다. 키는 주어진 집합에 속하는 한 개체를 유일하게 식별하는 값을 갖는 최소개의 애트...

[대학교 교재 정리 - 데이터베이스 시스템(MC Graw Hill)] DBMS의 구조

 사용자가 어떤 질의를 입력하면, 구문이 분석된 질의는 질의 최적화기(query optimizer)로 넘겨진다. 질의 최적화기는 그 질의를 계산하기 위한 효율적인 실행 계획을 수립하기 위해 데이터가 어떻게 저장되어 있는가에 관한 정보를 이용한다. 실행 계획(execution plan)은 질의를 계산하기 위한 청사진으로, 대개 관계 연산자들의 트리로 표현된다.  파일과 접근 방법 계층의 코드는 버퍼 관리기 계층 위에 위치한다. 버퍼 관리기는 읽기 요청에 따라 필요한 대로 페이지들을 디스크로부터 주기억장치로 가져온다. DBMS 소프트웨어의 최하층은 데이터가 저장되는 디스크상의 공간을 관리한다. 그 위의 계층들은 디스크 공간 관리기라고 불리는 이 계층을 통해서 페이지를 할당하고, 반납하고, 읽고, 기록한다. DBMS는 사용자의 요청들을 신중하게 스케줄링하고 데이터베이스의 모든 변경에 대한 로그를 유지함으로써 동시성과 손상복구를 지원하다.  트랜잭션 관리기는 트랜잭션들이 적당한 잠금 프로토콜에 의하여 잠금을 요청하고 해제하도록 하며 트랜잭션들의 수행을 계획한다.  잠금 관리기는 데이터베이스 객체에 대한 잠금들의 요청을 관리하며 그들이 이용 가능할 때 잠귿ㅁ들을 허가한다.  복구 관리기는 로그를 유지관리하고, 시스템 장애가 일어나 후 다시 시스템을 일관적인 상태로 복구하는 역할을 담당한다.