火男::單純槪念 [ 단순개념 ]

출처 : 블로그 > 지혜로운 여성이 되자!!
원문 : http://blog.naver.com/feelingsil/40039375186
==================================================================
오랜만에 다시 대용량 데이타 베이스 강의를 듣기 시작했다..

시작하는 만큼 꼭 끝을 보고싶은데 노력 좀 해봐야지...


1. 속성과 릴레이션


사용자 삽입 이미지
 
위와 같이 직원 테이블과 부서테이블이  존재 한다.
기본적으로 emp 테이블의 empno,ename,salary,job 과 dept 테이블의 deptno,dname,location과 속성이라고 하고
emp 테이블의 deptno는 릴레이션이라고 한다.
 
 
사용자 삽입 이미지

 
 
위와 같이 릴레이션을 제거하고 참조하고자하는 속성(부서이름)을 해당 테이블의(emp)
속성으로 넣는 것은 반정규화이다.
위와 같은 경우엔 3정규화를 위배한 것이다.
 
*3정규형이란 어떤 릴레이션 R이 2NF(2정규형)이고 이 릴레이션의 모든 비주속성이 R의 어떤 키에도 이행적으로 종속하지 않을 때 R은 3NF(3정규형)에 속한다.
즉 속성끼리의 종속이 있으면 않 된다는 말이다.
 
위의 경우는 dname은 deptno에 종속므로 3정규화를 위배한 것이다.
 
 
반정규화를 시키면 느려진다.
예를 들어서 위 첫번째 그림의 db size가 emp가 1만건이고 가로 사이즈가 20k이고 dept가 100건 가로사이즈가 20b라고 할때 io는 block 단위로
1만건*20k+100rjs*20b = 대충 2m+3k이다.
하지만 두번째 그림과 같을때
40k*1만건 = 4m이다.
 
 
 
* nested loop join : 먼저 드라이빙 되는 테이블이 상수로 변한다.
* sort merge join
* hash join
 
 
db는 처음엔 phisical IO BLOCK에서 읽고 그 다음에 똑같은 요청이 들어왔을땐  메모리(버퍼캐쉬)에서 읽어온다.
 
DB의 포퍼먼스란 phisical io block를 줄이는 것이다.
 
 
모델링을 하는 이유: 고성능, 효율화, 효율적인 쿼리를 하기위해서~
 
인덱스가 없는 테이블이 먼저 drive된다.
Posted by □□[RMM]□□
槪念3. - D B 이야기 l 2008.01.23 09:53

상속이라는 것은 객체지향적인 프로그래밍에서 매우 중요한 위치를 차지하고 있다.

일반적으로는 상속을 할 때 public 상속을 많이 사용하는데, 다음 예를 통해 상속 및 접근 권한에

대해 생각해 보자.


class Dad
{
private:
    void WearPanties();

protected:
    void CarDrive();

public:
    void WatchTV();
};


class Son1 : private Dad
{
};


class Son2 : protected Dad
{
};


class Son3 : public Dad
{
};


void main( void )
{
    Son1 son1;
    Son2 son2;
    Son3 son3;


    son1.WearPanties();     // error, private
    son1.CarDrive();          // error, private
    son1.WatchTV();          // error, private
   
    son2.WearPanties();     // error, private
    son2.CarDrive();          // error, protected
    son2.WatchTV();          // error, protected

 

    son3.WearPanties();     // error, private
    son3.CarDrive();          // error, protected
    son3.WatchTV();          // OK   , public
}


위 코드를 보면 마지막의 son3.WatchTV()만 호출이 성공됨을 알 수 있는데, 그 이유는 다음과 같다.


부모 클래스의 속성

상속 속성

상속 시 속성

private

private

private

private

protected

private

private

public

private

protected

private

private

protected

protected

protected

protected

public

protected

public

private

private

public

protected

protected

public

public

public


위 표와 같이 private를 어떤 속성으로 상속하든 결과는 private가 되며,

protectec는 상속되는 속성에 따라 private 또는 protected가 된다.

그리고 public 또한 상속되는 속성에 따라 private, protected, public이 됨을 알 수 있다.

이는 마치 교집합과 같은 성질을 갖는데, 대충 다음과 같이 범위를 표현할 수 있다.


private << protected << public


private는 범위가 가장 작기 때문에, 어떤 속성을 만나던 private가 될 수 밖에 없다.

각자가 위 속성에 대해서 교집합을 만들어 보면 상속 시 어떤 속성으로 변하는지 쉽게 파악이

될 것이다.


앞으로 우리가 MFC로 코딩을 하다 보면 대부분의 상속은 public 상속임을 알 수 있는데,

그렇다면 위 표에서 public으로 상속하는 3가지 경우만 잘 알면 될 것이다.


추가로 private, protected, public에 대해서 다음 표를 갖고 설명해 보면,


Base

클래스속성

클래스내에서

접근

객체에서

접근

상속받은 파생

클래스내에서 접근

상속받은

객체에서 접근

private

가능

불가능

불가능

불가능

protected

가능

불가능

가능

불가능

public

가능

가능

가능

가능


private 멤버는 의미 그대로 아주 사적인 멤버이다. 사적인 멤버이기 때문에 현재 클래스에서만

사용하고 상속조차 해주지 않는다. 아빠가 아들한테 상속해 주지 않는 것.. 머 속옷 같은거..ㅋㅋ


protected 멤버는 현재 객체만 놓고 보면, private 멤버와 다를 바 없다. 하지만 상속을 할 때는

private와 다르게 작용한다. 아빠의 차가 있는데, 이 차를 아들한테 상속해 주고 싶다.

차는 보통 남한테 잘 빌려주지 않으니까 private나 protected로 해야 하는데, private일 경우에

아들한테 차를 상속해주면 아들은 차를 탈 수가 없다. 그러므로 차를 protected로 만들어 놓고

상속을 해주면, 아들만 탈 수 있는 것이 되는 것이다. 아들은 이 차를 빌려줄 수 있을까?

빌려 줄 수 없다. 객체의 외부에서는 접근할 수 없기 때문이다.


public 멤버는 현재 객체만 사용하든 상속을 하든 아무 관계가 없다. 그냥 아무나 쓰면 되고,

아들한테 상속해 주면 아들도 쓰고, 아들이 친구한테도 빌려주고 그럴 수 있는 멤버들이다.

예를 들어 아버지가 책이 한 권 있고, 아들한테 상속해주고, 아들은 또 친구한테 줄 수 있는

그런 존재가 public이다.

Posted by □□[RMM]□□
槪念2. - 자바이야기 l 2008.01.14 16:37
사용자 삽입 이미지

네이버발췌


어제 투표를했다. 나는 처음에생각대로 문국현씨를 찍었다.
머 안될껄 알았지만 살짝 기대도했었다. 대통령이 바뀐다고 우리나라가 갑자기 잘살고
확바뀌고 그러진 않겠지만 그분이 내건 슬로건 문구가 너무 맘에 들었다.
"사람이 희망이다." 머 이명박씨가 대통령이 되었지만 너무 압도적으로 된것이 아닌가
생각된다.
솔직히 이번선거 뽑을 인물이 없었다. 하지만 다음 대선엔 많아질꺼 같다 세대교체 시기
가 아닌가 생각된다. 난 정치는 문외하므로;;;잘은 모르겠지만 누가되던 우리나라 망하지 않고 잘이끌어 가주었음 한다. ^^
- 위에사진은 네이버에서 기사를 읽다가 재미있어서 가져와봤다 우리 허본좌님께서 재미없는 이번대선을 위해 ㅋㅋ 불가능하지만 정말 괜찮고 우리국민이 절대 바라는 공약을 내걸어
주셨는데 허본좌님은 대한민국같은 조그만한 나라의 대통령감이 아니다. 그분은 쥬신의 왕이어야한다 ㅋㅋ
Posted by □□[RMM]□□
槪念1. - 일상이야기 l 2007.12.20 09:18
1 2 3 4 ··· 9 

카테고리

전체 (27)
槪念1. - 일상이야기 (21)
槪念2. - 자바이야기 (4)
槪念3. - D B 이야기 (1)

달력

«   2019/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
tistory!get rss Tistory Tistory 가입하기!