이 섹션에서는 데이터 유형(Data Type)이 무엇인지 알아보고, 다양한 종류의 정보를 담고 있는 필드(field)를 사용하여 어떻게 사용자 정의 유형(Custom Data Type)의 데이터를 설정하는지에 대한 방법을 설명합니다. 또한 구축 중인 앱의 종류에 따라 데이터베이스 구조를 설정하는 방법에 대한 가이드를 예시를 통하여 설명합니다.
(1) Data Type (데이터 유형)
1. Data Type(데이터 유형) 정의
데이터베이스는 개발자가 계획하고 설정하는 다양한 Data Type(데이터 유형)으로 구성됩니다. Data Type(데이터 유형)은 특정 유형의 정보를 보유하는 컨테이너와 같으며 각 Data Type(데이터 유형)은 해당 정보가 저장되는 필드로 구성됩니다.
- 예를 들어, 스포츠 리그 관리 시스템에서 하나의 데이터 유형을 사용하여 이름, 코치, 선수 명단과 같은 팀에 대한 정보를 보유할 수 있습니다.
- 다른 데이터 유형은 날짜, 위치 및 최종 점수와 같은 게임에 대한 정보를 보유하는 데 사용될 수 있습니다.
: 데이터베이스 편집기를 사용하면 원하는 대로 데이터 유형을 구조화, 관리 및 연결할 수 있는 자유도가 보장됩니다.
2. 데이터 유형 생성
먼저 새 Data Type(데이터 유형)을 만드는 방법을 살펴보겠습니다. 필요한 만큼 많은 Data Type(데이터 유형)을 생성할 수 있습니다.
- Data Type(데이터 유형)을 만들려면 다음 단계를 따르세요
- 먼저 Bubble 메인 패널 좌측의 DATA 탭으로 이동합니다.
- 그런 다음 Data Type(데이터 유형)으로 이동하십시오.
- New type 필드에 이름을 입력합니다. 나중에 언제든지 변경할 수 있으니 걱정하지 마세요.
- Create 버튼을 클릭합니다.
새 데이터 유형이 Custom data type(사용자 정의 데이터 유형) 목록에 추가됩니다.
3. 데이터 유형 이름 설정 Tip
Bubble을 사용하면 공백과 같은 문자를 사용하여 원하는 대로 데이터 유형의 이름을 지정할 수 있습니다. 원하는 대로 자유롭게 이름을 지정할 수 있지만 아래의 몇 가지 지침에 따라 만들면 유용할 수 있습니다.
1) 고유한 이름 사용
- Bubble은 중복 이름을 지원하지만 데이터 유형에 고유한 이름을 지정하면 올바른 이름을 쉽게 식별할 수 있습니다. 옵션 세트와 데이터 유형이 동일한 목록에 표시되는 경우가 많으므로 옵션 세트 에도 영향을 미칠 수 있습니다.
2) 단수 이름 사용
- Bubble은 이름을 자동으로 복수화합니다. 예를 들어 데이터 유형의 이름을 Event로 지정하면 Bubble은 적절할 때마다 이를 자동으로 Events로 참조합니다.
(2) Field (필드)
1. Field(필드) 정의
각 Data Type(데이터 유형)은 서로 다른 종류의 정보를 보유하는 Field(필드)로 구성됩니다. 이러한 Field(필드)는 개발자가 지정한 형식만 포함하도록 설정되었습니다. 다시 말해 해당 지정 형식의 정보만 저장할 수 있다는 의미입니다.
예시)
예를 들어 전화번호부를 생각해 보겠습니다.
- 연락처에는 이름, 생년월일 및 이메일 주소에 대한 다른 Field(필드)가 있고 이러한 Field(필드)의 형식은 일정하게 유지됩니다. 이름과 이메일 주소에는 항상 텍스트가 포함되고 생년월일에는 항상 날짜가 포함됩니다.
- Field(필드)는 Data Type(데이터 유형)이라는 컨테이너 안에 실제로 정보가 저장되는 곳입니다.
2. 버블의 기본 내장 필드
: Bubble에는 다음과 같은 기본 제공 Field(필드) 유형이 있습니다.
- Text(텍스트) : 문자열 모든 종류의 문자를 포함할 수 있는 텍스트
- number(숫자) : 정수 또는 소수가 될 수 있는 숫자 값
- numeric range(숫자 범위) : 낮은 값과 높은 값으로 구성된 범위(예: 5-10)
- date(날짜) : 날짜와 시간을 포함합니다.
- date range(날짜 범위) : 날짜 범위(예: 1970년 1월 1일 - 1970년 1월 15일)
- date interval(날짜 간격) : 날짜 간격은 두 날짜 간의 차이를 수량화합니다. 그들 사이의 일/시간/분 등의 수입니다.
- yes / no(예 / 아니요) : 참 또는 거짓이 될 수 있는 값(Boolean이라고도 함)
- file(파일) : 파일이 저장된 파일의 URL, 파일은 Bubble 서버 저장소에 따로 저장됩니다.
- image : 사진이 저장된 이미지 파일의 URL, 사진은 Bubble 서버 저장소에 따로 저장됩니다.
- geographic address(지리적 주소) : Google 지도 형식의 주소
- Data type(데이터 유형) : 설정할 수 있는 모든 데이터 유형은 필드 유형이 될 수도 있습니다.
- 여기에서 Bubble 데이터베이스의 유연성이 분명해집니다.
- 사용자 지정 데이터 유형을 만들고 해당 유형을 사용자 지정 필드로 채우면 생각할 수 있는 거의 모든 시나리오에 대한 구조를 설정할 수 있습니다.
- 위 목록의 마지막 항목은 특히 중요합니다. 우리가 생성하는 모든 데이터 유형은 서로 다른 데이터 유형의 필드 형식을 지정하는 데 사용될 수 있기 때문입니다.
3. List형 값 저장
버블 데이터베이스에서 List(목록) 형 값을 저장하도록 각 필드를 설정할 수도 있습니다.
예를 들어 텍스트 값을 두 개 이상 저장하려는 경우 이 필드는 List(목록)입니다.
- 이런 정보를 저장하려면 데이터베이스 editor에서 ‘This field is a List ‘체크박스를 선택할 수 있습니다. 이렇게 하면 Red, Blue, Green, Yellow와 같이 List(목록)을 구성하는 값들을 한 Field에 추가할 수 있습니다.
- 모든 유형의 필드는 사용자 정의 데이터 유형을 포함하여 List(목록)를 포함할 수 있습니다.
4. 기본 제공 field(필드)
데이터 유형에 추가하기 위해 선택한 필드 외에도 Bubble은 아래 필드도 기본적으로 제공됩니다.
1) Unique ID
- Unique ID는 데이터베이스에서 각각의 데이터베이스 항목을 식별하는 32자의 영숫자 문자열입니다.
- 형태는 다음과 같습니다. 1651238619517x600101118159717500
- Unique ID(간혹 UID로 축약됨)는 데이터 항목이 생성될 때 자동으로 생성되며 편집할 수 없습니다.
2) Created date , Modified date
- 이 두 필드도 Bubble에 의해 자동으로 채워지고 날짜 형식으로 저장됩니다. 생성 날짜 필드는 절대 변경되지 않으며 수정 날짜 필드는 데이터가 변경될 때마다 자동으로 업데이트됩니다.
3) SLUG
: SLUG 필드를 사용하면 사용자 친화적이고 검색 엔진에 최적화된 URL을 설정할 수 있습니다.
- 페이지에 데이터를 로드할 때 이 텍스트 문자열을 페이지 URL의 마지막 부분으로 사용하여 각 항목에 고유한 URL을 부여하도록 Bubble에 지시할 수 있습니다.
예를 들어 제품 이름이 "A Beginner's Guide to Bubble"인 경우 해당 슬러그는 "a-beginners-guide-to-bubble"일 수 있습니다.
- 그러면 슬러그가 다음과 같이 페이지 URL에 추가됩니다. https://www.myapp.com/products/la-beginners-guide-to-bubble
- 이를 통해 기사, 블로그 게시물, 제품 및 기타 유형의 콘텐츠와 같은 다양한 데이터 유형에 대해 사용자 친화적이고 검색 엔진에 최적화된 URL을 설정할 수 있습니다.
- 데이터에 대한 슬러그 변경은 workflow action으로 수행할 수 없는 대신 데이터의 슬러그 설정 작업으로 수행해야 합니다.
5. 사용자 정의 필드 유형
위의 설명과 같이 새로 생성한 모든 데이터 유형을 필드 유형으로 사용할 수도 있습니다.
: 예를 들어 장바구니(cart)라는 데이터 유형이 있고 이 장바구니에 제품을 추가할 수 있어야 한다고 가정합니다.
- 카트 데이터 유형에 필드를 설정하고 이 필드는 List로 선택하고 제품 데이터 유형을 필드 유형으로 선택할 수 있습니다.
- 예를 들어 장바구니의 데이터 유형을 사용하여 사용자의 데이터 유형에 연결할 수 있습니다. 그렇게 함으로써 특정 카트의 소유자가 누구인지 확인할 수 있습니다.
6. 필드 생성
데이터 유형을 생성한 후 필요한 필드를 설정할 수 있습니다.
- 먼저 새 필드(장바구니)를 만들려는 Data Type(데이터 유형)을 선택합니다.
- 기존 필드 하단에 있는 Create a new Field(새 필드 만들기) 버튼을 클릭합니다.
- 먼저 필드에 어울리는 적합한 이름을 지정합니다.
- 기존 데이터 유형에서 해당 필드에 저장하려는 데이터 유형을 선택하십시오. 이 예시에서는 카트의 Owner(소유자)로써 사용자가 되기를 원하므로 User를 선택했습니다.
- 필드에 선택한 데이터가 하나의 항목이 포함되어야 하는지 아니면 List인지 여부를 선택합니다. 이 경우 각 카트에 한 명의 소유자만 있기를 원하므로 체크박스를 선택하지 않습니다.
다음에는 다양한 앱 유형이 어떻게 다른 데이터 유형을 필요로 하는지에 대한 몇 가지 예를 살펴보겠습니다.
(3) 예시
1. Data Type(데이터 유형) 예시
서로 다른 응용 프로그램에 맞는 데이터 유형을 설정하는 방법을 알아보기 위해 세 가지 다른 예시를 살펴보겠습니다. 아래의 예시들은 각 카테고리의 모범사례는 아니지만 다양한 시나리오에서 데이터 유형의 다양성을 알아보는 데에 의미가 있습니다.
예시 1: 전자상거래 상점
전자 상거래 상점에서 기본 기능을 처리하려면 세 가지 Data Type(데이터 유형)이 필요할 수 있습니다.
전자상거래에서 기본적으로 사용자(User)가 장바구니(Cart)에 제품(Product)을 추가할 수 있기를 바랍니다.
결과적으로 다음의 Data Type(데이터 유형)이 필요합니다.
- 사용자(User) : 내장
- 장바구니(Cart)
- 제품(Product)
예시 2: 스포츠 리그 관리 앱
스포츠 리그를 관리하려면 좀 더 복잡한 설정이 필요할 수 있습니다.
리그는 여러 클럽으로 구성되며 각 클럽에는 선수가 있는 몇 개의 팀이 있습니다. 플레이어는 게임을 합니다. Player 데이터 유형 은 실제로 내장된 User 데이터 유형입니다. Bubble은 이미 사용자가 로그인하여 앱을 사용할 수 있도록 하는 데이터 유형을 제공하므로 이를 사용하는 것이 합리적입니다. User 데이터 유형은 이름을 바꿀 수 없습니다. 따라서 우리는 단순히 이 앱에서 문맥상 user를 플레이어로 언급된다는 점을 알고 있어야 합니다.
결과적으로 다음의 Data Type(데이터 유형)들이 필요합니다.
- League(리그)
- Club(클럽)
- Team(팀)
- Game(게임)
- User( = 플레이어) : 내장
예시 3: 블로그
블로그는 블로그 게시물, 특정 유형의 게시물 및 작성자를 검색할 수 있는 태그로 구성된 매우 간단한 설정을 가질 수 있습니다. 다시 말하지만 작성자 유형은 User Type이지만 의도된 목적을 더 잘 전달하기 위해 문맥상"저자"라고 합니다.
- Content(블로그 게시물)
- Tag(태그)
- User (=저자) : 내장
2. Field (필드) 추가 예시
예시 1: 전자상거래 상점
- Product(제품)
- 이름(텍스트) 설명(텍스트) 이미지(이미지) 가격(숫자)
- Cart(카트)
- 소유자(사용자) 제품(제품 목록)
- User(사용자) : 내장
- 이름
예시 2: 스포츠 리그 관리 앱 (계층적 구조)
*스포츠 리그 관리 앱에서 데이터 유형이 계층 구조에서 어떻게 아래쪽으로 참조되는지 확인할 수 있습니다. 플레이어는 팀의 일부이고, 리그의 일부인 클럽의 일부입니다.
- League(리그)
- 이름(텍스트)
- Club(클럽)
- 이름(텍스트) 리그(League)
- Team(팀)
- 이름(텍스트) 클럽(Club)
- User(플레이어) : 내장
- 이름 이메일(내장) 팀(Team)
예시 3: 블로그 (계충구조)
블로그 웹 사이트에서 더 간단한 구조로 돌아갈 수 있습니다. 우리는
1) 헤더와 게시물 콘텐츠, 2) 그것을 작성한 사용자(작성자) 및 태그 목록(예: 정치 및 기술)을 저장해야 하는 블로그 게시물이 있습니다.
- Content(블로그 게시물)
- 헤더(텍스트) 게시물(텍스트) 작성자(사용자) 태그(태그 List)
- Tag(태그)
- 이름
- User(작성자) : 내장
- 이름, 이메일(내장)
위에서 살펴본 바와 같이 사용자 정의 Data type(데이터 유형) 및 Field(필드)를 설정하면 프로젝트에 맞게 데이터베이스를 조정할 수 있습니다.
간단히 말해서 Data type(데이터 유형)은 관리하려는 Data type(데이터 유형)을 정의하는 컨테이너이며 Field(필드)에는 해당 Data type(데이터 유형) 내에 저장된 다양한 유형의 정보가 포함됩니다.
전화번호부에서 작업하는 경우 Data type(데이터 유형)은 연락처이고 필드는 이름, 이메일 주소 및 전화번호입니다.