테이블 만들기 (2)

지난 포스팅에서 개인 자산관리용 데이터베이스의 핵심 테이블을 만들었습니다. 테이블을 만드는 것은 어렵지 않지요. 테이블 만들기를 해서 필드 이름을 정하고 데이터 형식을 정하면 됩니다. 여기서 중요한 것 은 어떤 데이터 형식으로 필드를 정리할 것인지 반드시 고민해 보셔야 합니다. 데이터형식에 관한 내용은 프로그램 적인 내용도 상당히 많고 컴퓨터 반도체와의 개념과도 연결되는 것도 많지만 그런 것 다 버리고 엑세스 데이터베이스를 만드는데 필요한 최소한의 개념만을 소개하겠습니다.

 

  1. 데이터 형식 데이터의 일관성을 유지하는 최소한의 장치

    엑셀과 데이터베이스의 근본적 차이점은 데이터베이스는 매우 체계적인 데이터 정리 체계를 가지고 있습니다. 엑셀에서 셀에 특정 서식을 정하지 않아도 데이터 입력이 가능하고 자동으로 일반 서식으로 적용 되지만 엑세스에서는 모든 필드에 반드시 데이터 형식을 지정해 줘야 합니다. 내가 입력하는 데이터 하나 하나가 그 셀에 해당하는 데이터형식에 맞지 않는다면 데이터의 입력 자체가 되질 않습니다. 예를 들어 내가 물건의 데이터베이스를 만드는데 구입 날짜를 입력하도록 했다고 합시다. 엑세스에서 달력을 선택해도 되고 2016/2/12처럼 엑셀과 같이 직접 입력을 해도 됩니다. 내가 실수로 날짜의 잘못 입력할 경우 엑셀은 내가 유효성 검사에서 정의해 놓지 않으면 날짜 형식을 일반 문자 형식이나 다른 숫자로 해석을 하고 입력을 허용하지만 엑세스는 입력 자체가 되질 않습니다. 반드시 특정 셀에는 특정 데이터의 형식만 입력 되도록 되어 있습니다.

     

    여기서 Camel Casing을 적용하여 AcquiredDate(구입일), Insurance(보험), SoldDate(판매일)의 필드 이름을 정했습니다.

     

  2. 데이터형식의 유형

    데이터형식을 선택하는 데 보면 대부분 한글을 이해하는 분이라면 문제가 없을 것이라고 보고 핵심만 집고 넘어 가겠습니다. 데이터 형식의 드롭다운 메뉴를 클릭하게 되면 매우 다양한 데이터 형식을 확인 할 수 있습니다.

     

    기본적으로 보이는 데이터 형식이 11개 입니다.

     

    여기서 OLE 개체는 하위호환을 위해 존재하는 것이며 최근에 엑세스로 데이터베이스를 만드는 사람들은 거의 활용하지 않고 새로운 데이터형식인 첨부 파일로 대체 되었습니다. 마치 포트란 코드의 GoTo 명령어와 같이 사용하려면 할 수 있지만 요즘 추세에 맞지 않는 다는 뜻입니다. 대부분의 데이터 형식은 읽는 것과 의미가 같습니다. 구입 가격을 입력하는 곳이 있다면 "통화"라는 데이터 형식을 선택하면 됩니다. 한가지 기억을 하실 것은 왜 데이터형식을 선택하는 가 입니다. 짧은 텍스트, 긴 텍스트, 숫자 모두 가격이란 정보를 담을 수 있지요. 단순히 데이터의 일관성 만을 위한 것이 아닙니다. 짧은 텍스트와 긴 텍스트의 가장 큰 차이점은 사용할 수 있는 텍스트의 길이와 적용할 수 있는 서식에 있습니다. 긴 텍스트에는 볼드 체, 색상 등 모든 것을 적용할 수 있지만 짧은 텍스트는 총 텍스트수도 256자인가 (맨날 까 먹습니다) 그렇고 색상 적용도 안됩니다. 그런데 왜? 왜 긴 텍스트 대신 짧은 텍스트 메뉴가 있고 숫자 형식도 따로 있죠?

    정답은 메모리의 효율적 활용 입니다. 내가 필드 데이터 형식을 긴 텍스트로 해 놓으면 가격처럼 무조건 숫자 정보만 입력 되어도 상관이 없는 영역에 컴퓨터는 많은 영역 확보를 해 놓아야 하고 이것이 수 백만, 수 천만의 데이터가 쌓이게 된다면 낭비가 되고 데이터 처리가 늦어지지요. 숫자가 얼마나 큰 숫자를 저장할 수 있는지, 날짜의 최대 값은 얼마인지 등은 찾아 보면 나오겠지만 이것이 중요한 것이 아니라 왜 형식을 정하냐 입니다.

     

  3. 짧은 텍스트 vs. 숫자

    여기서 SerialNumber, 혹은 Tel (전화번호)와 같은 입력 필드를 넣었다고 해봅시다. 지난 시간 포스팅에서 시리얼 넘버의 데이터 형식을 짦은 텍스트로 하였습니다. 시리얼 넘버의 경우는 가끔 알파벳이나 문자도 들어가니 짧은 텍스트로 할 수도 있습니다. 그렇지만 전화번호는 항상 숫자로 이루어져 있지만 데이터 형식은 마찬 가지로 짧은 텍스트로 합니다. 왜냐하면 ()나 – 와 같은 기호를 포함하는 데이터 형식은 짧은 텍스트 이기 때문입니다. 만약 전화번호의 지역 번호를 색깔로 구분하고 싶다면? 긴 텍스트 입니다. 난 기호 다 필요 없고 숫자만 입력할 거야 라고 한다면 숫자 입니다. 즉 데이터 형식을 정하는 것도 순전히 데이터베이스를 만드는 사람의 판단에 달려 있습니다. 이걸 쓰게 될 사람과 영역을 고려하여 최선의 선택을 하는 것 입니다.

     

    프로그램을 배울 때 너무 8비트, 16비트, 2진수 등 컴퓨터의 메모리에 관한 한 것은 가급적 그냥 넘어가세요. 물론 알면 좋지만 사실 제이킴도 100번도 넘게 봤어도 돌아서면 까먹습니다. 필요할 때마다 언제든 검색이 가능하고 중요한 것은 "왜?" 입니다. 왜 이 형식을 설계자가 정했을까, 내가 필드를 설계한다면 어떤 데이터형식으로 만들 것인가만 고민해 보시면 되고 너무 상세한 정보는 그냥 넘어가시면 됩니다.

+ Recent posts