공부2015. 3. 10. 22:46

기본적으로 DB의 공학적 개론이지만 웬지 SQL 쪽에 많이 치우쳐져 있는 것 같다....


Adv of using DBMS Approach


1) Controlled Redundancy (중복을 조절함)

     - Redundancy in storing the same data multiple times leads to several problems. 

        (여러번의 같은 데이터 중복은 몇가지 문제를 갖는다.)

     - We should have a database design that stores eah logical data item in only one place in the DB.

          ▶ Data normalization avoids data redundancy

          ▶ Denormalization (역정규화)

                관리적인 측면과 성능적인 측면을 고려해서 테이블의 설계를 재구성하는 것.

                정규화(Normalization) 단계에서 추출되었던 실체가 제거되기도 하고 언급되지 않았떤 실체가 새롭게 추출되기                 도 한다.

                

                실세계 => 정규화 => Conceptual DB Modeling => 정규화 혹은 역정규화 => 논리적 DB Modeling


2) Restricting unauthorized access (공인되지 않은 접근 제한)

     - Security and authorization subsystem(권한인가 서브시스템)

     - File processing system provides password mechanism and very less security which is not sufficient to enforce security policies like DBMS.


3) Providing backup and recovery

     - Backup and recovery subsystem of the DBMS is responsible for recovery


4) Representing complex relationshipas among data

     - May include numerous varieties of data that are interrelated in many ways


5) Providing storage structures and search techniques for efficient query processing

     - Indexs

        ▶ Index는 RDBMS에서 검색속도를 높이기 위해 사용하는 하나의 기술이다. Index는 색인이므로 해당 테이블의 컬럼을            색인화하여 검색시 테이블의 레코드를 다 찾는게 아니라 색이화 되어있는 Index 파일만 검색하여 검색속도를 빠르게            한다. select 쿼리로 비교 했을때 보통 6.5배 정도가 색인화 했을때 더 빠르다고 한다. 대신 Insert나 Update의 속도              는 조금 느려진다. table만 검색할때와 table과 index를 검색할때를 비교하면 전자가 더 빠르겠지...

        ▶ 오늘 강의에서는 수정도 용이하다고 들었는데 이게 무슨소린지는 잘 모르겠다. 하지만 시험에 나올 것 같아...

     - Buffering and caching

        ▶ 버퍼링이나 캐싱이 좋은 이유는 속도가 빨라진다. 캐싱은 사용자가 자주 쓰는 파일들 같은 것을 임의의 메모리에 저               장(적재,loader)하여 나중에는 찾을 필요 없이 바로 꺼내 오는것이다. 버퍼링은 DB의 관리자와 사용자의 속도가 다             른것에 대비하는 것이 주 목적이다.

     - Query processing and optimization


6) Enforcing intergrity constraints

     - Key or uniqueness constraint(유일성)

        ▶ Every course record must have a unique value for Course_number

     - Referential integrity constraint

        ▶ Every section record must be related to a course record

     - Business rules

        ▶ These Business Rules are important because they define the conditions that the Database must meet.

            For example, every Order must be associated with a valid Product.

            This prevents invalid Orders being entered into the Database.

These Rules can be understood by both the Users and the Database designer.

When you extend a Database Schema, it is always valuable to keep these Rules up-to-date.

This is not always done meticulously but is necessary where Users will 'sign-off' on their requirements.


7) Providing persistent sotrage for program objects

- Complex object in C++ can be stored permanently in an OO DBMS(Object oriented? 객체지향형 DBMS)

- Impedance mismatch problem

 ▶ Differences between DB model and programming language model

 ▶ OO DB systems typically offer data structure compatibility

예를 들어서 보통 DB언어와 프로그래밍 언어는 호환이 잘 안되는데 OO DB와는 호환이 잘된다.


8) Providing multiple user interfaces

- programming language interfaces, query language, forms, GUI, etc


9) Permitting inferencing and actions using rules

'공부' 카테고리의 다른 글

소프트웨어 실습3 - 2  (0) 2015.03.12
소프트웨어 실습3 - 1  (0) 2015.03.12
2주차 DB - 2  (0) 2015.03.12
Posted by FastSkip2