기초가 든든한 데이터베이스

이연진·2024년 1월 17일
0

book

목록 보기
8/35
post-thumbnail

데이터(data) = 현실세계에서 수집한 사실이나 값

정보(information) = 데이터를 처리하여 얻는 의미 있는 데이터

데이터베이스(Database, DB)

: 어떤 특정한 조직에서 여러 명의 사용자나 응용 시스템들이 공유하고 동시에 접근하여 사용할 수 있도록 구조적으로 통합하여 저장한 운영 데이터의 집합

데이터베이스 관리 시스템(Database Management System, DBMS)

: 사용자 또는 응용 프로그램과 데이터베이스의 중재자로서 모든 응용 프로그램들이 데이터베이스를 공용할 수 있도록 필요한 제어, 접근 방법, 관이 등의 기능을 수행하는 데이터베이스 관리 소프트웨어 -

: 오라클사의 Oracle, 마이크로소프트사의 SOL Server

: 파일 시스템의 데이터 종속성(data dependency)과 데이터 중복성 문제를 해결하기 위하여 제안

데이터 종속성

: 데이터의 저장 방법이나접근 방법을 변경하면 반드시 응용 프로그램도 함께 변경해야 하는 것을 의미

사용자는 응용 프로그램을 사용하는 일반 사용자

최종 사용자

DBMS을 연동한 응용 프로그램을 개발하는 응용 프로그래머

DBMS및 이와 관련된 하드웨어 또는 소프트웨어를 관리 감독하는 데이터베이스 관리자 (DatabaseAdministrator, DBA)

데이터 언어

: 데이터베이스를 정의하거나 그 정의를 수정할 목적으로 사용하는 데이터 정의어(Data Definition Language, DDL) + 데이터를 검색, 삽입, 삭제,변경하는데 사용하는 데이터 조작어(Data Manipulation Language, DML) + 데이터베이스를 올바르게 공용하게 하면서 정확성을 유지하는데 사용하는 데이터 제어어(Data Control Language, DCL)

서브 스키마 = 외부 스키마

: 개별 사용자 입장에서 데이터베이스 구조를 기술한 것으로 여러 형태가 존재

스키마 = 개념 스키마

: 조직 전체 입장에서 통합한 데이터베이스를 기술한 것으로 하나만 존재

내부 스키마

: 저장장치 입장에서 전체 데이터베이스가 저장되는 방법을 명세한 것으로 역시 하나만 존재

데이터 독립성

: 데이터베이스 구조가 변해도 응용 프로그램 또는 논리적 구조에 영향을 미치지 않도록 하는 것을 의미

: 기존 응용 프로그램에 영향을 주지 않고 논리적 구조를 변경할 수 있는 논리적 데이터 독립성 + 응용 프로그램이나 논리적 구조에 영향을 주지 않고 물리적 구조를 변경할수 있는 물리적 데이터 독립성

외부/개념 사상(응용 인터페이스)

: 논리적 데이터 독립성을 제공

개념/내부 사상(저장 인터페이스)

: 물리적 데이터 독립성을 제공

데이터 모델

: 데이터베이스의 구조를 단순화, 추상화하여 체게적으로 표현하는데 사용되는 도구

: 그래픽적으로 구현

: 데이터 구조, 이런 구조에서 허용되는 연산 그리고 이런 구조와 연산에 대한 제약조건으로 구성

ER 모델(Entity-Relationshipmode)

: 대표적인 개념적 데이터 모델

: 개체는 사람과 사물 같이 유형의 정보를 가지고 현실세계에 물리적으로 존재하는 실체 혹은 개념, 사건 등과 같이 무형의 정보를 가지고 추상적/개념적으로 존재하는 실체 = ERD에서 개체 타입은 직사각형으로 제시

: 관계는 개체와 개체가 맺고 있는 의미 있는 연관성 = ERD에서 관계는 기본적으로 마름모로 나타낸 후 그 관계 타입이 관련된 개체 타입에 실선으로 연결

논리적 데이터 모델

: 필드에 기술된 데이터 형식과 이 데이터 형식들 간의 관계를 이용하여 현실셰계를 표현하는 방법

: 계층 데이터 모델, 네트워크 데이터 모델, 관계 데이터 모델

계층 데이터 모델

: 데이터베이스의 논리적 구조를 트리 형태로 표현

네트워크 데이터 모델

: 데이터베이스의 논리적 구조를 그래프또는 네트워크 형태로 표현

관계 데이터 모델

: 데이터베이스의 논리적 구조를 표 형태로 표현

관계 데이터 모델

: 집합과 관계 대수에 근거한 수학적 이론을 기반으로 하고 있을 뿐만 아니라 개념도 비교적 단순해서 이해하기가 유리

: S0L은 원하는 데이터를 쉽게 표현 가능

: 용어 - 행과 열로 구성된 테이블을 의미하는 릴레이션 <릴레이션 스키마와 릴레이션 인스턴스>, 릴레이션을 구성하는 각 열에 부여된 이름인 속성, 각 속성에 입력 가능한 값의 범위를 미리정해 놓는 도메인, 릴레이션의 각 행을 의미하는 투플, 알 수 없는 값을 의미하는 NULL

관계 데이터 모델의 릴레이션

: 하나의 릴레이션에는 중복된 투플이 존재하지 않는다는 투플의 유일성

: 하나의 릴레이션에서 투플간의 순서는 의미가 없다는 투플의 무순서성

: 하나의 릴레이션 내에서 속성의 순서는 의미가 없다는 속성의 무순서성

: 모든 속성 값은 원자 값만 사용할 수 있다는 속성의 원자성

릴레이션의 키

: 단일 릴레이션에 적용 가능한 수퍼키 - 유일성개념, 후보키 - 유일성과 최소성 개념, 기본키 - 여러 후보키 충에서 투플을 식별하는데 기준으로 사용하는 키, 대체키 - 기본키로 선정되지 않은 후보키

: 릴레이션 간의 관계를 맺는데 사용 가능한 외래키

개체 무결성 제약조건 == 기본키 제약

참조 무결성 제약조건 == 외래키 제약

관계 대수는 릴레이션을 처리하는 연산의 집합이다. 이에 속하는 연산자는 수학의 집합 이론에서 차용된 일반 집합 연산자와 관계 데이터 모델을 위해 고안된 순수 관계 연산자로 나눌 수 있다.

일반 집합 연산자

: 합집합

: 교집합

: 차집합

: 카티션 프로덕트 - x 기호를사용하여 두 릴레이션에 속한 모든 투폴의 집합을 구하는 연산

순수 관계 연산자

: 셀렉션

: 프로젝션

: 조인 - 동등조인<조인에 참여하는 두 릴레이션의 속성 값을 = 연산자를 사용하여 비교한 후 조건을 만족하는 투플을 반환>, 자연조인<동등조인에서 조인에 참여한 속성이 두 번 나오지 않도록 두 번째 속성을 제거한 결과를 반환>

: 디비전

SQL Server

: 윈도우 운영체제에서 동작하는 데이터베이스 관리 소프트웨어

: SQL Server 관리 스튜디오 - SQL Server DBMS에 접속하여 SQL 작성 및 실행을 통해 테이블과 데이터를 조작할 수 있는 그래픽 사용자 인터페이스 환경을 제공

: 하나의 데이터 베이스는 최소한 한 개의 주 데이터 파일과 한개의 로그 파일을 소유

WHERE 절

: 테이블에 저장된 데이터 중에서 원하는 데이터만 선택적으로 검색하는 역할

ORDER BY 절

: 결과 행들의 정렬 순서를 지정하는 역할

집단함수

: 테이블에서 검색된 행들을 하나 이상의 그룹으로 만들어 그룹별로 개수, 합계, 평균, 최대, 최소 등을 구하여 출력하는데 주로 사용

GROUP BY 절

: 명시된 열에 저장된 동일한 값의 행들을 한 그룹으로 무는 역할

HAVING 절

: GROUP BY 절의 결과로 나타나는 그룹을 제한하는 역할

조인

: 여러 테이블에 저장된 데이터를 하나의 S0L 명령문으로 한번에 검색하는 역할

JDK(Java Development Kit)와 JDBC(Java Database Connectivity)

ER 모델

: 개체와 그들 간의 관계를 이용하여 현실세계를 개념적 구조로 표현하는 방법

개체

: 사람과 사물 같이 유형의 정보를 가지고 현실세계에 물리적으로 존재하는 실체 혹은 개념, 사건 등과 같이 무형의 정보를 가지고 추상적/개념적으로 존재하는 실체

: 독립적으로 존재하면서 서로 구별되는 특성 == 개체 타입

: 개체 인스턴스 또는 개체 어커런스 == 개체를 구성하고 있는 속성들이 실제 값 또는 데이터를 가짐으로써 실체화된 형태의 개체

속성

: 개체의 특성이나 상태를 구체적으로 기술하고, 속성값은 개체의 특성이나 상태가 현실화된 값

식별자

: 개체 인스턴스를 다른 개체 인스턴스들과 구별할 수 있게 하는 하나 또는 그 이상의 속성

설명자

: 개체를 설명하기 위해서만 존재하는 속성

복합 속성

: 독립적인 의미를 가진 속성으로 분해활 수 있는 속성

다중값 속성

: 하나의 속성이 여러 개의 속성값을 가지는 속성

관계

: 개체와 개체 사이의 의미 있는 연관, 즉 개체와 개체가 존재의 행태나 행위로서 서로에게 영향을 주는 형태

: 관계의 차수 = 특정한 관계에 연결된 개체의 개수를 의미

: 관계의 카디낼리티 = 하나의 관계에 실제로 참여할 수 있는 인스턴스의 수를 의미

: 관계의 존재성 = 필수적인 참여 관계인지, 아니면 선택적인 참여 관계인지 여부

: 삽입 이상= 데이터 삽입 시 특정 열에 해당하는 값이 없어서 필요하지 않은 NULL을 강제로 입력해야 하는 현상

: 삭제 이상 = 데이터 삭제 시 유용한 다른 데이터까지 함께 삭제되는 현상을 의미한다.

: 수정 이상 = 중복 데이터 중에서 일부만 수정되어 데이터의 불일치문제가 발생하는 현상

: 정규화 = 데이터를 관계형 데이터베이스에 저장할 때 중복을 최소화할 수 있는 데이터 구조를 만드는 프로세스를 의미

데이터 요구사항

: 서술형으로 되어 있는 업무 기술서 검토, 서식으로 만들어진 장표 검토, 혹은 구축된 시스템의 산출물 검토 또는 현업 업무 전문가와 면담을 실시하여 수집

트랜잭션

: 데이터베이스 내에서 하나의 논리적 기능을 수행하기 위해 행해지는 한꺼번에 사용되는 하나 이상의 쿼리를 모아 놓은 쪼갤 수 없는 작업의 논리적인 단위(logical unit of work)

트랜책션의 특성

트랜잭션이 원자성

: 트랜잭션 작업은 수행을 시작하면, 트랜책션 내의 모든 연산들은 반드시 한꺼번에 완전하게 전체가 정상적으로 수행이 완료되거나 아니면 어떠한 연산도 수행되지 않는 Al or Nothing 방식이어야 한다는 것을 의미

트랜잭션이 일관성

: 트랜잭션 작업이 시작되기 전에 데이터베이스 상태가 일관된 상태였다면, 트랜잭션 작업이 종료된 후에도 일관성 있는 데이터베이스 상태를 유지해야 한다는 것을 의미

트랜잭션이 고립성

: 트랜책션 작업 수행 중에는 다른 트랜잭션에 영향을 주어서도 안되고, 다른 트랜잭션들에 의해 간섭을 받아서도 안 된다는 것을 의미

트랜책션이 지속성

: 트랜책션 작업이 성공적으로 수행되어 데이터베이스 내에 반영되었으면, 트랜잭션의 그 결과는 영구적으로 데이터베이스에 저장되어야 한다는 것을 의미

트랜책션의 원자성을 보장하는 연산

: 트랜책션이 성공적으로 종료되었을 때 수행하는 COMIMIT

: 트랜잭션의 비정상적으로 종료되었을 때 수행하는 ROLLBACK

트랜책션 상태

: 활동

: 부분 완료

: 실패

: 완료

: 철회

DBMS 회복 기능, 일관성과 고립성(격리성)을 위한 동시성 제어(병행 제어) 기능을 제공

데이터 웨어하우스(Data Warehouse, DW)

: 사용자의 의사 결정 지원을 위하여 주제 중심적으로 통합되고 전사적인 대규모의 데이터 저장소

데이터 웨어하우스

: 주제 지향적

: 통합적

: 시계열적

: 비휘발적

데이터 웨어하우스 구성

: ETL(Extraction, Transformation Loading) 프로세스

: 전사적 데이터 웨어하우스

: 데이터 마트

데이터 웨어하우스의 스키마

: 스타 스키마(star schema)

: 눈송이 스키마(snowflake schema)

OLAP(Online Analytical Processing)

: 사용자가 동일한 데이터를 여러 기준을 이용하는 다양한 방식으로 바라보면서 다차원 데이터를 분석할 수 있는 의사결정 지원 시스템

OLAP의 특징

: 다차원 정보 구조

: 데이터에 대한 직접적인 접근

: 대화식 질의를 통한 정보 분석

: 의사결정의 효과적인 지원

OLAP의 주요 기능

피보팅

: 데이터를 분석하는 차원을 사용자의 니즈에 따라 다양한 기준으로 전환시켜 볼 수 있는 기능

필터링

: 분석하고자 하는 전체 데이터에서 원하는 기준만을 선정하여 그 기준에 해당되는 정보만을 걸러서 보여주는 기능

리포팅

: 마우스를 이용하여 다른 보고서 화면이나 분석 조건을 현재 보고서 위에 끌어다 놓으면, 그 새로운 화면이나 분석 조건에 의해 보고서가 다시 실행되는 기능

분해

드릴링

OLAP 종류

: MOLAP, ROLAP, HOLAP

데이터 마이닝

: 대용량의 데이터 안에서 데이터들간에 숨어있는 패턴이나 관련성을 발견하여 의사결정에 유용한 지식을 추출하는 일련의 과정

데이터 마이닝 작업

: 연관 규칙

: 분류 규칙

: 데이터를 유사한 성격의 소그률으로 묶어주는 군집 규칙

드릴링

: 데이터의 깊이와 분석 차원을 마음대로 바꿔가며 심도 있는 분석을 활 수 있는 기능

: 드릴다운 / 드릴업 / 드릴 어크로스 / 드릴 쓰루

0개의 댓글