본문 바로가기
Web/Oracle SQL

1. DB & DBMS 개념

by SeleniumBindingProtein 2022. 1. 29.
728x90
반응형

1. 데이터베이스와 데이터베이스 시스템
    1) 데이터 : 실제 값
    2) 데이터베이스 


        - 연관된 데이터를 모아 구조적으로 통합해 놓은 것
        - 특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 
          통합해서 저장한 운영 데이터의 집합
    3) 데이터베이스 예
        - 은행 : 계좌정보, 입출금 내역 등
        - 항공사 : 예약정보, 비행기 스케쥴
        - 대학교 : 학생정보, 수강신청
        - 온라인 쇼핑몰 : 고객기록, 주문내역
        - 제조업 : 제품목록, 주문, 재고, 공급망
        - 회사 : 인사시스템(직원정보)         

2. 데이터베이스의 특징
    1) 실시간 접근 가능     (예: 쇼핑몰 목록 조회)
    2) 계속적으로 변화      (예: 구입정보, 물건재고 정보)
    3) 동시 공유가 가능     (예: 많은 고객이 동시 접속,구매 가능)

3. 데이터의 유형 
    1) 정형 데이터 (structured data)    
        - 관계 데이터베이스의 테이블, 엑셀의 스프레드시트
    2) 반정형 데이터 (semi-structured data)         
        - HTML, XML, JSON
    3) 비정형 데이터 (unstructured data)       
        - 정해진 구조가 없이 저장된 데이터
        - 멀티미디어 데이터, text  

4. 파일 시스템을 사용했을 때 문제점 
    1) 데이터 중복성 문제 : 공간 낭비
    2) 업데이트 및 데이터 일관성(consistency) 유지에 어려움        
    3) 데이터 무결성(Integrity constraints) 유지 어려움 
        - 응용프로그램이 모두 체크해야 함
        - 관계데이터베이스의 테이블 
    4) 동시성(Concurrency) 제공이 어려움    
    5) 보안(Security) 제공 이슈
        - 사용자별 파일 안의 일부 데이터 읽기 권한 제어가 어려움

5. 데이터 파일과 응용프로그램이 분리.
    1) 프로그램은 데이터베이스 통해서 파일시스템의 파일에 저장한 데이터에 접근.
    2) 데이터베이스 관리시스템 (DBMS) 
        - 응용프로그램과 데이터 연결을 도와주며
          데이터 관리와 데이터에 대한 기본 처리를 담당하는 소프트웨어.

6. 스키마 (schema)


    1) 데이터베이스에 저장되는 데이터의 논리적구조와 제약조건을 정의한 것.

7. 인스턴스 (instance)    
    1) 정의된 스키마에 따라 데이터베이스에 실제로 저장된 값

8. 데이터베이스 구조 (3 level database architecture)    
    1) 미국의 기관 ANSI/SPARC에서 db의 내부 구조를 감추고 
       일반 사용자가 db를 쉽게 이용하고 사용할수 있게하는 구조 제안.
    2) Physical level -- Internal Schema (내부 스키마)
        - 실제 데이터가 DB에 어떻게 저장되는지 기술.
    3) Conceptual level -- Conceptual Schema (개념 스키마)
        - 일반적인 스키마 
        - 데이터 테이블간의 관계를 기술
    4) External level -- 외부 스키마 
        - 사용자가 보는 view level
        - 각 사용자들이 개별 요구사항에 따라 다른 view를 정의해서 데이터를 볼수 있음.

9. DB 사용자 
    1) DBA (데이터베이스 관리자)
        - DB 시스템을 운영, 관리
        - DB를 설계및 구축 , 제어
        - DBMS 자체는 물론 DB 구축, 관리에 대한 지식과 많은 경험이 요구됨.
    2) 응용 프로그래머 
        - DB 언어를 이용하여 응용프로그램을 작성  
    3) 최종 사용자 (End User)
        - DB에 접근하여 데이터를 조작.          
        - casual end user : db 언어를 이용해 DB 접근 및 조작
        - native end user : db 언어를 쓰지 않고 응용프로그램을 통해 DB 접근.
                            -------

10. 데이터베이스 관리시스템(DBMS)


    1) 파일시스템의 데이터중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨어
    2) 데이터베이스의 생성과 관리를 담당
    3) 모든 응용프로그램은 데이터베이스 공유 가능, DBMS 통해 데이터 삽입, 수정, 검색, 삭제
    4) DBMS는 OS와 함께 중요한 시스템 소프트웨어 패키지.
    5) 대표적 DBMS 
        - Oracle, MySql, MS SQL Server, PostgreSQL...

12. DBMS 주요기능
    1) 정의 기능 
        - 데이터베이스 구조를 정의하거나 수행
    2) 조작 기능
        - 데이터를 삽입, 삭제, 수정, 검색하는 연산을 수행
        - CRUD(Create, Retrieve, Update, Delete)
        - ABCD(Add, Browse, Change, delete)
    3) 제어 기능
        - 데이터를 항상 정확하고 안전하게 유지하는 기능      

13. DBMS 장단점
    1) 장점
        - 데이터 중복문제 해결, 데이터 독립성 확보, 데이터 동시 공유, 데이터 보안 향상
        - 데이터 무결성 유지 
        - 표준화 방식으로 데이터에 접근
        - 장애 발생 후 회복 시 데이터 일관성과 무결성 유지 - 트랜잭션
        - 응용 프로그램 개발 비용이 줄어 듬
    2) 단점
        - DBMS 구매 비용
        - 응용 프로그램이 DBMS를 통해 데이터에 접근하기 때문에 추가적인 오버헤드가 있음.
        - 응용 프로그래머가 DBMS가 어떻게 동작하는 지, 표준 데이터 언어에 대한 지식필요.
        - DBMS 장애가 발생할 때 모든 응용프로그램 장애가 발생함.           

14. Data Dictionary (System Catalog)
    1) DBMS는 database와 함께 metadata(data about data)을 저장함.  
    2) 데이터 정의어(DDL)에 의해 생성됨.   

15. Metadata                        
    1) 각 데이터에 접근할 수 있는 데이터의 이름(테이블, 컬럼 이름)
    2) 스토리지에 데이터가 저장된 위치
    3) constraints(보안을 위한 제약, 무결성을 위한 제약)

16. 데이터베이스 시스템 
    1) 데이터베이스에 데이터를 저장하고, 저장된 데이터를 관리하여 조직에 필요한 정보를
       생성해주는 시스템 
    2) 데이터베이스 + 이를 관리하는 소프트웨어(DBMS) + 응용프로그램      
    3) 통상적으로 DBMS와 구분없이 사용.  

728x90
반응형

'Web > Oracle SQL' 카테고리의 다른 글

7. 조인  (0) 2022.01.29
6. 내장함수  (0) 2022.01.29
5. SELECT  (0) 2022.01.29
3. SQL 기초  (0) 2022.01.29
2. 관계형 데이터 모델  (0) 2022.01.29

댓글