반응형

[펌] http://kr.blog.yahoo.com/minandclub/folder/20.html
========================================

제약조건 (Constraint)


  제약조건이란 테이블에 부적절한 자료가 입력되는 것을 방지하기 위해서 여러 가지 규칙을 적용해 놓는거라 생각하면 됩니다. 간단하게 테이블안에서 테이터의 성격을 정의하는 것이 바로 제약조건 입니다.

 ★ 데이터의 무결성 유지를 위하여 사용자가 지정할 수 있는 성질 입니다.

 ★ 모든 CONSTRAINT는 데이터 사전(DICTIONARY)에 저장 됩니다.

 ★ 의미있는 이름을 부여했다면 CONSTRAINT를 쉽게 참조할 수 있습니다.

 ★ 표준 객체 명명법을 따르는 것이 좋습니다.

 ★ 제약조건은 테이블을 생성할 당시에 지정할 수도 있고, 테이블 생성 후 구조변경(ALTER)명령어를
     통해서도 추가가 가능합니다.

 ★ NOT NULL제약조건은 반드시 컬럼 레벨에서만 정의가 가능합니다.


NOT NULL 조건
: 컬럼을 필수 필드화 시킬 때 사용합니다.


SQL> CREATE TABLE emp(
        ename VARCHAR2(20)  CONSTRAINT emp_nn_ename NOT NULL );
        이런식으로 하면 ename 컬럼에는 꼭 데이터를 입력해야만 합니다.

        여기서 emp_nn_ename은 (테이블이름_제약조건이름_컬럼이름) 형식으로
        CONSTRAINT NAME을 정의 합니다.

        CONSTRAINT NAME은 USER_CONSTRAINTS 뷰(VIEW)를 통해서 확인할수 있습니다.

SQL> SELECT CONSTRAINT_NAME
         FROM    USER_CONSTRAINTS
         WHERE  TABLE_NAME ='EMP' ;

          CONSTRAINT_NAME
          -----------------------
          emp_nn_ename           이런 식으로 제약사항의 이름을 확인할수 있습니다.
 



UNIQUE 조건
:
데이터의 유일성을 보장(중복되는 데이터가 존재할수 없습니다.)
자동으로 index가 생성됩니다.    


SQL> ALTER TABLE emp
        ADD CONSTRAINT emp_uk_deptno UNIQUE (deptno) ;

테이블이 변경되었습니다.

     이런식으로 하면 deptno 컬럼에 중복된 데이터가 들어갈 수 없습니다.

-- 제약 조건의 삭제

SQL>ALTER TABLE emp
       DROP CONSTRAINT emp_uk_deptno ; 

테이블이 변경되었습니다.
 



CHECK 조건 :
컬럼의 값을 어떤 특정 범위로 제한할 수 있습니다.


SQL>ALTER TABLE emp
       ADD CONSTRAINT emp_ck_comm
       CHECK (comm >= 10 AND comm <= 100000) ;

테이블이 변경되었습니다.

     comm컬럼은 체크조건에서 제한을 하고 있으므로 1에서 100까지의 값만을 가질수  있습니다.
     
체크 조건에서는 IN 연산자를 사용할수 있습니다.


-- 제약 조건의 삭제

SQL>ALTER TABLE emp
        DROP CONSTRAINT emp_ck_comm ;

테이블이 변경되었습니다.

SQL> ALTER TABLE emp
        ADD CONSTRAINT emp_ck_comm
        CHECK (comm  IN  (10000,20000,30000,40000,50000)) ;

테이블이 변경되었습니다.

     comm 컬럼은 10000,20000,30000,40000,50000의 값만을 가질수 있습니다.
 



DEFAULT
(컬럼 기본값) 지정 : 데이터 입력시에 입력을 하지 않아도 지정된 값이 입력될수 있습니다.

SQL>CREATE TABLE emp(   
        hiredate DATE DEFAULT  SYSDATE ) ;

     이런식으로 하면 hiredate 컬럼에 INSERT를 하지 않아도 오늘 날짜가 들어갑니다.



PRIMARY KEY 지정
: 기본키는 UNIQUE 와 NOT NULL의 결합과 같습니다.

  ※  기본키는 그 데이터 행을 대표하는 컬럼으로서의 역할을 수행하여 다른 테이블에서
       외래키들이  참조할 수 있는 키로서의 자격을 가지고 있습니다. 이를 참조 무결성이라 합니다
.  

       UNIQUE 조건과 마찬가지로 기본키를 정의하면 자동으로 인덱스를 생성하며
       그 이름은 기본 키  제약 조건의 이름과 같습니다.


INDEX KEY
: 검색 키로서 검색 속도를 향상 시킴니다.
                   (UNIQUE,PRIMARY KEY 생성시 자동적으로 생김니다.)

SQL>CREATE TABLE emp(
        empno NUMBER CONSTRAINT emp_pk_empno PRIMARY KEY ) ;

     이런식으로 하면 empno 컬럼에 UNIQUE 제약조건과 NOT NULL제약조건을 가지게 됩니다.



 FOREIGN KEY(외래 키)지정
: 기본키를 참조하는 컬럼 또는 컬럼들의 집합입니다.

※ 외래키를 가지는 컬럼의 데이터 형은 외뢰키가 참조하는 기본키의 컬럼과 데이터형이
    일치해야 합니다.
    이를 어기면 참조무결성 제약에의해 테이블을 생성할수 없습니다.

외래키에 의해 참조되고 있는 기본 키는 삭제할수 없다.

ON DELETE CASCADE 연산자와 함께 정의된 외래키의 데이터는  그 기본키가 삭제 될 때 같이
    삭제됩니다.


SQL>ALTER TABLE emp ADD CONSTRAINT emp_fk_deptno
        FOREIGN  KEY (deptno) REFERENCES dept(deptno)        

테이블이 변경되었습니다.

 이런식으로 하면 emp 테이블의 deptno 컬럼은 dept 테이블에 deptno 컬럼을 참조하는
 외래키를 가지게 됩
니다.

직접 변경해 보세요..

 


제약 조건의 확인

USER_CONS_COLUMNS : 컬럼에 할당된 제약 조건을 볼 수 있습니다.
USER_CONSTRAINTS : 유저가 소유한 모든 제약 조건을 불 수 있습니다.  
이 두개의 데이터사전을 참조 하면 됩니다.
 
 SQL> SELECT  SUBSTR(A.COLUMN_NAME,1,15) COLUMN_NAME,  
               DECODE(B.CONSTRAINT_TYPE,
                                         'P','PRIMARY KEY',
                        'U','UNIQUE KEY',
                      'C','CHECK OR NOT NULL',
                                        'R','FOREIGN KEY') CONSTRAINT_TYPE,  
              A.CONSTRAINT_NAME   CONSTRAINT_NAME  
        FROM  USER_CONS_COLUMNS  A,  USER_CONSTRAINTS  B  
        WHERE  A.TABLE_NAME = UPPER('&table_name')  
            AND  A.TABLE_NAME = B.TABLE_NAME  
            AND  A.CONSTRAINT_NAME = B.CONSTRAINT_NAME  
        ORDER BY 1;  

-- 테이블 명을 입력 하면 됩니다.
table_name의 값을 입력하십시오: emp2

 
COLUMN_NAME         CONSTRAINT_TYPE   CONSTRAINT_NAME
------------------------------ ----------------- --------------
DEPTNO                   CHECK OR NOT NULL      SYS_C001362   
                               FOREIGN KEY                EMP2_FK_DEPTNO
EMPNO                     PRIMARY KEY               EMP2_PK_EMPNO
ENAME                     CHECK OR NOT NULL     EMP2_NN_ENAME
MGR                        UNIQUE KEY                  EMP2_UP_MGR
반응형
반응형
알리바이폰에 적용된 주변소음제거기술은 

미국의 벤처기업 오디언스(Audience)가 개발한 것으로

인간이 실제로 소리를 구별하는 방식을 따르고 있다고 한다.

 

 

인간의 청각 체계는 듣고자 하는 음성에 초점을 맞추면서 이와 관련 없는 주변 소음은 무시하는데

그것처럼, 오디언스도 이 원리에 따라 기기 자체의 소음과 주변 소음을 제거했다.

 

 

알리바이폰은 사람처럼 '2개의 귀'(마이크2대)를 가졌다.

아래쪽 마이크에는 음성신호(목소리)와 소음이 함께 들어가지만 음성신호의 세기가 강하다.

 

반면 위쪽(스피커 부분) 마이크에는 상대적으로 소음이 강하고

음성신호는 약하게 입력되기때문에 음성신호와 다른 소리를 구분할 수 있다.

 

양쪽 마이크로 입력된 신호는 소음제거 칩을 거치며 음높이, 강도, 시간차 등 특징에 따라 구분된다.

그렇게 구분한 소리 중 음성신호만 골라내어 전달하기 때문에 주변소음이 제거되는 것!!




TV에서 본 화제 발생시 어디서 어떻게 화제가 발생했는지 알수 있게 해주는 시물레이션 시스템

실제 화제가 난 상황을 가정하여 컴퓨터 내에서 보여주기때문에,

사고가 났을때 대처할수 있는 방법등을 알수 있다.


반응형
반응형


1주일동안 배운 내용을 토대로 미니 메신져를 구현하였다.

파이프를 생성하여 두 프로그램간의 데이터를 패킷전송하였다.

간단한 예제였지만, API를 배우고 있는 입장에서는 조금 난해하기도 하였다.


기존에 만들고 있던 P2P 프로그램을 수정하여 만들어서 빨리 만들수 있었다.

주의사항으로는 데이터를 팩킹하여 보내주고 그것을 받는 부분이였다.


void *TransReq::MakeAPacket(int *pbdlen)
{
 MsgHead *mh = MakeHead(TRANS_REQ);
 int bdlen =0;
 void *pack =0;

 int SendMsglen = strlen(SendMsg)+1;


 pack = ehenpack(pack,bdlen,&SendMsglen,sizeof(SendMsglen));
 bdlen += sizeof(SendMsglen);
 
 pack = ehenpack(pack,bdlen,SendMsg,SendMsglen);
 bdlen += SendMsglen;

 mh->bodylen = bdlen;
 bdlen = sizeof(MsgHead) + bdlen;

 void *tpack = pack;//
 pack = ehenpack(mh,sizeof(MsgHead),pack,bdlen);
 
 free(tpack);//

 *pbdlen = bdlen;
 return pack;
}

실습했던 파일까지 첨부~!!


처음 알았던 부분.
패킷헤드를 만들어서 그곳에 패킷에 대한 정보를 주는 부분!!
잊지말것.

반응형
반응형

2008대학가요제를 나가보려 준비했던 곡이다.

방학내내 골방에 처박혀서 이노래 만들었던 기억들이 새록새록하다.

매우 슬픈 내용임에도 불구하고 노래는 쫌 많이 신나버렸던...
M.O (Moonpace, Orange_Flavor)의 몇 안되는 신곡...

공연필요하신분들 메일로 연락주세요.
 

Produced by Orange
Lyric by Orange, MoonPace
Performed by M.O



<플레이~>

Produced by Orange

Lyric by Orange, MoonPace

Performed by M.O

 

Verse 1.

Orange

아무런 이유없이 날 떠나 버린너

제발 돌아와줘 애원해도 내가

필요 없어 졌다며 (졌다며)

군대 갔다 돌아오면 널

잊을거라 생각했었는데

시간이 약이 되지 못했던

바보같던 내모습...

 

MoonPace

지구에 생존하는 여자는 많아

너는 내맘의 유일한 생존자

널쫓아 달린 거리만 해도

(지구를 7바퀴 반)

24시간 5분대기조 자꾸자꾸

두근두근 대는 맘

니가 있는 곳이라면 어디라도가

언제까지나 나만의 태양

 

Chorus.

아무리 사랑해도 아무리 지워봐도

눈물이 나는걸 난 어떻게해

아무리 잊어봐도 아무리 채워봐도

내맘은 자꾸만 허전한데..

 

Sabi.

널 다시 바라볼 수 있게 널 다시 사랑할 수 있게

널 도망가 버린 날 버리고 간 그녀를 또 바라볼 수 있게(찾아 찾아) x 2

 

Hook 1.

달려 달려 달려 달려 달려 달려 달려 달려 달려 달려 달려 달려

달리고 또달려

달려 달려 달려 달려 달려 달려 달려 달려

(아따 저애기 발이 안보여 버리는 구만)

 

Hook 2.

달려 달려 달려 달려 (Hey~ Ho!)

달려 달려 달려 달려

죽을듯 숨이 막 차 올라도.

 

Bridge. Orange

매일 널 찾았어 결국 넌 없었어

이별의 시작일줄 난 정말 몰랐어

울었어 아파서 지쳐서...

(보고싶다 보고싶다 보고싶다)

 

Verse 2.

Orange

매일 내 꿈 속에서 애타게 불러 봤었어

수천번 수만번 외쳐 정말 너가 보고 싶었어

(미쳤어 지쳤어 네맘속에 갇혔어)

Never stop! Don't give up now!

또 한번의 한편의 Cinema

 

MoonPace

이제 난 네게 바라는건 없어

오로지 너만 보고 싶을 뿐이야

하늘이 바라보고 하늘이 감동하는

그런사랑 시작하고 싶었어

내가슴의 응어리 그건바로 분명히

너만이 풀 수 있는 작은 실마리

하지만 저멀리 사라지는 니모습이

내발등에 떨어지는 작은 빗물이...

 

Repeat Chorus.

 

Repeat Sabi.

 

Repeat Hook 1.

 

Repeat Hook 2.

 

Outro.

달려 달려...

달려 달려...

달려 달려...

달려 달려...

달려 달려...

반응형
반응형


홍대 클럽 H에서 공연!
인터넷 힙합 동호회 프리힙합(http://club.freehiphop.co.kr)

마침 대학가요제 최종예선에서 떨어졌던 터라, 그동안 준비했던 곡들로
공연할수 있었다. 많은사람들이 호응해주는 무대여서 더욱 반가웠던 무대.

나의 목소리와 노래가 사람들을 즐겁게 만들수 있는 그 기분.
참 매력적이고 중독적인 기분좋음.

처음 불렀던 노래는 Orange love story
나의 이야기를 대화식으로 주고받는 구성으로 짜여진 노래이다.

보컬(중선)의 목소리가 돋보이는 노래이기도 하다.

늘 이노래를 듣고 있으면 기분이 묘~하다.

Produced by PDOGG
Melody Making : Orange_Flavor
Lyric by MoonPace, Orange_Flavor, 제비, 중선
Performed by M.O

동영상을 올릴까 말까하다가..올려본다. 머리가 캐 안습이라서..ㅡ.ㅡ;;모자를 벗었다 썻다했는데
아마츄어같이 거울도 한번 안보고 올라갔다...ㅡ.ㅡ;;;

 

노래가사는 밑에....

<리허설 중..오바금지..오바금지..-_->



<무대 뒤>



<포즈가 참 캐안습이긴하다만...>






Orange Love Stroy

Intro. 중선
Woo Yeah~ can u feel my baby
I can so love you I need your love baby
이젠 네게 말하고 싶은 내 마음 전해졌으면 해

 

Verse 1. Orange
(우연히) 지나치다 마주쳤던, 너를 알게됐던 그날
말을 했었으나. 마침 외출 한널 봤던
나를 스쳐 갔던 그날, 하~ 꼴 보기 좋게 됐구나.
수천번 네주위를 맴돌아 말하지 못해
수천번 되뇌이는 말 사랑해 사랑해 라는 말
너에게 한걸음 한걸음 다가갈 때마다
자꾸만 작아지는 나의 목소리
사랑한다면서 왜 말도못해 너는
사랑한다면서 왜 망설이니 너는
내게 말해 내사랑을 너에게
빙글빙글 네주위만 맴도는 나(Uh)
이러지도 저러지도 못하지만
그래도나 너에게만 다가간다
나를 사랑한다고 말해줘 나를 바라바줘.
혼자 중얼거리는나 날좀 바라봐

 

Chorus. 중선
좋아한다고 말할 수 있게 내게 용기를 줘
사랑한다고 말할 수 있게 내게 기회를 줘
이젠 내가 다가가 네게 다가가 너를 잡고
너에게 외 치고 싶어

 

Verse 2. MoonPace
오늘은 기분이 어때?
<하... 몰라 몰라 그저 그래>
그말 전할 수 있겠어?
<에휴... 오늘도 못할것 같어>
언제까지 맴돌기만 할건데?
<하지만 용기가 안나 도대체 마주치기만
해도 굳어버리는 행동들 뿐이야.>
그래 좋아 그럼 내말 들어봐
이것봐 너처럼 망설이다
후회한게 한두번이 아냐
해야지 해야지 말해야지
하며 하루이틀 시간 끌다보니
그녀향한 마음 보다더한 두려움
이겨내지못한 그녀에대한믿음
시들어가는 꽃잎같은 그녀에대한 사랑
그리고 점점 멀어져 갔어 그 사람.
어때(ha~) 이래도 망설여져?

 

Repeat Chorus.

 

Chorus 2. 중선

밤새도록 그대만 기억 하네
내맘대로 되지 않는 그대를 보며
넌 어딨니 내가 여기 있는데
내곁에 없는 그녀를 생각하네

 

Verse 3. 제비
현명한 사람은 진정한 사랑을 알꺼야 진정
원한다면 그녀에게 더가까이 다가가봐
무서워서 피하는 것만이 능사는 아니야
여기서 보이는 수많은 길중 선택이라는것에
고민을 하는 모습이잖아 너라는것에
자신감을 가져 우리가 모르는걸 그녀에게
보여줘 그리고 망설이지마 그녀의 기회도
무제한은 아니야 반복되고 반복되는
고민의 기회는 처음 순간에 결정해야되
놓치고 나서 후회할 자신없다면 지금이 딱이야
날이야 언제나 있다고? (No No) 사랑은 현재 진행형
영원히 그녀와 함께 길을 걷고 싶다면 그마음
마음 속에 두지 말고 그녀에게 말해봐

 

Repeat Chorus

반응형
반응형
 
수많은 사람들이 나의 곁을 스쳐 지나간다.
우리는 그들에 존재에 관심을 가지기 보다는 나의 삶에 더욱 치중하며 살고있다.

우연히 TV프로그램에서 뉴욕 메디슨 스케어 가든에 설치된 예술작품에 언급을 유심히 보게 되었다.

단순히 조명이 잔디 중앙으로 일렁이는 듯 싶더니,
조명을 조정하는것은 조명 엔지니어도 아닌, 공원에 온 사람들이였다.





그들은 두개의 봉을 손으로 잡고 자신의 맥박을 빛으로 표현하고 있었다.
 



내 자신이 살아있다는 것을 눈으로 확인하는 순간이다.


매일 숨을쉬지만 숨을 쉬는것을 느끼려고 하진 않는다.
하지만 물속에 들어가보면 숨쉬는 것에 고마움을 알게된다.


다른사람들은 어떤 생각을 하게될까?
수많은 빛의 향연속에 나의 맥박이 일렁이고 있는 느낌?





많은 사람들이 참여할수 있는 설치예술품이라서 더욱 관심이 갔다.
특히나, 이것또한  Aesthetics+Installation ART+ Computer programming  기술이 융합된 예술품이란 것이 더욱 매력적이다.


아래에 작가와 작품에 대한 설명을 덧붙여 본다.
Rafael Lozano-Hemmer 의 작품을 좀더 유심히 관찰해볼 계획이다.


 
 

 
 

Description
"Pulse Park" is comprised of a matrix of light beams that graze the central oval field of Madison Square Park. Their intensity is entirely modulated by a sensor that measures the heart rate of participants and the resulting effect is the visualization of vital signs, arguably our most symbolic biometric, in an urban scale.

In Pulse Park, evening visitors to Madison Square Park have their systolic and diastolic activity measured by a sensor sculpture installed at the North end of the Oval Lawn. These biometric rhythms are translated and projected as pulses of narrow-beam light that will move sequentially down rows of spotlights placed along the perimeter of the lawn as each consecutive participant makes contact with the sensor. The result is a poetic expression of our vital signs, transforming the public space into a fleeting architecture of light and movement.

Pulse Park is inspired by Roberto Gavaldón’s film “Macario” (Mexico, 1960) in which the protagonist has a hunger-induced hallucination wherein individuals are represented by lit candles, as well as by the minimalist musical compositions of Conlon Nancarrow, Glenn Branca and Steve Riech. Pulse Park is the culmination of a series that Lozano-Hemmer debuted at the 2007 Venice Biennale with Pulse Room.

Credits

Conroy Badger — programming
Pierre Fournier, David Lemieux, Natalie Bouchard, Boris Dempsey, Stephan Schulz— Antimodular production
Debbie Landau, Sam Rauch, Jeffrey Sandgrund, Stewart Desmond — Mad Sq. Art production
Scharff Weisberg — Staging

Commissioned by the Madison Square Park Conservancy
Major support for Mad. Sq. Art is provided by Founding Partners Agnes Gund and Anonymous. Substantial support is provided by Jill & Peter Kraus, Leucadia Foundation, and Henry Luce Foundation. Project support is provided by the Toby D. Lewis Trust, Haunch of Venison, bitforms Gallery, OMR gallery, Galerie Guy Bärtschi and the Speyer Family Foundation. This project is supported in part with public funds from the New York City Department of Cultural Affairs.

반응형

+ Recent posts