คำถามติดแท็ก relational-database

ฐานข้อมูลเชิงสัมพันธ์เป็นฐานข้อมูลดิจิตอลตามรูปแบบข้อมูลเชิงสัมพันธ์ โมเดลนี้จัดระเบียบข้อมูลเป็นหนึ่งหรือหลายตาราง (หรือ "ความสัมพันธ์") ของคอลัมน์และแถว

7
กุญแจแทนจะถูกเปิดเผยต่อผู้ใช้หรือไม่?
บ่อยครั้งในตารางที่ไม่มีคีย์ธรรมชาติมันยังคงมีประโยชน์สำหรับผู้ใช้ที่จะสามารถมีตัวระบุที่สร้างขึ้นโดยไม่ซ้ำกัน หากตารางมีคีย์หลักสำรอง (และในกรณีเช่นนี้คุณคาดว่าจะเป็นอย่างนั้น) คีย์นั้นควรถูกเปิดเผยต่อผู้ใช้หรือควรใช้ฟิลด์อื่นเพื่อจุดประสงค์นั้น เหตุผลหนึ่งที่ไม่เปิดเผยคีย์ตัวแทนคือตอนนี้คุณไม่สามารถดำเนินการที่รักษาความสัมพันธ์ระหว่างระเบียนได้ แต่เปลี่ยนค่าคีย์เช่นการลบ / การแทรกซ้ำบางชนิดวิธีการคัดลอกข้อมูลจากฐานข้อมูลหนึ่งไปยัง อื่น ๆ ข้อได้เปรียบหลักของการเปิดเผยคีย์ตัวแทนคือความเรียบง่ายของการใช้ฟิลด์ที่คุณมีอยู่แล้ว ภายใต้สถานการณ์ใดดีกว่าที่จะเปิดเผยคีย์ตัวแทนโดยตรงกับผู้ใช้

7
ทำไม SQL จึงถูกเรียกว่าภาษาที่อิงตามความสัมพันธ์ / ใช้งานได้?
เรากำลังเรียนรู้ว่าภาษาส่วนใหญ่จัดอยู่ในประเภทใดประเภทหนึ่งทั้งสอง "ตามความสัมพันธ์" หรือ "ระดับสูง" ฉันไม่เคยใช้ SQL มาก่อน แต่จากการอ่านไวยากรณ์ดูเหมือนว่ามีความจำเป็น / มีความจำเป็นในระดับสูงกว่าการใช้งาน / ความสัมพันธ์ (Lisp, Haskell) หรืออาจเป็นได้ว่าการตีความบันทึกการบรรยายของอาจารย์ของฉันไม่ถูกต้อง ... แต่แน่นอนว่ารายการ SQL เป็นหนึ่งในภาษาที่อิงตามความสัมพันธ์ หรือบางทีฉันก็ไม่เข้าใจว่าทำไมข้อเท็จจริงเกี่ยวกับ SQL ที่เกี่ยวข้องกับฐานข้อมูลเชิงสัมพันธ์ทำให้ภาษาที่ใช้งานได้ดีอย่างที่ควรนำมาใช้ (และทำไม 'อิงตามความสัมพันธ์' เท่ากับ 'ทำงาน' เมื่อจัดหมวดหมู่ภาษาการเขียนโปรแกรม) ขอบคุณ :)

2
ตารางเดี่ยวที่มีคอลัมน์เพิ่มเติมเทียบกับหลายตารางที่ทำซ้ำสคีมา
ฉันกำลังทำงานในโครงการที่บางจุดฉันจำเป็นต้องตัดสินใจว่าในฐานข้อมูลหรือไม่ฉันควรมีตารางเดียวที่มีหลายคอลัมน์ที่ไม่ใช่ทุกระเบียนที่ใช้หรือหลายตารางที่มีสคีมาซ้ำกัน ฉันกำลังสร้างแอปพลิเคชั่นข้อมูลกีฬาที่สามารถรองรับกีฬาหลายประเภท เราสามารถจัดการ NBA, NHL, MLB, NFL ได้ แต่ละกีฬามีแนวคิดที่คล้ายกันมาก - ทีม, ตารางเวลา, การบาดเจ็บ, ข้อมูลผู้เล่น .. แน่นอนแหล่งข้อมูลของเราไม่ได้ให้ข้อมูลแต่ละชิ้นในสคีมาเดียวกัน กีฬาแต่ละประเภทมีโครงสร้างที่แตกต่างกันซึ่งเราได้รับข้อมูลจากผู้ขายของเรา เนื่องจากมีเวลาไม่พอ (ความต้องการของลูกค้า) เพื่อทำการวิเคราะห์ข้อมูลล่วงหน้าเพื่อกำหนด commonalities ฉันจึงป้องกันการเดิมพันของฉันและใช้ 'เดิมพันที่ปลอดภัย' และสร้างตารางแยกสำหรับแต่ละกีฬาแต่ละชุดแทนที่จะเป็นหนึ่งชุดของตารางทั้งหมด กีฬาที่ใช้ ผลลัพธ์คือ schema ที่ซ้ำกันในหลายตารางและอินเทอร์เฟซที่ซ้ำซ้อนกับฐานข้อมูล (เช่น procs ที่เก็บไว้) เช่นกัน ฉันมีบางอย่างเช่น NBA_Game, NFL_Game, NBA_Team, NFL_Team และอื่น ๆ แต่ละตารางอาจมีคุณสมบัติบางอย่างที่อีกคนหนึ่งไม่ได้และอีกหลายคนที่ใช้ร่วมกัน มันพูดต่อไปประมาณ 5-10 ตารางจาก 4 หรือ 5 กีฬา ฉันยังไม่แน่ใจว่านี่เป็นสิ่งที่เลวร้ายหรือไม่ - ทางเลือกการมีตารางชุดเดียวซึ่งมีคุณสมบัติอยู่ในนั้นซึ่งไม่ใช่กีฬาทุกประเภทที่จะใช้อาจมีตัวของตัวเองที่เทอะทะเช่นกัน …

4
ตารางเฉพาะเหล่านี้ต้องการคีย์ตัวแทนหรือไม่
พื้นหลัง ฉันมีตารางนี้ +-------------------------+ +------------------------+ |Airport | |Country | |-------------------------| |------------------------| |airport_code string (PK) | |country_code string (PK)| |address string | |name string | |name string | +------------------------+ +-------------------------+ +-------------------------+ |Currency | |-------------------------| |currency_code string (PK)| |name string | +-------------------------+ airport_codeเป็นรหัสสนามบินIATA (สมาคมการขนส่งทางอากาศระหว่างประเทศ) คุณสามารถดูได้ในแท็กกระเป๋าของคุณเมื่อคุณเดินทางโดยเครื่องบิน country_codeคือรหัสประเทศมาตรฐาน ISO 3166-1 A3คุณสามารถดูได้ในโอลิมปิก currency_codeคือรหัสสกุลเงิน 3 ตัวอักษรมาตรฐาน IS0 …

4
สกีมาฐานข้อมูลมีการโยกย้ายปัญหาในสภาพแวดล้อมการผลิตหรือไม่
ในการอภิปรายเกี่ยวกับฐานข้อมูล NoSQL vs SQL บางครั้งฉันได้ยินว่า บริษัท ต้องการใช้ฐานข้อมูลแบบไม่มี schema ของ schemaless เนื่องจากเป็นปัญหาในการโยกย้ายสคีมาเป็นเวอร์ชันใหม่ แต่นั่นเป็นปัญหาใหญ่จริง ๆ เมื่อทำการอัพเกรด ฐานข้อมูลเชิงสัมพันธ์นั้นแย่สำหรับการดำเนินการดังกล่าวหรือไม่? ฉันอ่านโพสต์บล็อกนี้ในบล็อก MongoDB: ทำไมต้อง Schemaless

5
ทีมของฉันกลัวฐานข้อมูลเชิงสัมพันธ์ที่มีความสัมพันธ์กับต่างประเทศและฉันไม่เข้าใจว่าทำไม
ฉันค่อนข้างใหม่นอกมหาวิทยาลัยดังนั้นความคุ้นเคยกับฐานข้อมูลเชิงสัมพันธ์ส่วนใหญ่มาจากหลักสูตรฐานข้อมูลของฉันซึ่งไม่มีอะไรใน BCNF หรือ 3NF เป็นการเลียนแบบ แน่นอนว่าปลายด้านหนึ่งของสุดขั้ว แต่ทีมของฉันในที่ทำงานดูเหมือนจะนำไปสู่จุดจบที่ตรงกันข้ามอย่างสมบูรณ์ ใน microservice db schemas ของเราเอนทิตีมักจะมีมากกว่าหนึ่งตาราง สิ่งใดก็ตามที่คุณต้องการทำให้เป็นปกติในตารางอื่นจะถูกเก็บไว้ในคอลัมน์ json หากภายหลังพบว่าคุณสมบัติอย่างใดอย่างหนึ่งใน json นี้ต้องถูกสอบถามคอลัมน์ใหม่จะถูกเพิ่มและข้อมูลจะถูกเก็บไว้ในทั้งสองแห่ง (ใช่ในคอลัมน์ที่ต่างกันสองแห่งในตารางเดียวกัน) ในหลายกรณีคอลัมน์ json เหล่านี้มีข้อได้เปรียบอย่างแน่นอน หากคุณไม่จำเป็นต้องสืบค้นข้อมูลนั้นและหากคุณไม่จำเป็นต้องทำการเปลี่ยนแปลงข้อมูลข้างเดียว (ซึ่งเป็นสิ่งที่คุณไม่สามารถคาดการณ์ได้อย่างชัดเจน) นั่นไม่ใช่ความคิดที่ไม่ดี บวกกับบริการหลายอย่างของเราที่ไม่เห็นเซิร์ฟเวอร์หรือโฮสต์อยู่บนเครื่องที่มีเนื้อที่ดิสก์ลามกอนาจารสำหรับสิ่งที่พวกเขาต้องการดังนั้นการทำสำเนาข้อมูลจึงไม่ใช่ปัญหาใหญ่ (ถึงแม้ว่าสิ่งที่ฉันมักจะต้องการหลีกเลี่ยงปรัชญา) ขณะนี้เรากำลังสร้างบริการที่ตรงกับกฎตามชุดเงื่อนไขที่พวกเขาเป็นเจ้าของแล้วดำเนินการชุดของการกระทำที่เกี่ยวข้องกับกฎเหล่านั้นเมื่อกฎเป็นจริง (เช่นเงื่อนไขทั้งหมดเป็นจริง) ทีมงานย่อยของฉันที่สร้างบริการนี้ในทันทีส่วนใหญ่เชื่อว่ามีประโยชน์อย่างมากในการทำให้การดำเนินการและเงื่อนไขเป็นปกติอยู่ห่างจากกฎในสคีมา เห็นได้ชัดว่าตารางเหล่านี้รักษาความสัมพันธ์กับต่างประเทศที่สำคัญกับรหัสกฎ จากมุมมองของเราเราสามารถหลีกเลี่ยงการทำซ้ำข้อมูลในเงื่อนไขที่ทำให้เรามั่นใจได้ว่าพวกเขาจะได้รับการประเมินเพียงครั้งเดียวและเป็นเรื่องง่ายที่จะหาเงื่อนไขและกฎที่เราต้องการเมื่อต้องการโดยไม่ต้องดึงกฎออกทุกครั้ง การพูดกับหนึ่งในวิศวกรหลักของเราในวันนี้เขาพยายามผลักฉันให้ห่างจากสคีมานี้ การพยายามโต้แย้งในทุก ๆ ด้านที่เราไม่ต้องการจริง ๆ มันจะทำให้เกิดปัญหาด้านประสิทธิภาพในอนาคตโดยอ้างอิงจากหินก้อนเดียวที่เราเป็นเจ้าของนั่นคือการเลียนแบบการออกแบบ เขาอ้างถึงสิ่งที่เราทำในฐานะ "วิธีเก่า" และโต๊ะแบนที่มี json เป็น "วิธีใหม่" เขาแย้งว่าในสถานที่ที่ฉันต้องการอะตอมมิกเราไม่ต้องการมันและแทนที่จะเป็นแบบสอบถามเราควรทำหลายอย่างในความทรงจำ นี่คือหลักการออกแบบที่บริการหลายอย่างของเราปฏิบัติตามในขณะนี้ เราไม่คาดหวังว่าปริมาณข้อมูลของเราจะเติบโตอย่างมีนัยสำคัญซึ่งจะทำให้การสืบค้นของเรารวดเร็ว สิ่งที่เราคาดหวังคือเวลาที่ใช้ในการประเมินกฎและการดำเนินการ ฉันเข้าใจว่าฐานข้อมูลเชิงสัมพันธ์ที่ไม่ได้เป็นที่นิยมมากขึ้นในช่วงไม่กี่ปีที่ผ่านมา แต่แม้ในขณะที่ค้นหาข้อมูลเกี่ยวกับผลการปฏิบัติงานของความสัมพันธ์กับต่างประเทศที่สำคัญฉันไม่เห็นข้อมูลจำนวนมากที่ทำให้คดีของเขา ฉันคิดว่าพวกเขามีแนวโน้มที่จะแนะนำการทำธุรกรรมขนาดใหญ่ซึ่งอาจทำให้เกิดปัญหา …

4
มันไม่สมเหตุสมผลที่จะรวมความสัมพันธ์แบบหนึ่งต่อหนึ่งหรือไม่?
หากเรามีตาราง A ที่มีความสัมพันธ์แบบหนึ่งต่อหนึ่งกับตาราง B มันทำให้รู้สึกถึงความแตกต่างหรือไม่? หรือไม่เคยเจ็บที่จะรวมมันไว้ในตารางเดียว? ทำอย่างใดอย่างหนึ่งในสถานการณ์เหล่านี้ (สองตารางเทียบกับตารางที่รวมกันหนึ่งตาราง) ส่งผลต่อสิ่งใด ๆ ที่เกี่ยวกับรูปแบบปกติ (1NF, 2NF, 3NF ฯลฯ )

4
ฉันควรแสดงชนิดที่แจกแจงในฐานข้อมูลเชิงสัมพันธ์ได้อย่างไร?
ฉันกำลังทำงานเพื่อพัฒนาฐานข้อมูลเชิงสัมพันธ์ที่ติดตามธุรกรรมที่เกิดขึ้นบนอุปกรณ์ที่ฉันทำงานให้กับ บริษัท ของฉัน มีธุรกรรมหลายประเภทที่อาจเกิดขึ้นบนอุปกรณ์ดังนั้นเราจึงมีฟิลด์ "trans_type" ในตารางบันทึกหลักของเรา กลุ่มของฉันได้ตัดสินใจที่จะทำให้ประเภทของเขตข้อมูลนี้เป็นจำนวนเต็มและถือว่าเป็นประเภทที่ระบุ สัญชาตญาณของฉันบอกฉันว่ามันจะเป็นการดีกว่าถ้าจะทำให้ฟิลด์นี้เป็นสตริงเพื่อให้ข้อมูลฐานข้อมูลของเราอ่านได้ง่ายขึ้นและสามารถใช้งานได้ เพื่อนร่วมงานของฉันดูเหมือนจะกังวลว่าสิ่งนี้จะทำให้เกิดปัญหามากกว่าที่ควรจะเป็น การเปรียบเทียบสตริงนั้นมีค่าใช้จ่ายสูงเกินไปและความเป็นไปได้ที่จะพิมพ์ผิดก็เป็นอุปสรรคใหญ่เกินไป ดังนั้นในความเห็นของคุณเมื่อต้องจัดการกับเขตข้อมูลในฐานข้อมูลเชิงสัมพันธ์ที่เป็นค่าที่แจกแจงมันเป็นการตัดสินใจที่ดีกว่าในการออกแบบเขตข้อมูลนี้ให้เป็นจำนวนเต็มหรือสตริง? หรือมีทางเลือกอื่นที่ฉันมองข้ามไปไหม หมายเหตุ: ฐานข้อมูลที่เรากำลังใช้ไม่รองรับประเภทการแจงนับอย่างชัดเจน และซอฟต์แวร์ที่เรากำลังพัฒนาที่จะเชื่อมต่อกับฐานข้อมูลนี้เขียนใน C ++

2
การจัดการการสมัครสมาชิกยอดคงเหลือและการเปลี่ยนแปลงแผนการกำหนดราคา [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว คำนำ เป้าหมายของฉันคือการสร้างรหัสที่สามารถใช้ซ้ำได้สำหรับหลายโครงการ (และเผยแพร่บน GitHub) เพื่อจัดการการสมัครสมาชิก ฉันรู้เกี่ยวกับผู้ให้บริการการเรียกเก็บเงินแบบสไทรพ์และเกิดซ้ำ แต่นั่นไม่ใช่สิ่งที่โมดูลนี้มีเป้าหมาย มันควรจะเป็น wrapper / helper สำหรับการคำนวณยอดคงเหลือในบัญชีการแจ้งเตือนง่าย ๆ ในการต่ออายุการสมัครและจัดการการคำนวณราคา มีหลายประเทศที่คุณไม่สามารถใช้การเรียกเก็บเงินที่เกิดขึ้นเนื่องจากผู้ให้บริการหรือความเป็นไปได้ในการชำระเงินที่มีการสนับสนุนต่ำหรือไม่มีการสนับสนุนหรือมีราคาแพงเกินไป (micropayments) และมีคนที่ไม่ต้องการใช้การเรียกเก็บเงินที่เกิดขึ้นประจำ แต่ชำระค่าใช้จ่ายด้วยตนเอง / avingg ใบแจ้งหนี้ ณ สิ้นปี ดังนั้นโปรดอย่าแนะนำการเรียกเก็บเงินแบบจ่ายซ้ำ PayPal หรือบริการที่คล้ายกันซ้ำ ๆ สถานการณ์ สมมติว่าคุณมีรูปแบบที่สามารถสมัครเป็นสมาชิกแผน (เช่นUser) โมเดลนี้มีฟิลด์ที่เก็บตัวบ่งชี้ของแผนการสมัครสมาชิกที่เป็นสมาชิกในปัจจุบัน ดังนั้นในการเปลี่ยนแปลงแผนทุกครั้งการเปลี่ยนแปลงจะถูกบันทึกไว้ มีโมเดล (เช่นSubscriptionPlanChanges) ที่มีฟิลด์ต่อไปนี้บันทึกการเปลี่ยนแปลงที่กล่าวถึง: subscriberเกี่ยวข้องกับรูปแบบการสมัคร ( Userในกรณีนี้) from_plan การกำหนดตัวระบุแผนที่โมเดลมีไว้ก่อนการเปลี่ยนแปลง to_plan การกำหนดตัวระบุแผนรุ่นที่เลือกไว้ตอนนี้ created_at …

10
RDBMS จะถูกพิจารณาว่าเป็นแฟชั่นได้อย่างไร?
ทำให้คอมพิวเตอร์ A-level ของฉันเสร็จในปี 2003 และได้รับปริญญาทางคอมพิวเตอร์ในปี 2007 และเรียนรู้การค้าของฉันใน บริษัท ที่มีการใช้งาน SQL จำนวนมากฉันถูกนำเสนอแนวคิดของฐานข้อมูลเชิงสัมพันธ์ที่ใช้สำหรับการจัดเก็บ ดังนั้นแม้จะค่อนข้างใหม่ในการพัฒนาฉันก็ประหลาดใจที่จะอ่านความคิดเห็น (บนhttps://softwareengineering.stackexchange.com/q/89994/12436 ) ที่กล่าวว่า: [บาง devs] ดูถูก [SQL] และคิดว่ามันและ RDBMS เป็นแฟชั่น เห็นได้ชัดว่า dev ที่มีความสามารถจะใช้เครื่องมือที่เหมาะสมสำหรับงานที่เหมาะสมและจะไม่สร้างฐานข้อมูลเชิงสัมพันธ์เมื่อเช่นไฟล์ flat หรือโซลูชันอื่นสำหรับการจัดเก็บมีความเหมาะสม แต่ RDBMs มีประโยชน์ในสถานการณ์จำนวนมากดังนั้นพวกเขาจะเป็นอย่างไร ถือว่าเป็นแฟชั่น?

2
ต้นไม้ B เทียบกับต้นไม้ R - มันไม่ใช่แค่รายการลิงก์ที่เชื่อมโยงเข้าด้วยกันใช่ไหม
ฉันค่อนข้างคุ้นเคยกับต้นไม้ B โดยส่วนใหญ่จะต้องรักษาฐานข้อมูลที่ดีด้วยไฟฟ้าเครื่องปรับอากาศและพื้นที่ฮาร์ดไดรฟ์ ฉันเชื่อมโยงกับรายการที่เชื่อมโยงเป็นสองเท่า (เช่น [ey,]]) วันนี้หนึ่งในนักพัฒนาในมื้อกลางวันพูดถึงต้นไม้ R ฉันกระโดดวิกิพีเดียและเริ่มอ่าน มันฟังดูน่ากลัวเหมือนต้นไม้ B ที่สูงขึ้น น่าเสียดายที่การไม่มีพื้นฐานทางคณิตศาสตร์ที่ลึกทำให้ยากที่จะเข้าใจในสิ่งที่เพื่อนร่วมงานของฉันพูดถึง ฉันหวังว่าถ้ามีคนสามารถอธิบายความแตกต่างเล็กน้อยระหว่างต้นไม้ B และต้นไม้ R ฉันอาจจะจบลงด้วยการถามพวกคนต่อไป แต่ไม่มีการรับประกันว่าพวกเขาจะตอบคำถามของฉัน พวกเขาจะเริ่มท่องจำเกี่ยวกับพระเจ้ามากกว่าจะรู้ . .

1
สามารถใช้พีชคณิต / แคลคูลัสเชิงสัมพันธ์เพื่อทดสอบ / ตรวจสอบ SQL ได้หรือไม่?
มันเป็นไปได้หรือเป็นไปได้ที่จะใช้พีชคณิตเชิงสัมพันธ์และ / หรือแคลคูลัสเชิงสัมพันธ์ในรูปแบบของการพิสูจน์เพื่อทดสอบ / ตรวจสอบความถูกต้องของคำสั่ง SQL ฟังก์ชั่นและขั้นตอนการจัดเก็บ? ดูเหมือนว่าฉันควรจะเป็นไปได้อย่างน้อยที่สุด แต่ฉันไม่รู้ว่ามีรายละเอียดที่ฉันทำหายไปหรือไม่นั่นทำให้การแมป 1: 1 ระหว่างการพิสูจน์และรหัสไม่ถูกต้อง คุณเคยลองวิธีนี้บ้างไหม? มันใช้งานได้หรือ ประสบการณ์ของคุณเป็นอย่างไร

2
คุณภาพข้อมูลในการทดสอบการถดถอยฐานข้อมูลเชิงสัมพันธ์
ฉันทำงานกับเว็บแอปพลิเคชันการจัดการคอลเล็กชั่นโอเพนซอร์ซที่ใช้เพื่อติดตามการบริจาคบริจาคให้ยืมหรือซื้อสิ่งของอื่น ๆ ของพิพิธภัณฑ์ สิ่งนี้เกี่ยวข้องกับการออกแบบและสร้างฐานข้อมูลที่ค่อนข้างใหญ่ (เมื่อเทียบกับประสบการณ์ก่อนหน้าของฉัน) ซึ่งเก็บข้อมูลที่หลากหลายทุกชนิด (ข้อมูลสิ่งประดิษฐ์การเปลี่ยนข้อมูลสถานที่ข้อมูลการติดต่อส่วนบุคคลรูปภาพ ฯลฯ ) ซึ่งต้องยืดหยุ่นและขยายได้อย่างง่ายดาย . ฉันเพิ่งจบระดับมหาวิทยาลัยของฉันและฉันไม่ใช่มืออาชีพเมื่อพูดถึงการออกแบบฐานข้อมูลและดังนั้นฉันจึงต้องการสร้างชุดทดสอบอย่างละเอียดเพื่อให้แน่ใจว่าสิ่งที่ฉันมี "การทำงาน" ฉันได้อ่านข้อมูลเกี่ยวกับการทดสอบฐานข้อมูลและพบบทความเล็ก ๆ น้อย ๆ ที่กล่าวถึงการทดสอบการถดถอยเกี่ยวกับฐานข้อมูล แต่ฉันไม่เข้าใจสิ่งที่เกี่ยวข้องทั้งหมด จากการอ่านบทความนี้ที่ Dr.Dobbsฉันเข้าใจว่าการทดสอบประเภทหนึ่งที่ฉันต้องทำคือการตรวจสอบว่าตรรกะในฐานข้อมูลนั้นถูกต้อง ดังนั้นฉันจะสร้างการทดสอบที่แทรกข้อมูลบางอย่างลงในฐานข้อมูลแล้วติดตามด้วยแบบสอบถามเพื่อให้แน่ใจว่าฉันได้รับข้อมูลที่ถูกต้องกลับมาจากฐานข้อมูล (รับรองว่าทริกเกอร์หรือมุมมองที่เหมาะสมทั้งหมดทำงาน) ความสับสนเกิดขึ้นจากการทดสอบ "คุณภาพข้อมูล" ในบทความข้างต้นผู้เขียนพูดถึงว่าคุณต้องการตรวจสอบต่อไปนี้ด้วยการทดสอบ: กฎค่าโดเมนคอลัมน์ กฎค่าเริ่มต้นของคอลัมน์ กฎการดำรงอยู่ของค่า กฎค่าแถว ขนาดกฎ การทดสอบประเภทนี้เกี่ยวข้องกับอะไรและจะนำไปใช้อย่างไร นี่เป็นครั้งแรกที่ฉันเขียนชุดทดสอบสำหรับฐานข้อมูลมีแนวทางใดที่ดีในการเริ่มต้นหรือกระบวนการใด ๆ ที่ฉันสามารถทำตามเพื่อเป็นแนวทางในการพัฒนาการทดสอบของฉัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.