데이터

데이터 νƒ­ νŽ˜μ΄μ§€λŠ” μ—°κ²°λœ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ°Έμ‘°ν•˜λŠ” 양식 속성을 μ§€μ •ν•©λ‹ˆλ‹€.

μ–‘μ‹μ˜ 기반이 λ˜λŠ” 데이터 원본을 μ§€μ •ν•˜κ±°λ‚˜ ν•΄λ‹Ή 데이터λ₯Ό νŽΈμ§‘ν•  수 μžˆλŠ”μ§€ μ—¬λΆ€λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€. μ •λ ¬ 및 ν•„ν„° κΈ°λŠ₯ 외에도 ν•˜μœ„ 양식을 λ§Œλ“œλŠ” 데 ν•„μš”ν•œ λͺ¨λ“  속성을 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.

이 λͺ…령을 μ‚¬μš©ν•˜λ €λ©΄...

μ„ νƒλœ 양식 μš”μ†Œμ˜ μ»¨ν…μŠ€ 메뉴λ₯Ό μ—΄κ³  양식 - 데이터 탭을 μ„ νƒν•©λ‹ˆλ‹€.

λ°μ΄ν„°λ² μ΄μŠ€ 콘트둀 도ꡬ λͺ¨μŒμ΄λ‚˜ λ°μ΄ν„°λ² μ΄μŠ€ 양식 λ””μžμΈ 도ꡬ λͺ¨μŒμ„ μ—΄κ³  양식 μ•„μ΄μ½˜ - 데이터 탭을 ν΄λ¦­ν•©λ‹ˆλ‹€.


...둜 링크

ν•˜μœ„ 양식을 λ§Œλ“  경우 μ‚¬μš© κ°€λŠ₯ν•œ μƒμœ„ 양식 ν•„λ“œ 값을 μ €μž₯ν•  수 μžˆλŠ” λ³€μˆ˜λ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€. ν•˜μœ„ 양식이 쿼리λ₯Ό 기반으둜 ν•˜λ©΄ μΏΌλ¦¬μ—μ„œ μ§€μ •ν•œ λ³€μˆ˜λ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€. 데이터 원본 ν•„λ“œμ— μž…λ ₯ν•œ SQL 문을 μ‚¬μš©ν•˜μ—¬ 양식을 λ§Œλ“œλŠ” 경우 ν•΄λ‹Ή λͺ…λ Ήμ—μ„œ μ‚¬μš©ν•œ λ³€μˆ˜λ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€. μ–΄λ–€ λ³€μˆ˜ 이름도 선택할 수 μžˆμŠ΅λ‹ˆλ‹€. μ—¬λŸ¬ 개의 값을 μž…λ ₯ν•˜λ €λ©΄ Shift + Enterλ₯Ό λˆ„λ¦…λ‹ˆλ‹€.

λ§ˆμŠ€ν„° ν•„λ“œ μ—°κ²°μ˜ μƒμœ„ ν•„λ“œλ‘œμ„œ 예λ₯Ό λ“€μ–΄ "고객ID" 데이터 ν•„λ“œλ₯Ό μ§€μ •ν•˜μ˜€μœΌλ©΄ 슬레이브 ν•„λ“œ μ—°κ²°μ—μ„œ λ³€μˆ˜μ˜ 이름을 μ§€μ •ν•˜μ‹­μ‹œμ˜€. 이 λ³€μˆ˜μ—μ„œ "고객 ID" 데이터 ν•„λ“œμ˜ 값이 νŒλ…λ©λ‹ˆλ‹€. 이제 이 λ³€μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ SQL 문을 데이터 원본 ν•„λ“œμ— μ§€μ •ν•˜λ©΄ μ ν•©ν•œ 값이 ν•˜μœ„ 양식에 ν‘œμ‹œλ©λ‹ˆλ‹€.

SQL λͺ…λ Ή 뢄석

LibreOfficeμ—μ„œ SQL 문을 뢄석할 것인지 μ—¬λΆ€λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€. 예λ₯Ό μ„€μ •ν•˜λ©΄ λ‚΄μš© λͺ©λ‘ μƒμž μ˜†μ— μžˆλŠ” ... λ²„νŠΌμ„ λˆ„λ₯Ό 수 μžˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜ν”½ λ°©μ‹μœΌλ‘œ λ°μ΄ν„°λ² μ΄μŠ€ 쿼리λ₯Ό λ§Œλ“€ 수 μžˆλŠ” 창이 μ—΄λ¦½λ‹ˆλ‹€. 이 창을 닫을 λ•Œ, μƒμ„±λœ 쿼리에 λŒ€ν•œ SQL 문은 λ‚΄μš© λͺ©λ‘ μƒμž μ•ˆμœΌλ‘œ μ‚½μž…λ©λ‹ˆλ‹€.

λ‚΄μš©

양식에 μ‚¬μš©ν•  λ‚΄μš©μ„ μ§€μ •ν•©λ‹ˆλ‹€. 이전에 λ§Œλ“  λ°μ΄ν„°λ² μ΄μŠ€μ˜ κΈ°μ‘΄ ν…Œμ΄λΈ”μ΄λ‚˜ 쿼리λ₯Ό λ‚΄μš©μœΌλ‘œ μ‚¬μš©ν•˜κ±°λ‚˜ SQL 문으둜 λ‚΄μš©μ„ μ§€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‚΄μš©μ„ μž…λ ₯ν•˜κΈ° 전에 λ‚΄μš© μœ ν˜•μ—μ„œ μ •ν™•ν•œ μœ ν˜•μ„ μ§€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

λ‚΄μš© μœ ν˜•μ—μ„œ "ν…Œμ΄λΈ”" λ˜λŠ” "쿼리"λ₯Ό μ„ νƒν•˜λ©΄ μ„ νƒν•œ λ°μ΄ν„°λ² μ΄μŠ€μ— μ„€μ •λœ λͺ¨λ“  ν…Œμ΄λΈ”κ³Ό 쿼리가 μƒμžμ— λ‚˜μ—΄λ©λ‹ˆλ‹€.

데이터 원본

μ–‘μ‹μ—μ„œ μ°Έμ‘°ν•  데이터 원본을 μ§€μ •ν•©λ‹ˆλ‹€. ... λ²„νŠΌμ„ ν΄λ¦­ν•˜λ©΄ 데이터 원본을 선택할 수 μžˆλŠ” μ—΄κΈ° λŒ€ν™” μƒμžκ°€ μ—΄λ¦½λ‹ˆλ‹€.

데이터 μ›λ³Έμ˜ μœ ν˜•

κΈ°μ‘΄ λ°μ΄ν„°λ² μ΄μŠ€ ν…Œμ΄λΈ” λ˜λŠ” 쿼리λ₯Ό 데이터 μ›λ³ΈμœΌλ‘œ μ‚¬μš©ν•  것인지 λ˜λŠ” SQL 문을 기반으둜 양식을 λ§Œλ“€ 것인지 μ§€μ •ν•©λ‹ˆλ‹€.

ν…Œμ΄λΈ” λ˜λŠ” "쿼리"λ₯Ό μ„ νƒν•˜λ©΄ 양식은 데이터 원본에 μ§€μ •ν•œ ν…Œμ΄λΈ” λ˜λŠ” 쿼리λ₯Ό μ°Έμ‘°ν•©λ‹ˆλ‹€. μƒˆ μΏΌλ¦¬λ‚˜ ν•˜μœ„ 양식을 λ§Œλ“€λ €λ©΄ "SQL" μ˜΅μ…˜μ„ 선택해야 ν•©λ‹ˆλ‹€. 그런 λ‹€μŒ λͺ©λ‘ λ‚΄μš© μƒμžμ— 직접 SQL 쿼리 λ˜λŠ” ν•˜μœ„ 양식 문을 μž…λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 양식은 μ§€μ •ν•œ 문을 기반으둜 μƒμ„±λ©λ‹ˆλ‹€.

λ°μ΄ν„°λ§Œ μΆ”κ°€

μ–‘μ‹μ—μ„œ μƒˆ λ°μ΄ν„°μ˜ μΆ”κ°€λ§Œ ν—ˆμš©ν• μ§€(예) λ˜λŠ” λ‹€λ₯Έ 속성도 ν—ˆμš©ν• μ§€(μ•„λ‹ˆμš”)λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.

μ°Έκ³  μ•„μ΄μ½˜

λ°μ΄ν„°λ§Œ μΆ”κ°€λ₯Ό "예"둜 μ„€μ •ν•˜λ©΄ 데이터λ₯Ό λ³€κ²½ν•˜κ±°λ‚˜ μ‚­μ œν•  수 μ—†μŠ΅λ‹ˆλ‹€.


λ§ˆμŠ€ν„° ν•„λ“œ 링크

ν•˜μœ„ 양식을 λ§Œλ“œλŠ” 경우 μƒμœ„ 양식과 ν•˜μœ„ 양식 κ°„μ˜ 동기화λ₯Ό λ‹΄λ‹Ήν•  μƒμœ„ μ–‘μ‹μ˜ 데이터 ν•„λ“œλ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€. μ—¬λŸ¬ 값을 μž…λ ₯ν•˜λ €λ©΄ 각 쀄을 μž…λ ₯ν•œ λ‹€μŒ Shift + Enterλ₯Ό λˆ„λ¦…λ‹ˆλ‹€.

ν•˜μœ„ 양식은 SQL 쿼리, 특히 맀개 λ³€μˆ˜ 쿼리λ₯Ό 기반으둜 ν•©λ‹ˆλ‹€. λ§ˆμŠ€ν„° ν•„λ“œ μ—°κ²° μƒμžμ— ν•„λ“œ 이름을 μž…λ ₯ν•œ 경우 μ£Ό μ–‘μ‹μ—μ„œ ν•΄λ‹Ή ν•„λ“œμ— μžˆλŠ” 데이터λ₯Ό μ½μ–΄μ˜€λŠ” λ³€μˆ˜λ₯Ό 슬레이브 ν•„λ“œ 연결에 μž…λ ₯ν•΄μ•Ό ν•©λ‹ˆλ‹€. ν•΄λ‹Ή SQL λ¬Έμ—μ„œ 이 λ³€μˆ˜λŠ” ν•˜μœ„ 양식이 μ°Έμ‘°ν•˜λŠ” ν…Œμ΄λΈ” 데이터와 λΉ„κ΅λ©λ‹ˆλ‹€. λ˜λŠ” λ§ˆμŠ€ν„° ν•„λ“œ μ—°κ²° μƒμžμ— μ—΄ 이름을 μž…λ ₯ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

이에 덧뢙여 λ‹€μŒμ˜ 예λ₯Ό κ΄€μ°°ν•˜μ‹­μ‹œμ˜€:

양식을 κΈ°μ΄ˆλ‘œν•˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€ ν…Œμ΄λΈ”μ€ 예λ₯Ό λ“€μ–΄ λͺ…ν™•ν•œ 번호둜 각 고객을 식별할 수 μžˆλŠ” 고객 λ°μ΄ν„°λ² μ΄μŠ€("고객"), μžμ„Ένžˆ λ§ν•˜λ©΄ "고객_ID"λΌλŠ” μ΄λ¦„μ˜ 데이터 ν•„λ“œλ₯Ό κ°–λŠ” 고객 λ°μ΄ν„°λ² μ΄μŠ€κ°€ 될 수 μžˆμŠ΅λ‹ˆλ‹€. 고객의 주문은 λ‹€λ₯Έ λ°μ΄ν„°λ² μ΄μŠ€ ν…Œμ΄λΈ”μ—μ„œ κ΄€λ¦¬ν•©λ‹ˆλ‹€. 이제 양식에 μž…λ ₯λ˜λŠ” 각 고객에 λŒ€ν•œ 주문을 보고자 ν•©λ‹ˆλ‹€. λ˜ν•œ ν•˜μœ„ 양식을 λ§Œλ“€κ³  ...λ‘œλΆ€ν„° λ§ν¬μ—μ„œ 고객이 μ •ν™•νžˆ 식별될 수 μžˆλŠ” 고객 λ°μ΄ν„°λ² μ΄μŠ€μ˜ 데이터 ν•„λ“œ, 즉 "고객_ID"(λ”°μ˜΄ν‘œ μ œμ™Έ)λ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€. ...둜 λ§ν¬μ—μ„œ 고객_ID ν•„λ“œμ˜ 데이터λ₯Ό μΆ”κ°€ν•΄μ•Ό ν•˜λŠ” λ³€μˆ˜μ˜ 이름 즉, 예λ₯Ό λ“€μ–΄ "x"λ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€.

ν•˜μœ„ 양식은 μ£Όλ¬Έ ν…Œμ΄λΈ”μ—μ„œ 각 고객 ID에 ν•΄λ‹Ήν•˜λŠ” μ μ ˆν•œ 데이터λ₯Ό ν‘œμ‹œν•΄μ•Ό ν•©λ‹ˆλ‹€(Customer_ID -> x). μ΄λŠ” μ£Όλ¬Έ ν…Œμ΄λΈ”μ—μ„œ 각 주문이 1λͺ…μ˜ κ³ κ°μ—κ²Œλ§Œ ν• λ‹Ήλœ κ²½μš°μ—λ§Œ κ°€λŠ₯ν•©λ‹ˆλ‹€. λ˜ν•œ Customer_IDλΌλŠ” μ΄λ¦„μ˜ 또 λ‹€λ₯Έ ν•„λ“œλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ£Ό μ–‘μ‹μ˜ 같은 ν•„λ“œμ™€ ν˜Όλ™ν•˜μ§€ μ•Šλ„λ‘ 이 ν•„λ“œλ₯Ό Customer_Number으둜 λΆ€λ₯΄κΈ°λ‘œ ν•©λ‹ˆλ‹€.

이제 "Orders" ν…Œμ΄λΈ”μ˜ Customer_Numberλ₯Ό "Customers" ν…Œμ΄λΈ”μ˜ Customer_ID와 λΉ„κ΅ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ λ‹€μŒ SQL λͺ…λ Ήμ²˜λŸΌ x λ³€μˆ˜λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

SELECT * FROM μ£Όλ¬Έ WHERE 고객_Nr =: x (ν•˜μœ„ 양식이 μ£Όλ¬Έ ν…Œμ΄λΈ”μ˜ λͺ¨λ“  데이터λ₯Ό ν‘œμ‹œν•΄μ•Ό ν•˜λŠ” 경우)

λ˜λŠ”:

SELECT ν•­λͺ© FROM μ£Όλ¬Έ WHERE 고객_Nr =: x (μ£Όλ¬Έ ν‘œμ˜ 양식이 "ν•­λͺ©" ν•„λ“œμ˜ λ°μ΄ν„°λ§Œμ„ ν‘œμ‹œν•΄μ•Ό ν•˜λŠ” 경우)

SQL 문은 데이터 원본 ν•„λ“œμ— μž…λ ₯ν•˜κ±°λ‚˜, μ•„λ‹ˆλ©΄ ν•˜μœ„ 양식을 λ§Œλ“œλŠ” 데 μ ν•©ν•œ 맀개 λ³€μˆ˜ 쿼리λ₯Ό μž‘μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

사이클

Tab ν‚€λ₯Ό μ‚¬μš©ν•œ 탐색 방법을 μ§€μ •ν•©λ‹ˆλ‹€. Tab ν‚€λ₯Ό μ‚¬μš©ν•˜μ—¬ 양식 λ‚΄μ—μ„œ μ•žμœΌλ‘œ 이동할 수 μžˆμŠ΅λ‹ˆλ‹€. Shift ν‚€λ₯Ό ν•¨κ»˜ λˆ„λ₯΄λ©΄ 탐색 λ°©ν–₯이 λ°˜λŒ€κ°€ λ©λ‹ˆλ‹€. λ§ˆμ§€λ§‰ λ˜λŠ” 첫 번째 ν•„λ“œμ— λ„λ‹¬ν•œ ν›„ λ‹€μ‹œ Tab ν‚€λ₯Ό λˆ„λ₯΄λ©΄ λ‹€μ–‘ν•œ κ²°κ³Όκ°€ λ‚˜νƒ€λ‚  수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒ μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ—¬ ν‚€ μ½˜νŠΈλ‘€μ„ μ§€μ •ν•©λ‹ˆλ‹€.

μ˜΅μ…˜

의미

κΈ°λ³Έ

이 μ„€μ •μœΌλ‘œ 기쑴의 λ°μ΄ν„°λ² μ΄μŠ€ 연결에 λ§žμΆ°μ§€λŠ” 사이클이 μžλ™μœΌλ‘œ μ •μ˜λ©λ‹ˆλ‹€: 양식에 λ°μ΄ν„°λ² μ΄μŠ€ 연결이 μ‘΄μž¬ν•˜λ©΄ λ§ˆμ§€λ§‰ ν•„λ“œλ₯Ό μ’…λ£Œν•  λ•Œ νƒ­ ν‚€λ₯Ό μ΄μš©ν•˜μ—¬ 기쀀에 따라 λ‹€μŒ/이전 데이터 λ ˆμ½”λ“œλ‘œ λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€(λͺ¨λ“  데이터 λ ˆμ½”λ“œ μ°Έμ‘°). λ°μ΄ν„°λ² μ΄μŠ€ μ—°κ²° 없이 λ‹€μŒ/이전 μ–‘μ‹μœΌλ‘œ λ³€κ²½λ©λ‹ˆλ‹€(ν˜„μž¬ νŽ˜μ΄μ§€ μ°Έμ‘°).

λͺ¨λ“  λ ˆμ½”λ“œ

이 μ˜΅μ…˜μ€ λ°μ΄ν„°λ² μ΄μŠ€ μ–‘μ‹μ—λ§Œ 적용되며 λͺ¨λ“  λ ˆμ½”λ“œλ₯Ό 탐색할 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€. Tab ν‚€λ₯Ό μ‚¬μš©ν•˜μ—¬ μ–‘μ‹μ˜ λ§ˆμ§€λ§‰ ν•„λ“œλ₯Ό λΉ μ Έ λ‚˜μ˜€λ©΄ ν˜„μž¬ λ ˆμ½”λ“œκ°€ λ°”λ€λ‹ˆλ‹€.

ν˜„μž¬ λ°μ΄ν„°λ ˆμ½”λ“œ

이 μ˜΅μ…˜μ€ λ°μ΄ν„°λ² μ΄μŠ€ μ–‘μ‹μ—λ§Œ 적용되며 ν˜„μž¬ λ ˆμ½”λ“œ λ‚΄μ—μ„œ νƒμƒ‰ν•˜λŠ” 데 μ‚¬μš©ν•©λ‹ˆλ‹€. Tab ν‚€λ₯Ό μ‚¬μš©ν•˜μ—¬ μ–‘μ‹μ˜ λ§ˆμ§€λ§‰ ν•„λ“œλ₯Ό λΉ μ Έ λ‚˜μ˜€λ©΄ ν˜„μž¬ λ ˆμ½”λ“œκ°€ λ°”λ€λ‹ˆλ‹€.

ν˜„μž¬ νŽ˜μ΄μ§€

μ–‘μ‹μ˜ λ§ˆμ§€λ§‰ ν•„λ“œλ₯Ό λΉ μ Έ λ‚˜μ˜¬ λ•Œ μ»€μ„œλŠ” λ‹€μŒ μ–‘μ‹μ˜ 첫 번째 ν•„λ“œλ‘œ μ΄λ™ν•©λ‹ˆλ‹€. μ΄λŠ” HTML μ–‘μ‹μ˜ ν‘œμ€€ λ°©μ‹μž…λ‹ˆλ‹€. λ”°λΌμ„œ 이 μ˜΅μ…˜μ€ 특히 HTML 양식과 κ΄€λ ¨ μžˆμŠ΅λ‹ˆλ‹€.


μ‚­μ œ ν—ˆμš©

데이터λ₯Ό μ‚­μ œν•  수 μžˆλŠ”μ§€ μ—¬λΆ€λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.

μˆ˜μ • ν—ˆμš©

데이터λ₯Ό μˆ˜μ •ν•  수 μžˆλŠ”μ§€ μ—¬λΆ€λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.

μ •λ ¬

양식 λ°μ΄ν„°μ˜ μ •λ ¬ 쑰건을 μ§€μ •ν•©λ‹ˆλ‹€. μ •λ ¬ 쑰건 지정은 ORDER BY μ ˆμ„ μ‚¬μš©ν•˜μ§€ μ•Šκ³  SQL κ·œμΉ™μ„ λ”°λ¦…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, λ°μ΄ν„°λ² μ΄μŠ€μ˜ λͺ¨λ“  λ ˆμ½”λ“œλ₯Ό ν•œ ν•„λ“œλŠ” μ˜€λ¦„μ°¨μˆœμœΌλ‘œ, λ‹€λ₯Έ ν•„λ“œλŠ” λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜λ €λ©΄ Forename ASC, Name DESC와 같이 μž…λ ₯ν•˜λ©΄ λ©λ‹ˆλ‹€. μ—¬κΈ°μ„œ Forenameκ³Ό Name은 데이터 ν•„λ“œμ˜ μ΄λ¦„μž…λ‹ˆλ‹€.

μ •λ ¬ν•˜λ €λ©΄ μ‚¬μš©μž λͺ¨λ“œμ—μ„œ 양식 탐색 ν‘œμ‹œμ€„μ˜ μ μ ˆν•œ μ•„μ΄μ½˜(μ˜€λ¦„μ°¨μˆœ μ •λ ¬, λ‚΄λ¦Όμ°¨μˆœ μ •λ ¬ 및 μ •λ ¬)을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μΆ”κ°€ ν—ˆμš©

데이터λ₯Ό μΆ”κ°€ν•  수 μžˆλŠ”μ§€ μ—¬λΆ€λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.

탐색 ν‘œμ‹œμ€„

ν•˜μœ„ 양식 도ꡬ λͺ¨μŒμ˜ 탐색 κΈ°λŠ₯을 μ‚¬μš©ν•  수 μžˆλŠ”μ§€ μ—¬λΆ€λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.

"μƒμœ„ 양식" μ˜΅μ…˜μ€ ν•˜μœ„ 양식을 μœ„ν•œ κ²ƒμž…λ‹ˆλ‹€. ν•˜μœ„ 양식에 λŒ€ν•΄ 이 μ˜΅μ…˜μ„ μ„ νƒν•˜λ©΄ μ»€μ„œκ°€ ν•˜μœ„ 양식에 μœ„μΉ˜ν•  경우 μ£Ό μ–‘μ‹μ˜ 데이터 λ ˆμ½”λ“œλ₯Ό 톡해 탐색할 수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μœ„ 양식이 1:1 관계λ₯Ό 톡해 μ£Ό 양식과 μ—°κ²°λ˜λ―€λ‘œ λ‚΄λΉ„κ²Œμ΄μ…˜μ€ ν•˜μœ„ 양식 λ‚΄μ—μ„œ μ˜λ―Έκ°€ μ—†μŠ΅λ‹ˆλ‹€. λ‚΄λΉ„κ²Œμ΄μ…˜μ€ 항상 μƒμœ„ μ–‘μ‹μ—μ„œ μ‹€ν–‰λ©λ‹ˆλ‹€.

ν•„ν„°

μ–‘μ‹μ—μ„œ 데이터λ₯Ό ν•„ν„°λ§ν•˜λŠ” 데 ν•„μš”ν•œ 쑰건을 μž…λ ₯ν•©λ‹ˆλ‹€. ν•„ν„° 지정은 WHERE μ ˆμ„ μ‚¬μš©ν•˜μ§€ μ•Šκ³  SQL κ·œμΉ™μ„ λ”°λ¦…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, "Mike" 이름이 ν¬ν•¨λœ λͺ¨λ“  λ ˆμ½”λ“œλ₯Ό ν‘œμ‹œν•˜λ €λ©΄ 데이터 ν•„λ“œμ— Forename = 'Mike'λ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€. Forename = 'Mike' OR Forename = 'Peter'와 같이 쑰건을 κ²°ν•©ν•˜μ—¬ μž…λ ₯ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. 이 두 쑰건 쀑 ν•˜λ‚˜μ™€ μΌμΉ˜ν•˜λŠ” λͺ¨λ“  λ ˆμ½”λ“œκ°€ ν‘œμ‹œλ©λ‹ˆλ‹€.

μ‚¬μš©μž λͺ¨λ“œμ—μ„œ 양식 탐색 ν‘œμ‹œμ€„μ˜ μžλ™ν•„ν„° 및 κΈ°λ³Έ ν•„ν„° μ•„μ΄μ½˜μ„ 톡해 ν•„ν„° ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν•˜μœ„ 양식이 λ¬΄μ—‡μž…λ‹ˆκΉŒ?

양식은 λ°μ΄ν„°λ² μ΄μŠ€ ν…Œμ΄λΈ” λ˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€ 쿼리λ₯Ό 기초둜 λ§Œλ“€μ–΄μ§‘λ‹ˆλ‹€. 양식은 데이터λ₯Ό μ‹œκ°μ μœΌλ‘œ μ„ λ³„ν•˜μ—¬ ν‘œμ‹œν•˜λ©°, μƒˆλ‘œμš΄ λ°μ΄ν„°μ˜ μž…λ ₯ λ˜λŠ” 기쑴의 λ°μ΄ν„°μ˜ 변경에 μ‚¬μš©λ©λ‹ˆλ‹€. 이 λ°μ΄ν„°λŠ” 양식을 기초둜 λ§Œλ“€μ–΄μ§„ λ°μ΄ν„°λ² μ΄μŠ€ ν…Œμ΄λΈ” λ˜λŠ” 쿼리에 μ €μž₯λ©λ‹ˆλ‹€.

ν…Œμ΄λΈ”μ΄λ‚˜ 쿼리의 데이터λ₯Ό μ°Έμ‘°ν•˜κ³  λ‹€λ₯Έ ν…Œμ΄λΈ”μ˜ 데이터도 μΆ”κ°€λ‘œ ν‘œμ‹œν•  수 μžˆλŠ” 양식이 ν•„μš”ν•œ κ²½μš°μ—λŠ” ν•˜μœ„ 양식을 λ§Œλ“€μ–΄μ•Ό ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 이 ν•˜μœ„ 양식은 λ‹€λ₯Έ λ°μ΄ν„°λ² μ΄μŠ€ ν…Œμ΄λΈ”μ˜ 데이터λ₯Ό ν‘œμ‹œν•˜λŠ” ν…μŠ€νŠΈ μƒμžκ°€ 될 수 μžˆμŠ΅λ‹ˆλ‹€.

ν•˜μœ„ 양식은 μ£Ό μ–‘μ‹μ˜ μΆ”κ°€ ꡬ성 μš”μ†Œμž…λ‹ˆλ‹€. μ£Ό 양식은 "μƒμœ„ 양식" λ˜λŠ” "λ§ˆμŠ€ν„°"라고 ν•©λ‹ˆλ‹€. ν•˜μœ„ 양식은 νŠΉμ • μ–‘μ‹μ—μ„œ 두 개 μ΄μƒμ˜ ν…Œμ΄λΈ”μ— μ•‘μ„ΈμŠ€ν•  λ•Œ ν•„μš”ν•©λ‹ˆλ‹€. λͺ¨λ“  μΆ”κ°€ ν…Œμ΄λΈ”μ— ν•΄λ‹Ή ν•˜μœ„ 양식이 ν•„μš”ν•©λ‹ˆλ‹€.

양식을 λ§Œλ“  ν›„ ν•˜μœ„ μ–‘μ‹μœΌλ‘œ λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ €λ©΄ λ””μžμΈ λͺ¨λ“œλ₯Ό μ‹œμž‘ν•˜κ³  양식 λ‚΄λΉ„κ²Œμ΄ν„°λ₯Ό μ—½λ‹ˆλ‹€. 양식 λ‚΄λΉ„κ²Œμ΄ν„°μ—μ„œ ν•˜μœ„ 양식이 될 양식을 λ§ˆμŠ€ν„°κ°€ 될 λ‹€λ₯Έ μ–‘μ‹μœΌλ‘œ λ•λ‹ˆλ‹€.

νŠΉμ • 양식에 ν•˜μœ„ 양식이 μžˆμ–΄λ„ λ¬Έμ„œμ˜ μ‚¬μš©μžμ—κ²ŒλŠ” ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ‚¬μš©μžλŠ” 데이터λ₯Ό μž…λ ₯ν•˜κ±°λ‚˜ κΈ°μ‘΄ 데이터가 ν‘œμ‹œλ˜λŠ” λ¬Έμ„œλ§Œ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

λ§ˆμŠ€ν„° μ–‘μ‹μ˜ 데이터 ν•„λ“œμ—μ„œ [λ§ˆμŠ€ν„° ν•„λ“œ μ—°κ²°]을 μ§€μ •ν•©λ‹ˆλ‹€. ν•˜μœ„ μ–‘μ‹μ—μ„œ [슬레이브 ν•„λ“œ μ—°κ²°]을 [λ§ˆμŠ€ν„° ν•„λ“œ μ—°κ²°] λ‚΄μš©κ³Ό μΌμΉ˜λ˜λŠ” ν•„λ“œλ‘œ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ‚¬μš©μžκ°€ 데이터λ₯Ό νƒμƒ‰ν•˜λ©΄ 양식에 항상 ν˜„μž¬ 데이터 λ ˆμ½”λ“œκ°€ ν‘œμ‹œλ©λ‹ˆλ‹€. ν•˜μœ„ 양식이 μ •μ˜λ˜μ–΄ μžˆλŠ” 경우 μ•½ 20ms의 짧은 μ§€μ—° 후에 ν•˜μœ„ μ–‘μ‹μ˜ λ‚΄μš©μ΄ ν‘œμ‹œλ˜λ―€λ‘œ λ§ˆμŠ€ν„° μ–‘μ‹μ˜ 데이터 λ ˆμ½”λ“œλ₯Ό μ‹ μ†ν•˜κ²Œ 탐색할 수 μžˆμŠ΅λ‹ˆλ‹€. μ§€μ—° μ œν•œ 내에 λ‹€μŒ λ§ˆμŠ€ν„° 데이터 λ ˆμ½”λ“œλ‘œ μ΄λ™ν•˜λ©΄ ν•˜μœ„ 양식 데이터λ₯Ό κ²€μƒ‰ν•˜μ—¬ ν‘œμ‹œν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€.