ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JSP]데이터 베이스
    기초/JSP 2017. 3. 20. 12:20

    #데이터 베이스란?


    파일시스템의 단점을 보완  ▶ 무결성


    파일시스템은 논리적 파일 구조를 직접 물리적 파일 구조로 구현해야하며

    사용자 자신이 물리적 데이터 구조를 이해하고 있어야 하며 모든 응용프로그램과 파일이 1:1로 존재한다.

    이렇게 생긴 파일시스템의 문제점은 데이터의 종속성과 데이터 중복성의 문제다.


    #종속성 : 파일이 저장, 접근 방법이 변경될 때, 응용프로그램도 같이 변경


    #중복성 : 일관성 문제 : 중복된 데이터간 내용이 일치하지 않음

     보안성 문제 : 파일들에 대해 모든 데이터를 동등한 보안으로 유지하기 힘듬

     경제성 문제 : 중복된 파일의 저장공간이 낭비되고 데이터 작업으로 인한 유지비용이 증가  

     무결성 문제 : 몇개의 파일들간의 업데이트의 불확실(제어의 한계)


    =======> 이 문제점을 최대한 해결한 방법이 데이터베이스이다

        데이터베이스는 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임으로, 

    최소의 중복으로 통합(integrated), 저장(stored)된 운영(operation) 데이터로 구성된다.

    사용자 측에는 논리적 구조의 데이터 집합을 지원하고 표준 언어(DML)로 데이터를 관리할 수 있다.


    #DB의 특징-

    실시간 접근성, 계속적인 변화, 동시공용, 내용에 의한 참조의 특성을 기억하자


    ① 실시간 접근성(real time accessibility): 사용자의 질의에 대하여 즉시 처리하여 응답하는 특징을 갖는다.
    ② 계속적인 진화(continuous evolution): 삽입, 삭제, 갱신을 통하여 항상 최근의 정확한 데이터를 동적으로 유지하는 특징이 있다.
    ③ 동시 공유(concurrent sharing): 여러 사용자가 동시에 원하는 데이터를 공유할 수 있는 특징을 갖는다.
    ④ 내용에 의한 참조(content reference): 데이터베이스에 있는 데이터를 참조할 때 투플(tuple)의 주소나 위치가 아닌 사용자가 요구하는 데이터 내용에 따라 참조하는 특징을 갖는다.
    ⑤ 데이터 논리적 독립성(independence): 

    응용프로그램과 데이터베이스를 독립시킴으로써 데이터의 논리적 구조를 변경시키더라도 응용프로그램은 변경되지 않는 특징을 갖는다.

    [네이버 지식백과] 데이터베이스 [Database] (학문명백과 : 공학, 형설출판사)



    #DBMS ??

    데이터베이스도 알겠는데 ... DBMS는 뭐냐.....

    Data Base Management System 데이터 베이스 관리 시스템이다

    데이터 베이스도 자료가 방대해지면 관리하기가 힘들기에 DBMS로 체계적으로 관리한다.

    따라서 사용자와 DB사이에  DBMS가 연결고리 역할을 한다.


    그럼 어떻게 접근할까?


    #데이터 언어(data language) 통해 DBMS에 접근한다

    데이터언어는 크게 3가지로 분류된다.

    이떄 DDL은 DB DML은 데이터로 구분지어 놓을 수 있는 이해력이 필요하다.

    이유는 둘다 추가 삭제 정정의 개념을 가지고 있기에 어떤 대상에 대한 언어인지 이해해야한다.


    1) DDL(D : Definition 정의) : 데이터베이스의 틀을 만들고 스키마의 제약조건도 걸 수 있다.

    CREATE : 스키마, 도메인, 테이블, 뷰, 인덱스를 정의한다. << 데이터를 담을 수 있는틀을 만드는과정

    ALTER : 테이블의 정의를 변경할 수 있다 << 뷰의 정의는 변경할 수 없으므로 DROP한다.

    DROP : 정의된 틀을 삭제한다.


    ===CREATE 사용법===

    [기본적인 틀]

    create [만들요소] 요소이름 (

    속성명    속성타입,

    속성명    속성타입,

    속성명    속성타입,

    );

    만들요소에는 Table, view, index 등 ... 아까말했던 것이 들어간다.

    [테이블 부가적인 요소]    : 속성타입옆에 구분기호 spacebar입력후 옵션을 부여한다

    primary key : 기본키

    foreign key : 외래키(참조키)

    unique : 대체키

    references 참조테이블 references 참조테이블

    on delete 옵션

    on update 옵션,

    constraint 제약조건 check (조건식) : 제약조건의 이름 설정

    이렇게 부수적으로 기재해준다면 좀 더 관리가 편한 테이블이 완성될 것이다.


    [스키마 생성]

    create schema 이름 authorization 사용id;    --스키마는 authorization 요소를 붙여서 사용해야한다.


    [뷰 생성]

    create view 이름 (

    속성,

    속성,

    속성 ) as select 문 

    뷰는 형체가 있는 테이블이 아니기에 다른 테이블을 참조해서 만들어지는 쿼리같은 존재이다.



    2) DML(M : Manipulation 조작) : 데이터 처리 명령어 데이터추가 정정 삭제 조회할 수 있다.

    INSERT : 테이블에 튜플을 삽입한다.

    UPDATE : 튜플에 내용을 정정한다(조건)

    DELETE : 튜플을 삭제한다(조건)

    SELECT : 튜플을 검색한다(조건)

    이때 조건이란 ~where 조건을 통해서 형식을 제어하는 것을 뜻한다.


    3) DCL(C : Control 제어) : 데이터에 대한 보안 무결성 회복 병행제어 역할을 한다.

    COMMIT : 데이터의 조작을 정상적으로 완료해서 DB정보를 저장하게 한다.

    ROLLBACK : 데이터 조작이 비정상적으로 종료되어 원래의 상태로 복구한다.

    GRANT : DB사용자에게 권한을 부여한다.

    REVOKE : DB사용자에게 부여된 권한을 회수한다.


    DDL은 어차피 DBA(데이터 베이스 관리자) 가 구축해 놓은 상태에서 우리는 데이터를 입력하여 사용할 것이기에 DML을 배운다.

    DCL또한 알아두면 좋지만 DBA가 할 일이다.


    구축부터 데이터를 넣어보자











    '기초 > JSP' 카테고리의 다른 글

    [jsp] MVC패턴1 으로 프로젝트 구성 (구성중)  (0) 2017.03.22
    [JSP] JSP DB연동 3가지 방법  (4) 2017.03.21
    [JSP] DB 환경설정(sql developer, eclipse)  (2) 2017.03.17
    [JSP] 파일 업로드  (0) 2017.03.15
    [JSP] tag lib(fmt)  (0) 2017.03.14

    댓글

Designed by Tistory.