달력

122024  이전 다음

  • 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
  • 31

'분류 전체보기'에 해당되는 글 279건

  1. 2009.04.26 식별관계 , 비식별관계
  2. 2009.04.26 identity 제 7법칙
  3. 2009.04.08 expr - 숫자계산
  4. 2009.04.08 유닉스 쉘 간단한 팁
  5. 2009.03.17 DB 연결설정 (BACKUP DB)
  6. 2009.03.10 Broken Pipe
  7. 2009.03.08 ADO.Net DB연결과 사용법
  8. 2009.03.08 ADO.NET 표준사례
  9. 2009.03.08 True Colours - Eva Cassidy
  10. 2009.03.08 Gran Torino - Jamie cullum

식별관계 , 비식별관계

DB 2009. 4. 26. 01:15

http://okjsp.pe.kr/seq/96724

식별관계냐 비식별관계냐는 erd를 작성하는 사람의 판단에 따른다고 생각합니다.

자식테이블의 pk를 구성하는 칼럼이 부모로부터 받는 거라면 식별이고
그렇지 않고 단순한 데이타 저장용 칼럼이라면 비식별 관계가 되겠지요.

이때 부모로 부터 받은 칼럼을 일반 칼럼으로 잡을 수도 있지만 pk로도 잡을 수 있는 애매한 상황등이 존재하는데 pk칼럼을 구성하는 원칙중 최소한의 원칙이란 것이 있습니다.
즉 자식테이블의 pk를 구성하는 칼럼이 col1,col2,col3,col4 4개가 있고 col4는 부모로부터 받은 칼럼입니다. 그런데 자식테이블 로우의 유일성을 구분할 수 있는 것이 col1,col2,col3만으로도 충분하다면 col4는 pk 구성에서 빠져야 합니다. 그렇다면 처음에는 식별관계였다가 이후 비식별관계가 되겠지요.

간단히 설명드렸는데 데이타베이스의 설계는 1+2=3 이다 이런식으로 수학공식처럼 딱 떨어지지 않는 부분이 많습니다. 상당히 인문학적인 요소가 들어간다고 할까요?
사실 개판으로 erd를 만들어도 프로그래머가 고생하고 엄청나게 비효율적인 프로그램이 만들어지고 유지보수가 어려울 뿐이지 프로그램이 안돌아가는 것은 아닙니다. 다만 훌륭하게 erd가 만들어지면 프로그램 소스가 깔끔하게 나오고 유지보수도 쉬어지면 그만큼 효율적인 시스템이 되겠지요.

장황하게 말씀드렸는데 결론은 erd작성에는 정답이 별로 없다라는 것입니다. 자신의 그동안의 경험에 의해 이렇게 하면 좋더라, 저렇게 했더니 프로그램이 걸레되더라 는 등 상당부분 자신의 경험을 바탕으로 해서 제각각 만들어지게 됩니다.
(물론 이화식님처럼 누구나 이렇게 데이타베이스를 설계해야 한다는 것을 공감하게 할 수 있는 절대적인 원칙이 있다라고 강조하시는 분도 계시지만 그 정도 내공에 이르기에는-모든 이들이 공감할 수 있는 수준의 설계를 한다는 것은 정말 힘들겠죠.)

보다 과학적이고 효율적인 데이타베이스 설계를 하고 싶다면 책을 사서 보시기 바랍니다. 프로그램을 하는데 있는 새로운 시각을 가지게 될 것입니다.


'DB' 카테고리의 다른 글

identity 제 7법칙  (0) 2009.04.26
[QUERY]실행된 쿼리 내역 조회  (0) 2009.01.14
[QUERY]ORACLE DEADLOCK 조회 및 KILL  (0) 2009.01.06
Toad 를 이용한 excel 로 import  (0) 2008.11.28
SQLPlus 를 이용한 Query trace  (0) 2008.11.12
Posted by marryjane
|

identity 제 7법칙

DB 2009. 4. 26. 01:12

http://guldook.blogspot.com/2005/02/identity-7.html

이 논의에 참가한 많은 사람들은 얼마나 "identity가 정황(context) 의존적인가"에 대해서 얘기했다. Scott C. Lemon은 그의 두번째 원칙에 서 "identity는 커뮤니티의 정황(context)을 고려하지 않고는 존재하지 않는다"고 극단적으로 논평했다. 그리고 Jamie Lewis는 Identity 제 4 법칙을 전할 때 "정황은 모든 것이다"라고 했다. 그는 또한 좋은 예제들을 주었다:

나는 오디오/비디오 광이다, 그래서 나는 Audio Visual Sciences 포럼의 멤버이다.
내 가 가입할 때 나는 내 identity를 스스로 넣었다, 그리고 그것은 AVSForum에 대해서는 괜찮다. 내가 포럼의 규칙들을 따르는 한, 포럼을 운영하는 사람들은 내가 내 자신을 위해 제시한 identity가 무엇이든 간에 그 identity를 사용해서 돌아다니는 것을 허용한다. AVSForum에 있는 평판 시스템은 많은 통제 문제들을 해결한다. 포럼의 중재자들과 관리자들은 그들이 필요할 때는 모든 권한을 가지고 들어간다.

하지만 은행에 대해서도 self-assertion할꺼냐? 아마 아닐 것이다. 그렇다, AVS Forum이 은행이 발급한 identity에 의존할 수 있지만 나는 사회적인 정황(context)에서 판단했을 때 그런 명확한 (그리고 가치있는) identity를 사용하기를 원하지 않을 것이다. 그리고 AVSForum이 왜 그렇게 해야 하느냐? 그렇게 함으로써 얻는 이익보다 비용이 훨씬 더 클 수 있다. 당신이 과거에 등록하고 나서, 서로 매우 다른 정황들에 따라 identity를 전달하고 사용할 때, 필요한 정책(credential 종류 및 강도), 속성들 그리고 관리 시스템은 차이가 있다. 넓게 보면, 이런 것들은 need-driven이어야 하고, 만병통치약은 없다.

다 른 말로 하면, identity는 당신이 상상할 수 있는 한 가장 정황 의존적인 요소이다; 사실상, 모든 사회 활동은 굉장히 정황 의존적이다, 특히 온라인은. 내가 누구이며, 무엇을 공유할 것이며, 어떤 얼굴을 보여줄 것인가 하는 것은 전체적으로 우리가 활동하는 정황에 따라 다르다.

활동영역은 점점 늘어날 것이고, 그 활동영역들은 자신의 영역내에서 고유하고 적당한 identity 메커니즘과 식별자를 가질 것은 자명하다.
이 예제들에 함축된 객관적인 제약조건들이 이전의 Identity 법칙들에 담겨있다. 제 3 법칙은, "identity 관계를 고려해서, 필요하고 정당한 경우에 있는 상대방"에게만 개인 정보의 공개를 해야한다는 것이다. 여기서 identity 관계는 명백히 정황이다. 제 4 법칙은, 왜 metasystem이 사적인 관계에서, 이것도 특정 상황이다, 사용될 수 있도록 "unidirectional 식별자"를 지원해야 하는 지를 설명한다. 그리고 제 5 법칙은, 서로 다른 party들에 의해서 운영되는 서로 다른 시스템들이 공존해야 하는 다원적인 metasystem의 필요성을 언급한다.

하지만 지금 좀 더 구체화해보자. 상황별로 여러 개의 식별자들을 가지게 될 미래를 생각해보자. 나는 Jamie가 임의의 identity 집합을 제거하고 선택하는 것을 언급할 것인 데, 그것은 아주 편해보인다:
  • 브라우징: 웹을 돌아다닐 때 스스로 입력한 identity (실제 데이터는 아무 것도 주지 않는)
  • 개인: 지속적이지만 사적인 관계를 원하는 사이트들에 입력한 identity (이름과 장기간 사용할 전자우편 주소를 포함하는)
  • 커뮤니티: 다른 사람들과 협력하는 것과 블로깅을 위한 공개 identity (커뮤니티 명과 장기간 사용할 전자우편 주소를 포함하는)
  • 프로페셔널: 고용주에 의해 발급된, 협업을 위한 공개 identity
  • 신용 카드: 은행에서 발급된 identity
  • 시민: 정부가 발급한 identity
모 든 사람이 내가 사용한 것과 같은 identity 집합을 선택한다면 아주 간단할 것이다. 하지만 당연히 그렇지 않다. Jamie는 개인 identity를 사용하지 않았다. 내 형의 고용주는 프로페셔널 identity를 발급하지 않는다. Marc는 시민 identity를 적용하지 않고 계획도 없다. 그리고 우리는 우리 자신을 identify할 수 많은 방법들로 혼란하다.

지금, 당신은 이것을 믿지 않으려 하겠지만, 이런 혼란은 좋은 것이다. 그것은 우리의 다양성에 부합한다. 우리는 그것에 대해서 흥분할 필요는 없고 그것을 받아들여야 한다.

당신은 다양성을 어떻게 처리하는가?

다양성이 기술적인 문제를 낳지 않는다고 가정하고 시작하자. 이것이 처음에는 stretch일 것임을 안다, 하지만 "내일"까지는 나와 함께 참고 다른 이슈들을 살펴보자.

어 떤 형식의 identity를 받을 것인가에 대한 답은 "relying party"가 가지고 있다. 다른 말로 하면, 각 웹 사이트가 어떤 종류의 identity들을 받아들일 것인 지를 결정한다. 다시, 예제가 도움이 될 것이니 몇 가지 예제를 들어보겠다.

"Kim Cameron's Identity Weblog"를 가지고 출발하자. Kim's weblog는 어떤 identity를 받을 것인가? 당신은 그것을 명명하고 - 나는 그것을 받아들일 것이다. 너에게 가용한 뭐든 나는 좋다 - 나는 (내 웹로그에서) 논의가 이루어지기를 원한다.

다른 한편, 당신이 eBay와 같은 사이트로 갔다고 하자. 그 사이트는 윈도우 쇼핑을 위해 어떤 identity (또는 no identity)도 사용할 수 있도록 할 것이다. 하지만 당신이 구입을 원할 때는 신용 카드 identity를 기대할 것이다. 그리고 당신이 어떤 물건을 판매하려고 하면, 사이트는, 평판이 가미된, 커뮤니티 identity를 제시할 것을 요구할 것이다.

시민 identity의 사용 예는, 사회 보장 제도 기여금에 대한 정보에 접근하는 경우를 들 수 있다. 또한 컨퍼런스에 들어가기 위해 프로페셔널 identity를 사용하는 예제를 들 수 있다.

그래서 두 가지 것이 명확하게 된다.
  1. 하나의 relying party는 종종 한 가지 이상의 identity를 받기를 원할 것이다.
  2. 사용자는 선택 옵션들을 이해하고 정황에 최적인 identity를 선택하기를 원할 것이다.
지금 여섯번째 법칙 - 인간 통합의 법칙 - 을 고려할 필요가 있다. 이것은 identity 정보의 요청, 선택 그리고 제공이, relying party(예: 웹 사이트)와 (첫번째두번째 법칙에 부합하는 방법으로) 정보를 제공하는 사용자 사이에 형성된, 안전한 채널을 통해서 이루어져야 하고 선택 옵션들은 일관되고 명확해야 한다는 것이다. 이런 제약조건 모두를 동시에 고려하면서 우리는 일곱번째 법칙을 접해야 한다:
조화로운 정황 자율성의 법칙 (The Law of Harmonious Contextual Autonomy)

통일된(unifying) identity metasystem은 relying party와 특정 identity를 가진 사용자 간의 협상과, 통일된 시스템이 서로 다른 정황에서 identity의 자율성를 허용하면서 조화롭고 기술적인 인간 인터페이스를 제시하는 그러한 관련 인코딩을 제공해야 한다.
이게 아주 어렵게 들리냐? 어렵다, 하지만 당신이 이후의 포스팅에서 보겠지만, 나는 이 산업계가 이것을 하는 데 필요한 도구들을 가지고 있다고 생각한다. 하지만, 통일된 identity metasystem을 가지지 않은 것의 댓가는 기하급수적으로 커져갈 것이다.

Doc Searls가 metadirectory에 관한 내 작업을 세심히 살피고 다음과 같이 말한 것이 아마 8년 전일 것이다.
"Kim. 그것은 간단하다. 우리는 다수의 시스템에 다수의 identity들을 가진다, 하지만그것들을 통합할 방법은 없다. 이런 일이 실세계에서 일어났다면, 우리는 다수의 인격 장애를 가졌을 것이다. 인터넷은 여전히 정신병적이다."
이런 생각이 결코 떠나지 않는다. 틀림없이 나는 사용자로써 우리가 여러 가지 identity들을
(소수만이 서로 독립적인 정황들에 대한 필요성을 유의하는) 통합된 세계의 일부로써 볼 필요가 있음을 납득했다.

'DB' 카테고리의 다른 글

식별관계 , 비식별관계  (0) 2009.04.26
[QUERY]실행된 쿼리 내역 조회  (0) 2009.01.14
[QUERY]ORACLE DEADLOCK 조회 및 KILL  (0) 2009.01.06
Toad 를 이용한 excel 로 import  (0) 2008.11.28
SQLPlus 를 이용한 Query trace  (0) 2008.11.12
Posted by marryjane
|

expr - 숫자계산

OS 2009. 4. 8. 18:16

http://blog.naver.com/yunki798?Redirect=Log&logNo=50031447749

+ : 더하기
- : 빼기
* : 곱하기('\*'로 사용)
/ : 나누기를 한 후의 몫의 값
% : 나누기를 한 후의 나머지 값
#!/bin/sh
#주의사항
#1. 역따옴표(``)를 사용한다.
#2. *연산자와 괄호'()' 앞에는 \(역슬래시)를 붙인다.
#3. 모든 연산자와 숫자, 변수, 기호 사이네는 space가 있어야 한다.
#4. = 사이에는 space가 있으면 안된다.
num=`expr 3 + 4 - 5`
echo $num  num2=`expr \( 3 \* 5 \) / 4 + 7`
echo $num2 
#"$$"는 스크립트 파일이 실행되는 프로세스 번호를 나타낸다.
A=linux
echo "1. \$A 의 값은 $A이다."
echo "2. \$A 의 값은 $$A이다."
echo "3. \$A 의 값은 $$$A이다."
echo "4. \$A 의 값은 '$A'이다."
echo "5. \$A 의 값은 "$A"이다."

'OS' 카테고리의 다른 글

[dbx, truss, kdb, oslevel, lslpp] aix 5l 시스템 정보보기  (0) 2009.06.03
[명령어]Diff  (0) 2009.05.18
유닉스 쉘 간단한 팁  (0) 2009.04.08
L4의 Hashing 정책  (0) 2009.03.03
jobs, fg, bg, stop, nohup - 작업제어명령  (0) 2009.02.26
Posted by marryjane
|

유닉스 쉘 간단한 팁

OS 2009. 4. 8. 14:32

오늘 날짜 받아오기
today=`date +%Y%m%d`

 [파일] 내에 [단어] 로 시작하는 줄의 2번째 파라메터 를 내림차순으로 정렬해서 [타겟]으로 출력하라
cat [파일] | grep [단어]  | awk '{print $2}' | sort -rn > [타겟]

 [파일] 내에 2번쨰 파라메터의 최대값
max=`head -1 [타겟]`

 [파일] 내에 시작줄에서 마지막줄 까지 더한값을 출력
sum=`awk 'BEGIN{sum1=0}{sum1+=$1}END{print sum1}' pool.log `

 수치계산 expr
avg=`expr ${sum} / ${avrCT}`

 tar.gz 압축/해제
gzip 옵션

-d :압축을 해제한다.
-l : 압축파일 안에 있는 파일 정보(압축된 사이즈, 압축율) 출력한다.
-r : 하위 디렉토리까지 모두 압축한다.
-S : 다른 확장자를 지정(기본값은 .gz)한다.
-v : 압축하거나 풀 때 압축율, 파일명을 출력한다.
 

tar 옵션

-A, --catenate, --concatenate : 저장 파일에 tar 파일을 추가한다.
-c, --create : 새 저장 파일을 만든다.
-d, --diff, --compare : 저장 파일 혹은 파일 시스템 간의 다른 점을 찾는다.
--delete : 저장 파일에서 지운다. (자기 테이프에는 쓰면 안됨!)
-r, --append : 저장 파일의 끝에 파일을 덧붙인다.
-t, --list : 저장 파일의 내용 목록을 보여준다.
-u, --update : 저장 파일에 저장된 사본보다 새로운 파일만을 덧붙인다.
-x, --extract, --get : 저장된 것에서 풀어낸다.
 

압축 : tar cvf - [타겟] | gzip > [타겟파일명].tar.gz
해제 : gzip -dc [타겟파일명].tar.gz | tar xvf -

'OS' 카테고리의 다른 글

[명령어]Diff  (0) 2009.05.18
expr - 숫자계산  (0) 2009.04.08
L4의 Hashing 정책  (0) 2009.03.03
jobs, fg, bg, stop, nohup - 작업제어명령  (0) 2009.02.26
truss - process trace  (0) 2009.02.26
Posted by marryjane
|

anylink 매뉴얼 installation guide

AnyLink Server에서 Database와 연결을 하기 위해서는 기본적으로 ANYLINK_CONNECT_INFO와 ANYLINK_DB_NAME이 설정이 되어야 한다. 지금부터 각 Database별로 ANYLINK에서 어떻게 설정을 해주어야 하는지에 대해서 알아본다. 또한 DB 장애 등으로 인한 real DB에 접속이 불가할 경우 자동으로 Backup DB에 붙을 수 있는 기능을 제공한다. 아래 표는 환경변수별 Backup 정보에 대한 항목이다.

Real DB 정보

Backup DB 정보

ANYLINK_CONNECT_INFO

ANYLINK_BACKUP_CONNECT_INFO

SYBASE_SERVER_NAME

SYBASE_BACKUP_SERVER_NAME

ANYLINK_DB_NAME

ANYLINK_BACKUP_DB_NAME

A. 1. DB 접속 환경 변수

'Anylink' 카테고리의 다른 글

파싱오류 서비스 샘플  (0) 2009.03.05
배치의 TXID  (0) 2009.02.17
배치 메세지 추출 쉘 스크립트  (0) 2009.02.17
CMS 배치전송 시 멈추는 현상  (0) 2009.02.11
2006 교육자료  (0) 2009.01.14
Posted by marryjane
|

Broken Pipe

2009. 3. 10. 21:41

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

ADO.Net DB연결과 사용법

2009. 3. 8. 18:33

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

ADO.NET 표준사례

2009. 3. 8. 18:26

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.




You with the sad eyes
Don't be discouraged
Oh I realize
It's hard to take courage
In a world full of people
You can lose sight of it all
And the darkness there inside you
Makes you feel so small

But I see your true colours
Shining through
I see your true colours
That's why I love you
So don't be afraid to let them show
Your true colours
True colours are beautiful,
Like a rainbow

Show me a smile then,
And don't be unhappy, can't remember when
I last saw you laughing
If this world makes you crazy
And you've taken all you can bear
You call me up
Because you know I'll be there

And I see your true colours
Shining through
I see your true colours
That's why I love you
So don't be afraid to let them show
Your true colours
True colours are beautiful,
Like a rainbow

Ohhhh
I can't remember
When I last saw you laugh
If this world makes you crazy
And you've taken all you can bear
You call me up
Because you know I'll be there

And I see your true colours
Shining through
See your true colours
That's why I love you
So don't be afraid to let them show
Your true colours, true colours
Are beautiful like a rainbow

I see your True colours shining through
See your true colours
Thata€™s why I love you
So don't be afraid to let them show
Your true colours
Your true colours are beautiful,
Like a rainbow

Ohhhhhhh


온 세상에 스마일 10편 bgm

'Today's Song' 카테고리의 다른 글

그대 걷던 길 - 노 리플라이  (0) 2009.10.14
I Saw The Light - Keiko Lee  (0) 2009.10.14
Gran Torino - Jamie cullum  (0) 2009.03.08
Vis-A-Vis - Melo' Breeze  (0) 2009.03.03
Chega de Saudade - Yo Yo Ma Feat.Rosa Passos  (0) 2009.03.03
Posted by marryjane
|




Gran Torino OST

'Today's Song' 카테고리의 다른 글

I Saw The Light - Keiko Lee  (0) 2009.10.14
True Colours - Eva Cassidy  (0) 2009.03.08
Vis-A-Vis - Melo' Breeze  (0) 2009.03.03
Chega de Saudade - Yo Yo Ma Feat.Rosa Passos  (0) 2009.03.03
C'mon Through - Lasse Lindh  (0) 2009.02.17
Posted by marryjane
|