01.  데이터와 데이터베이스,DBMS

m  DBMS : 데이터 베이스 관리 시스템

m  데이터와 정보

n  데이터 : 어떤 필요에 의해 수집했지만 아직 특정 목적을 위해 평가하거나 정제하지 않은 값이나 사실 또는 자료 자체

n  정보 : 수집한 데이터를 어떠한 목적을 위해 분석하거나 가공하여 가치를 추가하거나 새로운 의미를 이끌어 낼 수 있는 결과

n  가치 있는 정보를 얻으려면 조건에 맞게 데이터를 효율적으로 수집 통합하고 체계적으로 관리 분석

n  효율적인 데이터 관리를 위한 조건

u  데이터를 통합하여 관리

u  일관된 방법으로 관리

u  데이터 누락 및 중복 제거

u  여러 사용자(응용 프로그램 포함)가 공동으로 실시간 사용 가능

n  데이터베이스 : 구조화된 데이터의 집합 (위 조건 만족하면서!)

 

m  파일 시스템과 DBMS

n  파일 시스템을 통한 데이터 관리

n  서로 다른 여러 응용 프로그램이 제공하는 기능에 맞게 필요한 데이터를 각각 저장하고 관리

n  각 파일에 저장한 데이터는 서로 연관이 없고 중복 또는 누락 발생 가능

n  단층 파일 구조

 

m  DBMS를 통한 데이터 관리

n  여러 목적으로 사용할 데이터의 접근관리 등의 업무를 DBMS가 전담하는 방식

n  DBMS라는 하나의 소프트웨어가 데이터를 관리

n  응용 프로그램이 필요한 데이터작업을 DBMS에 요청하면 DBMS가 자신이 관리하는 데이터베이스로 관련 작업을 수행하고 결과값을 제공

n  작업영역의 분리

응용 프로그램의 서비스 제공과 데이터 관련 작업 효율 높임

데이터의 누락이나 중복 방지

02.  데이터 모델

m  계층형 데이터 모델

n  트리 구조 활용

n  데이터 관련성을 계층별로 나눔 -> 부모 자식 같은 관계

n  일대다(1:N) 관계의 데이터 구조를 파악해야 함

n  부모는 여러 개체 자식 가질 수 있고, 자식은 하나의 부모만 가질 수 있음

 

m  네트워크형 데이터 모델

n  망형 데이터 모델

n  그래프 구조 기반

n  개체 간 관계를 그래프 구조로 연결하므로 자식 개체가 여러 부모 개체를 가질 수 있음

 

m  객체 지향형 데이터 모델

n  객체 개념 기반으로 한 데이터 모델

n  데이터를 독립된 객체로 구성하고 관리

n  상속, 오버라이드 등 객체 지향 프로그래밍의 강력한 기능 사용할 수 있음

n  DBMS에 적용하기 힘들어서 드물다만 오라클 DBMS는 관계형 모델을 바탕으로 객체 개념 도입!

è 객체 관계형 DBMS로 영역 확장

 

m  관계형 데이터 모델

n  데이터 간 관계에 초점

n  각 데이터의 독립 특성만을 규정하여 데이터 묶음을 나눔

중복이 발생할 수 있는 데이터는 별개의 릴레이션으로 정의한 후 데이터들을 연결

n  데이터 묶음 : 개체 집합(entity set) -> table, relation

데이터 묶음 간의 관계 : 관계 (relationship)

n  관계형 데이터 모델의 핵심 구성요소

u  개체(entity) : 데이터베이스에서 데이터화하려는 사물, 개념의 정보 단위

관계형 데이터베이스의 table, relation

u  속성(attribute) : 개체를 구성하는 데이터의 가장 작은 논리적 단위

데이터의 종류∙특성∙상태 등을 정의

관계형 데이터베이스의 column

u  관계(relationship) : 개체와 개체 또는 속성 간의 연관성을 나타내기 위해 사용

관계형 데이터베이스의 외래키 관계

 

03.  관계형 데이터베이스와 SQL

m  관계형 데이터베이스

n  관계형 데이터 모델 개념을 바탕으로 데이터를 저장∙관리하는 데이터베이스

n  RDBMS (relational database management system)

n  MS_SQL, MySQL, MariaDB, PostgreSQL, DB2, Oracle 등의 DBMS가 여기에 속함

 

m  SQL

n  RDBMS 데이터베이스 질의 언어

n  구분 사용 목적에 따른 분류

u  DQL(Data Query Language) : 저장한 데이터를 원하는 방식으로 조회하는 명령어

u  DML(Data Manipulation Language) : 테이블의 데이터를 저장∙수정∙삭제하는 명령어

u  DDL(Data Definition Language) : 데이터 관리를 위해 테이블을 포함한 여러 객체를

생성∙수정∙삭제하는 명령어

u  TCL(Transaction Control Language) : 트랜잭션 데이터의 영구 저장∙취소 등과 관련된 명령어

u  DCL(Data Control Language) : 데이터 사용 권한과 관련된 명령어

 

+ Recent posts