객체지향 데이터베이스
정의: 객체지향 프로그래밍 개념에 기반한 데이터 모델을 사용하는 데이터베이스.
응용: 특수 분야 데이터 모델링, 의미적으로 관련된 데이터베이스 구조 표현에 적합.
객체
정의: 현실 세계의 개체를 추상적으로 표현한 단위.
특징: 고유한 식별자를 가지고, 속성(상태)과 메서드(행동)로 구성.
속성
정의: 객체의 상태를 정의하는 요소, 여러 값을 가질 수 있음.
확장: 사용자 정의 클래스와 하위 클래스도 도메인으로 사용 가능.
메서드
정의: 객체 내부의 데이터를 조작하고 객체의 행위를 정의하는 함수와 유사한 구조.
기능: 객체의 상태를 조회하거나 변경하는 데 사용. 객체의 캡슐화된 데이터에 대한 접근과 조작을 안전하고 제어된 방식으로 수행.
사용: 클래스 정의 내에서 메서드를 정의하고, 객체 인스턴스를 통해 이 메서드를 호출하여 실행.
메시지
역할: 객체 간의 통신을 위한 수단. 한 객체가 다른 객체의 메서드를 호출할 때 사용되는 메커니즘.
작동 방식: 객체에 메시지를 보내면, 객체는 해당 메시지와 일치하는 메서드를 실행. 메시지는 메서드 이름과 필요한 매개변수를 포함할 수 있음.
클래스
정의: 공통의 속성과 메서드를 공유하는 객체의 집합을 정의하는 틀 또는 설계도.
특징: 클래스는 객체의 구조와 행위를 정의하며, 인스턴스화를 통해 실제 객체 생성.
내용: 데이터 멤버(속성)과 멤버 함수(메서드)를 포함하여 객체의 구조와 행위를 정의.
클래스 계층
정의: 클래스들 사이의 계층적 구조. 클래스 간에 상속 관계를 형성.
IS-A 관계: 하위 클래스는 상위 클래스의 모든 특성을 상속받으며, 추가적인 특성이나 기능을 가질 수 있음.
상속
정의: 하나의 클래스(상위 클래스)의 속성과 메서드를 다른 클래스(하위 클래스)가 받아 사용하는 것.
유형:
단일 상속: 하위 클래스가 단 하나의 상위 클래스로부터만 상속.
다중 상속: 하나의 하위 클래스가 여러 상위 클래스로부터 속성과 메서드를 상속.
복합 객체
정의: 여러 객체가 결합하여 형성된 복잡한 객체. 사용자 정의 클래스로 구성된 속성을 포함할 수 있음.
Is-Part-Of 관계: 복합 객체 내의 각 부분은 전체 객체의 일부로, 이러한 관계는 객체 간의 복잡한 연결을 나타냄.
객체지향 질의 모델
역할: 객체지향 데이터베이스에서 데이터를 검색하고 조작하기 위한 언어 또는 표현식.
유형:
단일 오퍼랜드 질의: 특정 클래스 또는 클래스 계층에 대한 질의.
다중 오퍼랜드 질의: 여러 클래스 간의 관계를 기반으로 하는 질의.
객체관계 데이터베이스
정의: 객체지향 특성을 통합한 관계 데이터베이스 시스템.
특징: SQL을 사용하여 데이터 관리와 객체지향 특성을 제공. 관계 모델의 확장으로 볼 수 있음.
분산 데이터베이스 시스템
중앙 집중식: 하나의 위치에 모든 데이터를 집중시켜 관리.
분산 시스템: 데이터를 여러 위치에 분산시켜 저장하고, 이를 통합적으로 관리.
투명성 유형
위치 투명성: 사용자가 데이터의 물리적 위치를 몰라도 접근할 수 있음.
중복 투명성: 데이터가 여러 위치에 중복되어 있어도 사용자에게는 단일 데이터처럼 보임.
단편화 투명성: 데이터가 여러 부분으로 나뉘어 있어도 사용자에게는 통합된 데이터처럼 보임.
병행 투명성: 여러 트랜잭션이 동시에 수행되어도 서로 간섭 없이 일관된 데이터 상태 유지.
장애 투명성: 시스템의 일부에 장애가 발생해도 전체 시스템의 작동에 영향을 주지 않음.
멀티미디어 데이터베이스 시스템
멀티미디어 데이터: 다양한 형태의 미디어(텍스트, 이미지, 비디오 등)를 포함하는 데이터.
질의 처리: 복잡한 멀티미디어 데이터에 대한 효율적인 검색과 관리를 위한 여러 기술(내용 기반 검색, 매칭 등) 사용.
웹 데이터베이스
정의: 웹 기반 어플리케이션과 데이터베이스 시스템을 통합한 시스템.
미들웨어: 웹 서버와 데이터베이스 간의 상호작용을 중재하고 데이터 전송을 담당.
데이터 웨어하우스
정의: 다양한 출처의 데이터를 수집, 통합, 변환하여 분석용으로 저장하는 시스템.
특징: 주제 중심, 시간 변화에 따른 데이터 유지, 비소멸성, 통합된 내용으로 구성.