데이터베이스란?

  • 체계화된 데이터의 모임
  • 여러 응용 시스템들의 통합된 정보를 저장하여 운영할 수 있는 공용 데이터의 묶음
  • 논리적으로 연관된 하나 이상의 자료 모음으로 데이터를 고도로 구조화함으로써 검색/갱신등의 데이터 관리를 효율화 함

DBMS란?

  • 데이터베이스를 관리하는 시스템
  • 사용자와 DB사이에서 사용자의 요구에 따라 데이터를 생성해주고, DB를 관리해주는 소프트웨어이다.
  • 데이터를 계층 또는 탐색 형식으로 저장한다. 파일 시스템을 사용해 저장하며 테이블 간에는 아무련 관계가 없다.
  • 데이터에 대한 많은 보안을 제공하지 않고, 정규화를 수행할 수 없어 데이터는 높은 중복성을 가질 수 있다.

 

RDB란?

  • 관계형 데이터 모델에 기초를 둔 데이터 베이스이다.
  • 모든 데이터를 2차원의 테이블 형태로 표현한다.

RDBMS란?

  • RDB를 생성하고 수정하고 관리할 수 있는 소프트웨어이다.
  • 관계형 모델을 기반으로 하는 DBMS 유형이다.
  • 테이블이 서로 연관되어 있어 일반 DBMS보다 효율적으로 데이터를 저장, 구성 및 관리할 수 있다.
  • 정규화를 통해 데이터의 중복성을 최소화하여 트랜잭션을 수행하는 것이 더 쉽다.
  • 데이터의 원자성, 일관성, 격리 및 내구성을 유지하며 데이터 무결성을 높인다.

 

관계형 모델이란?

관계형 모델은 실제 세계의 데이터를 '관계'라는 개념을 사용해서 표현한 데이터 모델이다.

 

Relation 이란?

  • Heading과 Body로 구성되어 있다.
  • Heading은 Attribute가 n개 모인 집합이고 이 Attribute는 이름과 데이터 형으로 되어 있다.
  • Body는 속성값의 집합인 tuple의 집합이다.
  • tuple과 attribute는 sql에서는 row, column 이라고 한다.

 

 

 

 

 

 

 

 

반응형

객체지향프로그래밍에서 중요한 개념인 오버라이딩과 동적바인딩에 대하여 간단히 조사하고 세미나를 진행하였습니다!

 

 

오버라이딩에 대한 정의입니다

 

다음은 오버라이딩에 대한 간단한 규칙입니다.

 

오버라이딩은 동적 바인딩을 통해 구현됩니다. 동적 바인딩에 대한 정의입니다.

 

동적 바인딩이 실현되는 가상함수테이블에대한 설명입니다.

반응형

이벤트 기반 프로그래밍 혹은 EDP라고도 하는 프로그래밍 패러다임에 대해 간단히 세미나를 진행하였습니다!

 

이벤트기반프로그래밍은 일어나는 일을 뜻하는 이벤트와 특정 방향으로 몰고가다의 과거완료형인 driven의 합성어로 어떤일의 발생에 의해 특정방향으로 가도록 된 이라는 뜻입니다. 따라서 이벤트의 발생에 의해 프로그램 흐름이 결정되는 프로그래밍 패러다임이라고 할 수 있습니다.

여기서 이벤트는 사용자 또는 센서의 입력이거나 네트워크로부터의 데이터송수신 혹은 다른 애플리케이션의 메세지가 될 수 있습니다.

이벤트기반프로그래밍 애플리케이션에서는 이벤트가 감지되면 콜백함수를 트리거하는 메인루프를 사용하고, 임베디드시스템에서는 반복적으로 수행하는 메인 루프 대신 하드웨어 인터럽트를 사용합니다.

 

 

이러한 이벤트 기반 프로그래밍이 등장하게된 배경에는 콘솔 프로그래밍의 단점보완에서부터 나타났습니다.

한번에 하나의 프로그램을 실행하기 때문에 흐름을 예측할 수 있었던 콘솔 프로그래밍은 순차적 프로그래밍이 적합했했지만,

동시에 여러 프로그램을 실행하는 윈도우 프로그래밍은 이벤트가 다양하게 발생하기 때문에 흐름을 예측하기 어려워졌습니다.

따라서 동시에 수행되는 다른 프로그램을 고려하여 개발을 진행하게 되었고 이러한 구조를 운영체제가 알아서 처리해주며 이 규칙이 이벤트기반프로그래밍 입니다.

 

 

이벤트 기반 프로그래밍 구조는 이벤트를 발생시키는 객체와, 이벤트를 관리하는 디스패처와, 이벤트가 발생했을 때 실행되는 객체인 이벤트 핸들러로 구성되어 있습니다.

이벤트 에미터에서 마우스 클릭과 같은 이벤트를 발생시키면 이벤트 에미터에서 실행되는 메소드들이 이벤트핸들러가 되며 이 둘을 관리하는 것 즉 이벤트와 이벤트핸들러를 바인딩 시킨것이 이벤트 디스패처 입니다.

 

 

이벤트 기반 프로그래밍 구조를 짤 때에는 먼저 응답할 이벤트를 처리하는 루틴을 작성하고 이벤트 핸들러를 이벤트에 바인딩 시킵니다. 그 후에 이벤트 발생 여부를 확인하고 핸들러를 호출하는 메인루프를 작성합니다.

 

 

이렇게 작성된 이벤트 기반 프로그래밍은 이벤트가 발생하게 되면 이벤트 객체가 생성됩니다. 이벤트 객체는 마우스 좌표와 같은 현재 발생한 이벤트에 대한 여러정보를 가진 객체입니다. 이벤트를 처리하는 핸들러인 이벤트 리스너를 찾고 호출을 시킵니다.

반응형

절차적 (구조적) 프로그래밍 이론에 대해 간단히 세미나를 진행했습니다

 

 

 

절차적프로그래밍 정의

 

절차적프로그래밍의 특징
절차적프로그래밍 이점
구조적프로그래밍의 정의
구조적프로그래밍의 특징

반응형

+ Recent posts