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

6
สิ่งที่ใช้เป็นกลุ่ม, monoids, และเสียงเรียกเข้าในการคำนวณฐานข้อมูล?
ทำไม บริษัท เช่น Twitter ถึงสนใจในแนวคิดเกี่ยวกับพีชคณิตเช่นกลุ่ม, monoids และ ring? ดูพื้นที่เก็บข้อมูลของพวกเขาที่GitHub: Twitter / algebird สิ่งที่ฉันหาได้คือ: การดําเนินการของ Monoids สำหรับขั้นตอนวิธีการประมาณที่น่าสนใจเช่นกรองบลูม , HyperLogLogและCountMinSketch สิ่งเหล่านี้ช่วยให้คุณคิดถึงการดำเนินการที่ซับซ้อนเหล่านี้เช่นคุณอาจใช้ตัวเลขและเพิ่มพวกมันใน hadoop หรือออนไลน์เพื่อสร้างสถิติและการวิเคราะห์ที่มีประสิทธิภาพ และอีกส่วนหนึ่งของหน้า GitHub: มันได้รับการพัฒนามาเป็นส่วนหนึ่งของลวกของเมทริกซ์ API ที่เมทริกซ์มีค่าซึ่งเป็นองค์ประกอบของ Monoids , กลุ่มหรือแหวน ต่อจากนั้นเป็นที่ชัดเจนว่ารหัสมีแอปพลิเคชันที่กว้างขึ้นภายใน Scalding และโครงการอื่น ๆ ภายใน Twitter แอปพลิเคชันที่กว้างขึ้นนี้จะเป็นอย่างไร ภายใน Twitter และเพื่อความสนใจทั่วไป ดูเหมือนว่าการรวมองค์ประกอบของฐานข้อมูลจะมีโครงสร้างคล้าย monoid คำถามเดียวกันเกี่ยวกับ Quora: อะไรคือความสนใจของ Twitter ในพีชคณิตนามธรรม (กับ algebird)? ฉันมีพื้นฐานทางคณิตศาสตร์ แต่ฉันไม่ใช่นักวิทยาศาสตร์คอมพิวเตอร์ …

3
เคียวรีย่อยเพิ่มพลังการแสดงออกให้กับเคียวรี SQL หรือไม่?
SQL ต้องการเคียวรีย่อยหรือไม่? ลองนึกภาพการนำภาษาคิวรีที่มีโครงสร้างมาใช้อย่างพอเพียงสำหรับฐานข้อมูลที่เกี่ยวข้อง เนื่องจากโครงสร้างของSELECTคำสั่งcanonical SQL นั้นค่อนข้างสำคัญสำหรับเรื่องนี้ฉันจึงไม่สนใจโดยตรงกับพีชคณิตเชิงสัมพันธ์ แต่คุณสามารถใส่กรอบนี้ในเทอมเหล่านั้นโดยกำหนดข้อ จำกัด ที่เหมาะสมในรูปแบบของนิพจน์ SQL แบบSELECTแบบสอบถามโดยทั่วไปประกอบด้วยการฉาย (คนSELECTส่วน) จำนวนบางส่วนของJOINการดำเนินงาน (คนJOINส่วน) จำนวนของSELECTION การดำเนินงาน (ใน SQL ที่WHEREคำสั่ง) และจากนั้นตั้งฉลาดการดำเนินงาน ( UNION, EXCEPT, INTERSECTฯลฯ ) ตามมาด้วยอีกSELECTแบบสอบถามSQL ตารางที่เข้าร่วมสามารถเป็นผลลัพธ์ของนิพจน์ที่คำนวณได้ กล่าวอีกนัยหนึ่งเราสามารถมีคำสั่งเช่น: SELECT t1.name, t2.address FROM table1 AS t1 JOIN (SELECT id, address FROM table2 AS t3 WHERE t3.id = t1.id) AS t2 WHERE …

6
การสร้างชุดค่าผสมจากชุดคู่โดยไม่มีการทำซ้ำองค์ประกอบ
ฉันมีชุดของคู่ แต่ละคู่เป็นรูปแบบ (x, y) เช่นว่า x, y [0,n)เป็นจำนวนเต็มจากช่วง ดังนั้นถ้า n คือ 4 ดังนั้นฉันมีคู่ต่อไปนี้: (0,1) (0,2) (0,3) (1,2) (1,3) (2,3) ฉันมีคู่แล้ว ตอนนี้ฉันต้องสร้างชุดค่าผสมโดยใช้n/2คู่ที่ไม่มีจำนวนเต็มซ้ำ (กล่าวอีกอย่างหนึ่งว่าจำนวนเต็มแต่ละค่าปรากฏอย่างน้อยหนึ่งครั้งในชุดค่าผสมสุดท้าย) ต่อไปนี้เป็นตัวอย่างของชุดค่าผสมที่ถูกต้องและไม่ถูกต้องเพื่อความเข้าใจที่ดีขึ้น 1. (0,1)(1,2) [Invalid as 3 does not occur anywhere] 2. (0,2)(1,3) [Correct] 3. (1,3)(0,2) [Same as 2] มีคนแนะนำฉันถึงวิธีในการสร้างชุดค่าผสมที่เป็นไปได้ทั้งหมดเมื่อฉันมีคู่

3
ส่วนขยายของการดักจับ SQL
ตามImmermanคลาสความซับซ้อนที่เกี่ยวข้องกับการสืบค้นSQLนั้นเป็นคลาสของการสืบค้นที่ปลอดภัยใน (แบบสอบถามที่มีคำสั่งซื้อครั้งแรก (กล่าวอีกนัยหนึ่งแบบสอบถาม SQL ทั้งหมดมีความซับซ้อนในและปัญหาทั้งหมดในสามารถแสดงเป็นแบบสอบถาม SQL ได้)Q ( F O ( C O U N T ) )Q(FO(คOยูยังไม่มีข้อความT))\mathsf{Q(FO(COUNT))}Q ( F O ( C O U N T ) )Q(FO(คOยูยังไม่มีข้อความT))\mathsf{Q(FO(COUNT))}Q ( F O ( C O U N T ) )Q(FO(คOยูยังไม่มีข้อความT))\mathsf{Q(FO(COUNT))} จากผลลัพธ์นี้จากมุมมองทางทฤษฎีมีปัญหาที่น่าสนใจมากมายที่สามารถแก้ไขได้อย่างมีประสิทธิภาพ แต่ไม่สามารถแสดงออกได้ใน SQL ดังนั้นส่วนเสริมของ SQL ที่ยังคงมีประสิทธิภาพน่าสนใจ ดังนั้นนี่คือคำถามของฉัน: มีส่วนขยายของ SQL (ถูกนำไปใช้และใช้ในอุตสาหกรรม …

2
การดำเนินการ 'ความแตกต่าง' เพิ่มความหมายให้กับภาษาคิวรีที่มี 'เข้าร่วม' อยู่แล้วหรือไม่?
ตัวดำเนินการที่ตั้งค่าความแตกต่าง (เช่นEXCEPTในตัวแปร SQL บางตัว) เป็นหนึ่งในตัวดำเนินการพื้นฐานจำนวนมากของพีชคณิตเชิงสัมพันธ์ อย่างไรก็ตามมีฐานข้อมูลบางอย่างที่ไม่สนับสนุนตัวดำเนินการความแตกต่างโดยตรง แต่การสนับสนุนLEFT JOIN(ชนิดของการรวมภายนอก) และในทางปฏิบัติสามารถใช้แทนการตั้งค่าความแตกต่างเพื่อให้ได้ผลเช่นเดียวกัน สิ่งนี้หมายความว่าพลังการแสดงออกของภาษาแบบสอบถามเหมือนกันแม้ว่าจะไม่มีตัวดำเนินการความแตกต่างที่กำหนดไว้ตราบใดที่LEFT JOINยังคงมีการใช้งานตัวดำเนินการอยู่ เราจะพิสูจน์ความจริงข้อนี้ได้อย่างไร?

1
เกี่ยวกับอัลกอริทึมการลดของ Codd
อัลกอริธึมของ Coddแปลงนิพจน์ในแคลคูลัสเชิงสัมพันธ์ tuple เป็นพีชคณิตเชิงสัมพันธ์ มีการใช้อัลกอริทึมแบบมาตรฐานหรือไม่? อัลกอริทึมนี้ถูกใช้งานทุกที่หรือไม่? (ดูเหมือนว่าอุตสาหกรรมต้องการเพียง SQL และตัวแปรเท่านั้นฉันไม่แน่ใจเกี่ยวกับทฤษฎีฐานข้อมูลในสถาบันการศึกษา) ความซับซ้อนของการลดคืออะไร? สิ่งนี้ถูกโพสต์บนSOเมื่อกว่าปีที่แล้ว แต่มันไม่ได้รับคำตอบที่ดี

1
สามารถเชื่อมต่อแบบขนานได้หรือไม่?
สมมติว่าเราต้องการเข้าร่วมความสัมพันธ์สองเรื่องในภาคแสดง อยู่ใน NC หรือเปล่า ฉันรู้ว่าการพิสูจน์ว่ามันไม่ได้อยู่ในอร์ทแคโรไลนาก็เท่ากับการพิสูจน์ว่าดังนั้นฉันจึงยอมรับหลักฐานว่ามันเป็นปัญหาแบบเปิดเป็นคำตอบP≠NCP≠NCP\not=NC ฉันสนใจกรณีทั่วไปและกรณีเฉพาะ (เช่นอาจมีโครงสร้างข้อมูลเฉพาะบางอย่างที่สามารถขนานกันได้) แก้ไข: เพื่อนำคำชี้แจงบางอย่างจากความคิดเห็นมาไว้ในโพสต์นี้: เราสามารถพิจารณา equijoin A.x=B.yA.x=B.yA.x = B.yโดย ในโปรเซสเซอร์เดียวอัลกอริทึมแบบแฮชจะทำงานในO(|A|+|B|)O(|A|+|B|)O(|A|+|B|)และนี่คือวิธีที่ดีที่สุดที่เราสามารถทำได้เนื่องจากเราต้องอ่านแต่ละชุด ถ้าภาคแสดงเป็น "กล่องดำ" ที่เราต้องตรวจสอบแต่ละคู่จะมีคู่และแต่ละคนสามารถอยู่ในหรือไม่ดังนั้นความเป็นไปได้ การตรวจสอบแต่ละคู่แบ่งความเป็นไปได้ในช่วงครึ่งดังนั้นดีที่สุดที่เราสามารถทำได้คือ(AB)|A|⋅|B||A|⋅|B||A|\cdot|B|2ab2ab2^{ab}O(ab)O(ab)O(ab) สามารถเข้าร่วม (หรือประเภทที่สามบางส่วน) เหล่านี้เพื่อปรับปรุงเป็นในโปรเซสเซอร์หลายตัวได้หรือไม่?logknlogk⁡n\log^k n
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.