CS/데이터베이스

데이터 과학 데이터 과학 데이터 과학(Data Science) 데이터의 방대한 규모와 다양한 형태, 다양해진 데이터 활용에 대한 요구 속에 등장 데이터를 수집한 후 분석을 통해 데이터를 정확히 이해함으로써 그 속에 숨겨진 새로운 지식을 발견하고, 이를 문제 해결에 활용하는 모든 과정의 활동을 의미 데이터 생성, 수집, 저장, 분석, 표현의 모든 과정과 연관 컴퓨터 과학, 통계학, 적용 분야에 대한 이해를 필요로 하는 복합적인 기술 DIKW 계층 구조 DIKW (Data-Information-Knowledge-Wisdom) 계층 구조 Data: 관찰하거나 측정하여 수집한 사실이나 값 Information: 상황에 대한 이해를 바탕으로 데이터를 목적에 맞게 가공한 것 Knowledge: 규칙이나 패턴을 통해..
새로운 데이터 모델 객체지향 데이터베이스 객체지향 데이터 모델 객체 지향 개념에 기반을 둔 데이터 모델 의미적으로 관계가 있는 데이터베이스 구조를 표현하기 위한 강력한 설계 기능 제공 객체지향 데이터 모델 구성 요소 객체(object): 현실 세계에 존재하는 개체를 추상적으로 표현한 것 각 객체는 시스템 전체에서 유일하게 식별될 수 있는 객체 식별자(OID; Object Identifier)를 가짐 상태를 의미하는 속성과 상태를 조작하는 메서드로 구성 속성(attribute): 관계 데이터 모델의 속성과 같은 의미 관계 데이터 모델의 속성은 기본으로 제공되는 데이터 타입을 도메인으로 하는 단일 값만 가질 수 있지만, 객체지향 데이터 모델의 속성은 값을 여러 개 가질 수 있음 메서드(method): 객체에..
보안 데이터베이스 보안 데이터베이스 보안 조직에서 허가한 사용자만 데이터베이스에 접근할 수 있도록 통제하여 보안을 유지하는 것 1. 물리적 환경에 대한 보안 자연 재해 등으로부터 보호 자연 재해처럼 데이터베이스에 물리적 손실을 발생시키는 위험으로부터 데이터베이스를 보호 2. 권한 관리를 통한 보안 권한이 없는 사용자로부터 보호 계정이 발급된 사용자만 데이터베이스에 접근할 수 있도록 통제하고, 사용자별로 사용 범위와 수행 가능한 작업 내용을 제한 3. 운영 관리를 통한 보안 권한이 있는 사용자로부터 보호 접근이 허락된 사용자가 권한 내에서 데이터베이스를 사용하는 동안 데이터 무결성을 유지하도록 제약조건을 정의하고 위반하지 않도록 통제 권한 관리 권한 관리 권한 관리 개념 접근 제어(access contro..
트랜잭션 트랜잭션의 특성 트랜잭션 (Transaction) 논리적인 작업의 단위, 하나의 작업을 수행하는 데 필요한 DB 연산들을 모아 놓은 것 장애 발생 시 복구 작업이나 병행 제어 작업을 위한 중요한 단위로 사용 데이터베이스의 무결성과 일관성을 보장하기 위해 작업 수행에 필요한 연산들을 하나의 트랜잭션으로 제대로 정의하고 관리해야 함 트랜잭션의 특성 (ACID) 원자성 (Atomicity) 트랜잭션의 연산들이 모두 정상적으로 실행되거나 하나도 실행되지 않아야 하는 all-or-nothing 방식 트랜잭션 실행 도중 장애가 발생하면 지금까지 실행한 연산 처리를 모두 취소하고, DB를 트랜잭션 작업 전 상태로 되돌려야 함 👉 원자성의 보장을 위해 장애 발생 시 회복 기능 필요 일관성 (Consistenc..
정규화의 개념과 이상 현상 이상(anomaly) 현상 이상(anomaly) 현상 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입, 수정, 삭제 연산을 수행할 때 발생할 수 있는 부작용 정규화는 이상 현상을 제거하면서 DB를 올바르게 설계해나가는 과정 이상 현상의 종류 삽입 이상: 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 갱신 이상: 중복 투플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제 삭제 이상: 투플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실 문제 정규화 정규화 이상 현상이 발생하지 않도록, 릴레이션을 관련 있는 속성들로만 구성하기 위해 릴레이션을 분해(decomposition)하는 과정 함수적 종속성을 판단하여 정규화를 수행함 함수..
데이터베이스 설계 데이터 베이스 설계 사용자의 다양한 요구사항을 고려하여 데이터베이스를 생성하는 과정 관계 데이터베이스의 대표적인 설계 방법 E-R 모델과 릴레이션 변환 규칙을 이용한 설계 정규화를 이용한 설계 E-R 모델과 릴레이션 변환 규칙을 이용한 설계 과정 요구사항 분석 데이터 베이스의 용도 파악 결과물: 요구 사항 명세서 개념적 설계 DBMS에 독립적인 개념적 구조 설계 결과물: 개념적 스키마(E-R 다이어그램) 논리적 설계 DBMS에 적합한 논리적 구조 설계 결과물: 논리적 스키마(릴레이션 스키마) 물리적 설계 DBMS로 구현 가능한 물리적 구조 설계 결과물: 물리적 스키마 구현 SQL문을 작성한 후 이를 DBMS에서 실행하여 데이터베이스 생성 설계 과정 중에 오류를 발견해서 변경이 필요하면 ..
SQL 소개 SQL SQL (Structured Query Language) RDB (관계 데이터베이스)를 위한 표준 질의어, 비절차적 데이터 언어 대화식 SQL: 데이터베이스 관리 시스템에 직접 접근해 질의를 작성하여 실행 삽입 SQL: 프로그래밍 언어로 작성된 응용 프로그램에 삽입 SQL의 분류 데이터 정의어(DDL): 테이블을 생성, 변경, 제거하는 기능 제공 데이터 조작어(DML): 테이블에 데이터를 삽입하거나, 저장된 데이터를 수정, 삭제, 검색하는 기능 제공 데이터 제어어(DCL): 보안을 위해 데이터에 대한 접근 및 사용 권한을 사용자 별로 부여하거나 취소하는 기능 제공 SQL을 이용한 데이터 정의 테이블 생성: CREATE TABLE [ ] 안의 내용은 생략 가능 세미콜론으로 문장의 끝을 ..
관계 데이터 연산의 개념 💡 Remind 데이터 모델 = 데이터 구조 + 연산 + 제약 조건 관계 데이터 연산 관계 데이터 연산 (Relational data operation) 관계 데이터 모델의 연산 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것 관계 대수와 관계 해석 관계 대수 원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술 관계 해석 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술 관계 대수와 관계 해석 모두 기능과 표현력 측면에서 능력이 동등하다. 관계적으로 완전(Relationally complete)한 언어: 관계 대수나 관계 해석을 사용하여 데이터베이스의 모든 유형의 질의를 표현하고 처리할 수 있는 언어 관계 대수 (Relational A..
데이터 모델링과 데이터 모델의 개념 데이터 모델링 데이터 모델링(Data Modeling) 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 데이터베이스 설계의 핵심 과정 2단계 데이터 모델링 개념적 데이터 모델링(Conceptual Modeling): 현실 세계의 데이터를 추출하여 개념 세계로 옮기는 작업 논리적 데이터 모델링(Logical Modeling): 개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업 데이터 모델 데이터 모델(Data Model) 데이터 모델링의 결과물을 표현하는 도구 개념적 데이터 모델: 현실 세계를 개념적 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구 ex. 개체 - 관계 모델 논리적 데이터 모델: 개념적 구조를 논리적 모델링하여 데이..
Oracle 오라클 개요 오라클 사가 개발한 관계 DBMS - 가장 높은 시장 점유율 유닉스, 리눅스, 윈도우 등 대부분의 운영체제를 지원 온라인 트랜잭션 처리(OLTP: Online Transaction Processing), 데이터 웨어하우스, OLAP(Online Analytic Processing), 전자 상거래 등 최근에 등장하고 있는 데이터베이스의 중요한 응용 분야에 활용 가능 오라클 서버와 인스턴스 오라클 서버: 오라클 인스턴스 + 오라클 데이터베이스 오라클 인스턴스: 백그라운드 프로세스들과 메모리 구조의 조합 접속(connection): 사용자 프로세스와 서버 프로세스 간의 통신 경로 - 사용자가 오라클 서버에 SQL 문을 입력하기 전에 반드시 오라클 인스턴스에 연결되어 있어야 함 세션(s..
호프
'CS/데이터베이스' 카테고리의 글 목록