• hELLO, Everyone!

    안녕하세요. 한밭대학교 모바일융합과(홈페이지) 소속의 무선통신소프트웨어연구실입니다. 앞으로 유용한 콘텐츠로 찾아뵙겠습니다.

  • CHAR와 VARCHAR

    CHAR와 VARCHAR

    DBMS에서 지원하는 데이터 타입에서 살펴봤듯이 각종 DBMS가 지원하는 대표적인 문자형 데이터 타입에는 고정 길이 문자형을 표현하는 'CHAR'와 가변 길이 문자형을 표현하는 'VARCHAR'[각주:1]가 있습니다. 필자는 고정 길이와 가변 길이로 구분한 이유가 궁금했습니다. 데이터 타입을 고정 길이와 가변 길이 형태로 구분한 이유가 무엇일까요? ANSI SQL 표준화 작업 과정 중 데이터전문가들이 검토한 결과로 데이터베이스에서 문자형을 표현하는 데이터 타입을 고정/가변 길이로 구분할 필요성이 있었던 것 같습니다. 아마도 데이터 표현과 데이터 관리의 명확성 때문에 위와 같이 구분한 것 아닐까요? 데이터 타입을 명확히 구분하는 것이 해당 속성의 데이터 특성을 이해하는데 훨씬 효율적일 것입니다. 하지만 데..

  • 다양한 조인(JOIN)기법

    다양한 조인(JOIN)기법

    조인(JOIN)은 관계형 데이터베이스(Relational Database, RDB)의 꽃이라고 불립니다. 조인을 명확하게 이해하기 위해서는 관계형 데이터베이스에 대한 이해가 필요합니다. 관계형 데이터베이스에 대한 설명은 이 글의 범위를 벗어나므로, 관계형 데이터베이스에 대한 자세한 내용은 다음 링크를 참조하시기 바랍니다. 참고로 관계형 데이터베이스의 특징을 한 문장으로 요약하면, 정규화(Normalization) 이론을 활용하여 데이터 이상 현상을 제거하고, 데이터 중복을 최소화하여 데이터를 관리하는 것입니다. 조인이 왜 필요할까요? 관계형 데이터베이스의 구조적 특징으로 말미암아 정규화를 수행하면 의미 있는 데이터의 집합으로 테이블이 구성되고, 각 테이블끼리는 관계(Relationship)를 갖게 됩니다..

  • Structured Query Language(SQL)

    Structured Query Language(SQL)

    Structured Query Language(SQL)는 우리말로 구조화된 질의 언어로 정의할 수 있습니다. SQL은 관계형 데이터베이스 관리 시스템(Relational Database Management System: RDBMS)에서 데이터 정의, 데이터 조작, 그리고 데이터 제어를 위해 사용하는 언어입니다. 영문 위키 페이지[관련링크]를 확인해보면, SQL의 표현을 '시큐얼' 또는 '에스큐엘'이라고 표현하고 있습니다. 시큐얼은 Structured English Query Language (SEQUEL)로 SQL의 최초 이름이었습니다. 그러나 표준으로 정의된 이름이 SQL이기 때문에, '에스큐엘'로 발음하는 것이 좋을 것 같습니다[각주:1]. SQL 역사 SQL의 초기 모델은 SEQUEL은 1970년대..

  • DBMS에서 지원하는 데이터 타입

    DBMS에서 지원하는 데이터 타입

    데이터 모델을 설계하는 과정에서 속성을 도출하고, 속성의 데이터 타입(Data Type)을 결정하는 과정은 꽤 복잡합니다. 그러나 지금까지 경험을 비추어보면, 다양한 상황을 고려하지 않고 데이터 타입을 선택하는 경우가 많았습니다. 이 결과로 말미암아, 속성의 특성에 알맞은 데이터 타입을 사용하지 못하고, 부정확하게 사용하는 경우를 자주 볼 수 있었습니다. 올바른 데이터 타입을 선정하는 것은 매우 중요합니다. 왜냐하면, 데이터 타입을 결정하면 다양한 제약조건이 만들어지고 데이터 타입을 변경하기 어렵기 때문[각주:1]입니다. 이뿐만 아니라, 질의(Query) 작성과 응용 프로그램의 성능에도 큰 영향을 미치게 됩니다[각주:2]. 이 문서에서 현존하는 모든 DBMS에서 지원하는 데이터 타입을 다루는 것은 불가능..