คำถามติดแท็ก hierarchical-data

7
ตัวเลือกสำหรับการจัดเก็บข้อมูลแบบลำดับชั้นในฐานข้อมูลเชิงสัมพันธ์คืออะไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน10 เดือนที่ผ่านมา ภาพรวมที่ดี โดยทั่วไปคุณกำลังตัดสินใจระหว่างเวลาอ่านเร็ว (ตัวอย่างเช่นชุดซ้อน) หรือเวลาเขียนเร็ว (รายการ adjacency) โดยปกติแล้วคุณจะพบกับตัวเลือกด้านล่างที่ตรงกับความต้องการของคุณมากที่สุด ต่อไปนี้จะให้การอ่านเชิงลึกบางอย่าง: หนึ่งช่วงเวลาซ้อนกับการเปรียบเทียบรายการ Adjacency : การเปรียบเทียบรายการ Adjacency ที่ดีที่สุด , เส้นทาง Materialized, ชุดซ้อนและช่วงซ้อนที่ฉันพบ แบบจำลองสำหรับข้อมูลลำดับชั้น : สไลด์พร้อมคำอธิบายที่ดีของการแลกเปลี่ยนและการใช้ตัวอย่าง แสดงลำดับชั้นใน MySQL : ภาพรวมที่ดีมากของชุดซ้อนโดยเฉพาะ ข้อมูลลำดับชั้นใน RDBMSs : ชุดลิงก์ที่ครอบคลุมและมีการจัดการที่ดีที่สุดที่ฉันเคยเห็น แต่ไม่ได้อธิบายมากนัก ตัวเลือก คนที่ฉันรู้จักและคุณสมบัติทั่วไป: รายการคำคุณศัพท์ : คอลัมน์: ID, ParentID ใช้งานง่าย โหนดถูกย้ายแทรกและลบ มีราคาแพงในการค้นหาระดับบรรพบุรุษและลูกหลานเส้นทาง หลีกเลี่ยง N + …

14
วิธีที่มีประสิทธิภาพ / สง่างามที่สุดในการวิเคราะห์ตารางแบนเป็นต้นไม้คืออะไร?
สมมติว่าคุณมีตารางแบนที่จัดเก็บลำดับชั้นต้นไม้ที่สั่งซื้อ: Id Name ParentId Order 1 'Node 1' 0 10 2 'Node 1.1' 1 10 3 'Node 2' 0 20 4 'Node 1.1.1' 2 10 5 'Node 2.1' 3 10 6 'Node 1.2' 1 20 [id] Nameนี่คือแผนภาพที่เรามี รูตโหนด 0 เป็นแบบสมมติ [0] รูท / \ [1] โหนด 1 [3] โหนด 2 …

15
วิธีการสร้างแบบสอบถามแบบเรียกซ้ำ MySQL ลำดับชั้น
ฉันมีตาราง MySQL ซึ่งเป็นดังนี้: id | name | parent_id 19 | category1 | 0 20 | category2 | 19 21 | category3 | 20 22 | category4 | 21 ...... ตอนนี้ฉันต้องการมีแบบสอบถาม MySQL เดียวที่ฉันเพียงแค่ใส่รหัส [ตัวอย่างเช่นพูดว่า 'id = 19'] จากนั้นฉันควรจะได้รับรหัสลูกทั้งหมดของมัน ... นอกจากนี้ลำดับชั้นของเด็ก ๆ ยังไม่เป็นที่ทราบว่าสามารถเปลี่ยนแปลงได้ นอกจากนี้ฉันมีวิธีการใช้สำหรับวนลูป ..... ให้ฉันรู้วิธีการบรรลุเดียวกันโดยใช้แบบสอบถาม MySQL เดียวถ้าเป็นไปได้

5
วิธีที่ง่ายที่สุดในการเข้าร่วมด้วยตนเองแบบเรียกซ้ำ?
วิธีที่ง่ายที่สุดในการเข้าร่วมด้วยตนเองแบบเรียกซ้ำใน SQL Server คืออะไร ฉันมีโต๊ะแบบนี้: PersonID | Initials | ParentID 1 CJ NULL 2 EB 1 3 MB 1 4 SW 2 5 YT NULL 6 IS 5 และฉันต้องการรับเรกคอร์ดที่เกี่ยวข้องกับลำดับชั้นโดยเริ่มจากบุคคลที่ระบุเท่านั้น ดังนั้นหากฉันขอลำดับชั้นของ CJ ตาม PersonID = 1 ฉันจะได้รับ: PersonID | Initials | ParentID 1 CJ NULL 2 EB 1 3 MB 1 …

8
มีวิธีแปลงคอลัมน์ CSV เป็นความสัมพันธ์แบบลำดับชั้นหรือไม่
ฉันมีบันทึกความหลากหลายทางชีวภาพ 7 ล้าน csv ซึ่งระดับอนุกรมวิธานเป็นคอลัมน์ ตัวอย่างเช่น RecordID,kingdom,phylum,class,order,family,genus,species 1,Animalia,Chordata,Mammalia,Primates,Hominidae,Homo,Homo sapiens 2,Animalia,Chordata,Mammalia,Carnivora,Canidae,Canis,Canis 3,Plantae,nan,Magnoliopsida,Brassicales,Brassicaceae,Arabidopsis,Arabidopsis thaliana 4,Plantae,nan,Magnoliopsida,Fabales,Fabaceae,Phaseoulus,Phaseolus vulgaris ฉันต้องการสร้างการสร้างภาพข้อมูลใน D3 แต่รูปแบบข้อมูลจะต้องเป็นเครือข่ายโดยที่แต่ละคอลัมน์มีค่าต่างกันเป็นลูกของคอลัมน์ก่อนหน้าสำหรับค่าที่แน่นอน ฉันต้องเปลี่ยนจาก csv เป็นอย่างนี้: { name: 'Animalia', children: [{ name: 'Chordata', children: [{ name: 'Mammalia', children: [{ name: 'Primates', children: 'Hominidae' }, { name: 'Carnivora', children: 'Canidae' }] }] }] } ฉันไม่ได้คิดเกี่ยวกับวิธีการทำสิ่งนี้โดยไม่ใช้ลูปเป็นพัน ไม่มีใครมีข้อเสนอแนะเกี่ยวกับวิธีการสร้างเครือข่ายนี้ในหลามหรือจาวาสคริปต์?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.