테이블을 규칙에 맞게 과정을 거쳐가면서 모델링이라는 기법을 통해서 서비스에

가장 최적화된 테이블들을 뽑아내는 것이이 과정의 목적이다. 

 

개발자인 우리에게 필요한 것은 모델링을 잘 해서 테이블을 만드는 것이 중요하다.

이 PPT는 공유폴더 교수자료 밑에 데이터베이스 구현 폴더에 존재한다.

데이터 : 관찰의 결과로 나타난 정량적 혹은 정성적인 실제 값.

정보 : 데이터에 의미를 부여한 것.

지식 : 사물이나 현상에 대한 이해.

 

데이터를 정재해서 분석한 결과 데이터가 의미하는 것을 찾아내는 것이

정보이며 그것으로 사물을 이해하는 것이 정보이다.

 

그림이 있는데, 줄자로 에베레스트 산의 해발고도를 측정하는 것은 데이터

 

정보는 이러한 식으로 전 세계를 돌아다니면서 산들의 높이를 측정하여 에베레스트가 재일 높다고 보는 것이 정보

 

지식은 이 에베레스트 산의 봉우리가 많은데 봉우리를 쟀더니

전 세계의 어느 산보다 에베레스트의 봉우리가 같거난 높더라가 지식

 

 

데이터베이스는 데이터와 정보를 가지고 있다. 지식은 사람이 뽑아낸다.

데이터베이스 : 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것

테이블 데이터가 저장된 파일들의 모음!

 

테이블에 저장된 파일들의 집합을 데이터베이스라고 한다.

데이터베이스는 DBMS와 다르고

데이터베이스는 오로지 데이터가 들어있는 파일들의 모음을 데이터베이스라고 한다.

 

데이터베이스는 우리 일상생활이나 회사든 조직이든 많이 있다.

 

학생 데이터를 모아놓은 대학에선 학사 데이터베이스가 있다.

신용카드 데이터를 모아놓은 신용카드 데이터베이스

병원에서 발생하는 모든 데이터를 모으면 건강보험 데이터베이스

쇼핑몰이라면 데이터를 모아서 한 군데에 구조적으로 통합하면 쇼핑몰 데이터베이스가 된다

문헌 정보를 모으면 도서관 데이터베이스가 된다

 

이것을 오라클로 관리할지 MYSQL로 관리할지는 다른 문제이고

데이터를 모아놓은 것이고 물리적으로는 데이터파일의 모음이다

어떤 DB이던 데이터는 파일들에 모여있다. 당연히 게임을 하면 게임 내역도 파일로 보관되어 있다.

데이터베이스 저장해놓으면 실제로 데이터베이스라는 것은 파일들의 모음이다.

오라클이 관리하면 오라클 데이터베이스 서버라고 부르고 다른 데이터베이스가 부르면 그에 맞게 부른다.

 

열차 운행 데이터를 보고 열차 운행 편수나 운행 시간을 비 효율적으로 운용하고 있었구나를 알 수 있게 되며(정보)

어떻게 운영해야 겠다( 지식)

 

데이터베이스는 데이터가 모인 파일들의 모음이고 이것을 관리하는 시스템을 데이터베이스 시스템 DBS라고 부르고

DBS가 관리할 데이터베이스 안에 있는 저장되어 있는 데이터의 검색과 변경작업 DQL작업과 DML작업을 얼마나 하느냐에 따라 여러분의 프로젝트가 난이도가 높기도 낮을 수도 있다. 높으면 말 그대로 그 프로젝트 하면서 개고생하고

원활하게 풀려서 이번 프로젝트는 쉽게 갈 수 있을 것이라 예측이 가능하다 

 

이 표가 앞으로 프로젝트를 할 때 예측 가능한 정보이다.

 

면접 시 질문 자주 나온다.

매시업은 웹으로 제공하고 있는 정보와 서비스를 융합하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 것을 말한다

매시업이 가능하려면 데이터베이스를 통합시켜야 한다.

 

통합이슈가 발생하면 통합 완료까지 고생할 것이다. 데이터의 이관이 쉽지않고

테이블을 다시 재설계하여 다 모아야 한다.

필요한 데이터 쓸모 없는 데이터 구분해서 테이블 구조로 저장시킨다.

 

24시간 365일 1년 내내 서비스에 접근해서 사용하고 데이터베이스를 건드리게 되어 있다.

계속적으로 변화한다. 한 번 쌓아놓고 놔 두는 것이 데이터베이스가 아니다.

계속 변한다. 공유되기 때문에 동시에 공유된다. 성능문제 기타 등등 자원문제 동시에 발생한다.

 

월 급여가 3000달러 이상을 뽑아내라고 하면, sql은 우리가 세우는 조건에 맞는 데이터를 달라고 선언하는 것이고

선언이 내용에 기반하고 있다. 내용을 가지고 이러한 데이터를 달라 변경해라 하는것이 reference by conent이다.

 

실무 면접 시 2번째 질문

 

DBS의 구성 3 요소

DBMS : 데이터베이스를 관리하고 트랜잭션 관리하고 , sql문장도 관리한다.

데이터베이스 : 데이터가 모여있는 파일들의 모음

데이터 모델 : 데이터가 저장되는 기법에 관한 내용

 

 

무결성의 유지가 어려운 문제가 있다.
이 때 발생하는 문제가 분산트랜잭션을 사용해 all or nothing을 사용해야하는데 지역 트랜잭션으론 어렵다.

 

질의처리기 = 쿼리처리기

cost based 비용이 적은 방식으로 쿼리처리 

ruled based 룰를 만들고 규칙을 처리하는 방식

 

 

버퍼(메모리)관리자 lru라는 알고리즘이 메모리관리에 쓰인다.

 

중요도

 

1. 질의처리기2.트랜잭션 관리자3. 파일관리자4. 버퍼관리자

 

파일관리자

sqlplus 애서 @@demo_madang.sql을 사용하면 처음부터 끝까지 가능하다고 한다.

 

클라이언트만 있다면 tns_name을 삭제하는 것이 좋음.

 

계층형 모델과 관리형 데이터 모델의 차이는 관계의 표현방식이 다르다

계층데이터모델과, 네트워크 데이터모델은 객체관의 관계를 주소를 가지는 포인터로 표현한다.

객체 관계 데이터모델은 테이블로 저장은 하되 관계는 객체에의 oid값으로 하자 절충안이 나오고 실패했다.

네트워크는 양방향으로 내려갔다가 올라갈 수 있게 한 것이다.

하지만 이래나 저래나 포인터로 양방향 관계를 유지하는 것은 매 한가지다 

 

외부스키마

 

 

데이터베이스에서는 객체가 아닌 개체 entity라고 부른다.

 

함수종속성

이상현상을 없애기 위해선 쪼개져야 한다.

 

함수 종속성은 이상현상과 결부되어 있다.

어려운 수학적 개념이 나왔다. 함수 종속성, 수학적인 이야기는 안 할 것이다.

수학적 표기법도 나오고 그러는데, 어처피 우리가 하고자 하는 것은 이미 결론이 났다

하나의 릴레이션에 두개의 릴레이션이 나오는 것을 막자 이것을 위해서 정규화를 진행한다.

 

 

bc-nf는 3정규형과 4정규형 사이에 있다.

 

제 1정규형

제 2정규형

제 3정규형

BCNF

* 정규화란?
  이상현상(Anormaly)을 제거하기 위한 과정 또는
  이상현상을 제거하기 위해, 함수 종속성을 파악하여, 무손실 분해를 하는 과정

* 정규화의 등급
   (1) 1NF - 제1정규형 : 다중값 속성의 제거
   (2) 2NF - 제2정규형 : 완전함수종속성 실현
   (3) 3NF - 제3정규형 : 이행적 함수종속성 제거
   (4) BCNF
   (5) 4NF - 제4정규형
   (6) 5NF - 제5정규형

+ Recent posts