News & 기고POST
Service Management Enterprise Solution 분야의 리더가 되겠습니다.
노코드 플랫폼 데이터 관리 – 계층데이터
작성자
steg
작성일
2022-12-28 11:12
조회
3416
노코드 플랫폼 데이터 관리 – 계층데이터
하나의 시스템 즉 애플리케이션은 사용자들이 원하는 서비스를 제공하는데 목적이 있고 시스템은 많은 데이터로 이루어져 있으며 사용자에게 다양한 데이터를 제공한다. 데이터에는 사용자가 생산하는 데이터가 있고 서비스 제공을 위해서 관리되는 데이터가 있다.
데이터베이스에서 로우(행)는 레코드(record) 또는 튜플(tuple)로 불리며 데이터 구조에 따라서 리스트형 또는 계층형으로 분류되어 관리된다.
리스트형 데이터는 가장 기본이 되는 데이터 구조이며 자사의 솔루션에서는 eGeneList를 이용하여 관리되고 계층형 데이터는 계층구조에 맞는 컴포넌트를 이용하여 관리된다.
본 기고에서는 EGENE 솔루션의 계층형 데이터 관리에 대해서 소개하고 No Code 시대에 따른 진화 모습을 다루어보고자 한다.
계층형 데이터는 트리 형태의 데이터 구조를 말하며 부모 자식 간의 관계가 반복적으로 구성된다. 시스템의 구성요소 중 메뉴가 계층 데이터이며 상위부서 하위부서로 구분되는 부서 데이터도 계층형 데이터이다.
시스템 개발 시 가장 먼저 하는 고민이고 구축 과정에서 중요한 요소는 데이터 모델을 구성하고 시스템에서 어떻게 관리할 것인지 고민하는 것이다.
계층형 데이터 모델은 자식 부모의 관계로 반복적으로 구성해야 하기 때문에 복잡해 보이지만 고유 아이디와 부모를 의미하는 pid 단 두개의 컬럼으로 단순하게 구성된다. 엔터티를 생성하면 기본키는 생성되며 pid 컬럼만 추가하면 계층형 데이터 모델을 위한 설계는 완료된다. 다음으로 계층형 데이터 조회를 위해 쿼리를 구성해야 한다. db에서는 계층형 데이터 구성을 위한 함수를 제공하고 있으나 db별로 다르기 때문에 각각의 문법을 숙지하고 있어야 한다. 아래 oracle, mairadb 2가지 계층형 쿼리 예시를 참조하면 된다.
계층형 데이터 구성
계층 데이터 구성을 위해서 SQL 작성을 위한 지식이 필요한다. 또한 계층형 데이터 구성을 위한 함수를 사용해야 하는데 DB마다 지원함수가 다르기 때문에 DB별로 해당 지식이 있어야 계층데이터를 구성할 수 있다.
Oracle은 STAERT WITH.. CONNECT BY 함수를 이용하여 계층 데이터를 구성하며 아래 샘플처럼 id, pid만을 이용하여 계층형 데이터 조회를 완성한다.
MariaDB는 recursive를 이용하여 계층형 데이터를 구성하며 아래 샘플처럼 가상테이블 정보를 이용하여 계층형 데이터를 완성한다.
Tree&Form를 이용한 계층형 데이터 관리
E-GENE XTREE UI는 계층형 데이터 관리를 위한 화면으로, XTREE UI는 계층형 데이터 SQL과 Form UI 설정만으로 개발없이 높은 수준의 관리화면을 구성할 수 있게 해준다.
아래 메뉴관리 화면은 추가버튼을 이용하여 계층 데이터를 추가하며 상세정보는 데이터 유형에 맞게 구성된 Form UI를 이용하여 관리하도록 한다. 이는 사용자 실수에 의한 데이터 이상으로 시스템에 발생할 수 있는 오류를 줄여주는 장점이 있다.
Tree&Form를 이용한 계층형 데이터 관리
가장 기본적인 계층형 데이터 관리 화면이며 Grid 형태의 데이터 즉 엑셀 데이터 수정처럼 사용자는 셀 단위 데이터 수정이 가능하다.
TreeGrid는 +,x 버튼을 이용하여 자식 데이터를 추가/삭제함으로서 직관적인 데이터 관리가 가능하며 셀단위 편집과 실시간 저장 기능을 포함하여 사용자 편의성을 고려한 편집기능이 장점이다.
No Code계층형 데이터 관리
현재의 관계관리 화면은 화면 구성을 위해서 sql이 필요하기 때문에 완벽한 노코드라기보다 로우코드 구조를 가지고 있다. 엔터티 생성, 관리 데이터 선정, 계층형 SQL 생성, xTree 화면 구성, 폼 UI 구성, xtreeList 구성, 메뉴 설정, 메뉴 권한 부여 등의 관리화면을 구성하기 위한 기본 작업들이다. 이러한 작업들은 패키지에 대한 기본 지식을 보유하여 어느정도 패키지를 이용한 애플리케이션 구축이 가능해야 효과적인 관리화면을 완성할 수 있을 것이다.
No Code 시대에 따라 데이터 모델링부터 데이터 관리까지 고민없이 가능하게 하려면 어떻게 해야 할까? 필자가 기대하는 수준은 하나의 관리화면을 구성하기 위한 모든 과정을 템플릿화 하여 엔터티 테이블 생성 후 관리메뉴에서 바로 데이터 확인이 가능해야 할 것이다.
자사의 EGENE 플랫폼은 많은 엔터티, SQL, LIST, RELATION, MAPPING 등 애플리케이션 구축에 필요한 노코드 모듈을 가지고 있는 노코드 플랫폼으로 시민개발자도 애플리케이션 구축 프로젝트에 쉽게 참여할 수 있다. 여기에 더 나아가 기본이 되는 애플리케이션 구성요소를 템플릿화 하여 자동 구성하게 한다면 짧은 시간에 높은 수준의 시스템을 구성할 수 있는 활용성 높은 노코드 플랫폼으로 진화할 것이다. EGENE 플랫폼이 가지게 될 2023년 변화 모습을 기대해본다.
㈜에스티이지 R&D팀 고재학 프로