NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    기타 4부 스크립트 판매자를 위한 기획 연재 - 고객 관리 정보 테이블 만들기

    페이지 정보

    본문

    안녕하세요. 소심비형입니다. 아마도 대부분의 스크립트 판매자분들이 건건히 제작해서 판매하는걸로 알고 있는데요. 좀 더 수익을 극대화하고 관리를 편하게 하려면 어느정도 시스템을 갖추는게 좋긴합니다. 물론, 데이타베이스를 활용한다는건 24시간 서비스를 할 수 있는 서버가 있어야 한다는 의미예요. 그래서, 안정적인 서비스를 위한 방안도 필요하게 됩니다. 간단하게는 웹호스팅을 이용할 수 있고, 저전력 나스를 활용하는 방법도 있긴합니다. 시스템 구축과 관련된 이야기는 나중에 기회가 되면 다시한번 다루도록 할께요~

    H4LKUw8.jpg

     

     

    이전 시간에 설치한 SQL Developer 또는 HeidiSQL을 이용해서 고객 관리 테이블을 생성하고, 어떤 플로우로 관리해야 하는지 알아보도록 할께요. 먼저 SQL Developer에 대해 알아보겠습니다.

     

    1. 오라클 데이타베이스에 고객 관리 테이블 생성하기.

    아래와 같이 SQL Developer를 실행하세요. 그리고, +버튼을 클릭하세요.

    XjBpiop.png

     

     

    아래 내용을 참고해서 각각의 내용들을 채워줍니다.

    1. 데이타베이스의 표시 이름입니다. 원하는데로 입력하면 됩니다.
    2. 사용자 이름은 system 또는 sys를 입력하세요.
    3. 비밀번호는 데이타베이스를 생성할 때 만든 비밀번호입니다.
    4. 빠르게 데이타베이스 서버에 접속하기 위해 비밀번호 저장에 체크하세요.
    5. SID는 데이타베이스를 설치할 때 입력한 이름입니다.
    6. 테스트버튼을 클릭하면 접속 여부를 테스트해볼 수 있습니다.
    7. 테스트가 정상이면 접속을 클릭하세요.

    ※ 참고로, 원격지라면 호스트 이름에 localhost가 아닌 서버 공인 아이피를 입력해야 합니다.

    v6EYpOt.png

     

     

    데이타베이스가 ①추가된 것을 확인할 수 있습니다.

    8Oo5Zch.png

     

     

    SQL Developer의 자세한 사용 방법은 구글이나 오라클 홈페이지를 참고하세요^^; SQL 개발 도구들은 보통 2가지 편집 기능을 제공합니다. GUI형태로 작업을 할수도 있고, 질의문을 이용해서 작업해도 됩니다. 데이타베이스의 특성에 따라 자동 커밋이 되거나 옵션에서 설정할수도 있습니다. 토드나 SQLGate, 골든등등... 많은 제품들이 있죠. DBA가 아닌경우에는 대부분 무료툴로도 충분합니다. 아래 그림처럼 ngm데이타베이스를 확장한 후 테이블에서 우클릭하세요. 그리고 "새 테이블"을 클릭하세요.

    SLYQE69.png

     

     

    테이블 이름은 ①"CUSTOMER_INFORMATION"으로 입력하세요. 그리고 ②고급에 체크하세요. ③+을 클릭해서 컬럼을 4개 추가해줍니다.

    아마도... 개발자가 아닌이상 테이블이 뭔지 잘 모를겁니다. 테이블은 열과 행으로 이루어진 표를 말합니다. 쉽게 엑셀을 생각하시면 이해하기 쉬울겁니다^^;

    uQywcSY.png

     

     

    아래 그림을 참고해서 열들의 이름과 데이터 유형 및 크기를 설정하세요. 그리고, 모든 컬럼(Column: 열)을 널이 아님으로 체크하세요. 마지막으로 EXPIRE_DATE만 기본값을 SYSDATE로 입력합니다. 자세히 설명하려면... 내용이 한도끝도 없기 때문에 이정도만 간단히 설정하고 넘어갈께요^^; 개발자들은 여기서 좀 더 설정해야 할 부분들이 있을겁니다. 제약 조건과 인덱스인데요. 파티셔닝이 안되는 버전이기에 이정도만 추가 설정하면 될거 같아요.

    TY4iQYG.png

     

     

    이제 거의 고객 정보 테이블이 완료되었네요. 마지막으로 시컨스를 하나 추가해주도록 할께요. MS-SQL이나 MySQL 또는 MariaDB는 아이디열을 자동으로 증가시킬 수 있습니다. 쉽게 말이죠. 하지만, 오라클은 아이디를 관리하는 시퀀스를 추가해줘야 합니다. 아래 그림과 같이 ①아이디열을 클릭하고, 하단의 유형을 ②열 시퀀스로 선택하세요. ③확인 버튼을 눌러서 테이블 생성 작업을 완료하세요.

    ※ 시퀀스를 만들지 않아도 문제되지는 않습니다. 하지만, 아이디열을 관리하기 위한 로직을 사용자가 직접 구현해야 하는 번거로움이 있기에 무조건 시퀀스는 만들게 됩니다. 물론, 오라클인 경우에요^^

    LD1W1mY.png

     

     

    2. MariaDB 데이타베이스에 고객 관리 테이블 생성하기.

    HeidiSQL을 실행하세요. 혹시라도~ APM과 같은 환경에서 사용중이면 PHP My SQL을 이용해서 테이블을 생성하고 관리해도 됩니다. 좌측 하단의 신규버튼을 클릭하세요. 

    d5EvgvF.png

     

     

    루트 폴더에 세션 생성을 선택하세요.

    3qfvew5.png

     

     

    대부분 건드릴 내용은 없습니다. 기본적으로 사용자는 root이며, 암호는 MariaDB를 설치할 때 만든 루트 비밀번호입니다. 그리고, 데이터베이스에 화살표를 눌러보면 미리 만들어둔 데이타베이스가 표시됩니다. 선택 후 열기를 클릭하세요.

    hHL54gg.png

     

     

    데이타베이스를 ngm으로 만든줄 알았는데... test로 했었네요-_-; 아무튼, 이렇게해서 데이타베이스에 정상적으로 접속이 되었습니다. 오라클과 동일하게 고객 관리 테이블을 만들어봐야겠죠?

    jD43BSE.png

     

     

    데이타베이스에서 우클릭 후 새로 생성의 테이블을 선택하세요.

    ml0hDcu.png

     

     

    툴 사용법만 다르다뿐이지 테이블을 생성하는 방법은 대부분 유사합니다. 이건 토드나 SQLGate도 동일합니다. 위 내용과 동일하게 테이블 이름을 설정했습니다. 그리고, 컬럼들도 동일하게 설정했습니다. 몇가지 좀 다른 부분들이 있긴한데요. NULL값을 처리하는 부분이 반대로 되어 있어서 체크를 해제해야 합니다. 그리고 아래 그림에서 USED_YN의 데이터 유형이 잘못되었습니다. 데이터 유형을 BIT로 변경해주세요^^;

    oIIGbty.png

     

     

    마지막으로 아래 그림을 참고해서 아이디열을 기본키(PRIMARY KEY)로 설정해주세요. 이 부분은 MS-SQL하고 동일합니다. 기본키가 아닌경우 자동 증가열로 설정할 수 없기 때문입니다. 아마도... 마이크로소프트가 처음 MS-SQL을 만들 때 오라클보다는 MySQL을 많이 참고한거 같아요. C#도 Java를 참고했듯이요. 오라클은 약간 독자적이라서 예외로 해야 할거 같구요.

    OyTpDKZ.png

     

     

    아이디열은 AUTO_INCREMENT로 설정합니다. 자동으로 증가해야 하니까요. 데이타베이스마다 자동 증가열의 설정이 다 다릅니다. 하지만, 의미를 알고나면 크게 어렵거나 하지는 않을거예요. 저도 주로 MS-SQL, MySQL, Oracle을 다루다보니 비슷해보이기도 합니다. 이외에 회사에서 사용하는 포스트그레나 인메모리디비 같은 경우는 설정이 좀 다를수도 있습니다. 보통 빅데이타에서 사용하는 시계열데이타는 또 다른 문제이기도 하구요. 설정이 완료되었다면, 저장을 클릭해서 테이블 생성을 완료하세요.

    Gd0OueT.png

     

     

    이번에 테이블을 모두 생성했습니다. 좀 더 디테일하게 만들고 싶긴했으나... 각자 학습해야 하는 부분으로 남겨두는게 좋을거 같아요. 데이타베이스 관련 강좌도 아닌데다 엔지엠을 사용하기 위한 사전 설정으로 너무 많은 시간을 소비하는건 바람직하지 않은거 같네요. 이미 데이타베이스 시스템을 구축하신분들이 보기에는 의미없는 내용이기도 합니다. 다음에는 아주 기본적인 질의문(쿼리: Query)에 대해 설명하도록 하겠습니다. 5부로 종료하려고 했으나... 6부까지 가야할거 같네요^^

    감사합니다.

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.