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

แท็กนี้สำหรับคำถามฐานข้อมูลทั่วไป หากคำถามของคุณเฉพาะกับ SQL ให้ใช้แท็กนั้นแทน

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

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

3
คุณจัดการมิติฐานข้อมูลที่เปลี่ยนแปลงตลอดเวลาอย่างไร
ในช่วงสองเดือนที่ผ่านมาฉันกำลังมองหาโซลูชันหรือแนวทางปฏิบัติเพื่อจัดการการจัดการการเผยแพร่ภายในฐานข้อมูล ฉันกำลังมองหาสิ่งที่ผู้คนมองว่าเป็นกระบวนการที่ดีที่สุดในการจัดการสิ่งนี้ เรามี 3 สภาพแวดล้อมสำหรับฐานข้อมูลของเรา: พัฒนาการ การทดสอบการยอมรับของผู้ใช้ (UAT) การผลิต ปัญหาคือบางครั้งเรากำลังเปลี่ยนแปลงสิ่งต่าง ๆ ภายในฐานข้อมูลการพัฒนาของเราและเวลาในการปรับใช้คุณสมบัติบางอย่างอาจไม่พร้อมที่จะนำไปใช้กับ UAT เมื่อเร็ว ๆ นี้เราได้เริ่มใช้การควบคุมแหล่งที่มาของ Red Gate SQL สำหรับการจัดเก็บเอนทิตีทั้งหมดของเรา ฉันคิดว่าจะไปตามชุดการเปลี่ยนแปลง (เช่นบอกว่าทุกอย่างจากเซ็ตการแก้ไข X และตอนนี้กลับถูกผลักไปที่ UAT) อย่างไรก็ตามนี่หมายความว่าผู้คนกำลังตรวจสอบรหัสของพวกเขาในการควบคุมซอร์สก่อนที่เราจะปรับใช้ซึ่งทำให้เกิดความสับสน โดยเฉพาะอย่างยิ่งเมื่อคนลืม) ปัญหาอีกประการหนึ่งที่เกิดขึ้นกับวิธีเซ็ตการแก้ไขคือหากมีข้อผิดพลาดในขั้นตอนการจัดเก็บที่จำเป็นต้องแก้ไขหมายเลขเซ็ตการแก้ไขจะจบลงด้วยการไม่อยู่ในขอบเขตของเซ็ตการแก้ไขสูงสุดของเราสำหรับการแก้ไขดังนั้น สร้างฐานข้อมูลใหม่จากเซ็ตการแก้ไขสูงสุดเราจะผลักดันข้อผิดพลาดออกไปอีกครั้ง ข้อเสนอแนะใด ๆ เกี่ยวกับกระบวนการ? ขอบคุณ

8
สแกนหนึ่งล้านแถวในฐานข้อมูลที่รวดเร็ว
พื้นหลัง ฐานข้อมูลท้องถิ่นมีแถวที่ไม่ซ้ำกันเกือบ 1.3 พันล้านแถว แต่ละแถวมีความสัมพันธ์ทางอ้อมกับละติจูดและลองจิจูดเฉพาะ (ตำแหน่ง) แต่ละแถวมีการประทับวันที่ ใช้ Case ปัญหาดังต่อไปนี้: ผู้ใช้ตั้งวันที่เริ่มต้น / สิ้นสุดและช่วงของค่า (เช่น 100 ถึง 105) ระบบรวบรวมแถวทั้งหมดที่ตรงกับวันที่กำหนดจัดกลุ่มตามสถานที่ ระบบดำเนินการกำหนดสถานที่ที่ในช่วงวันที่เหล่านั้นมีความเป็นไปได้ทางสถิติของการตกอยู่ในช่วงของค่าที่กำหนด ระบบจะแสดงตำแหน่งที่ตรงกันทั้งหมดให้กับผู้ใช้ นี่เป็นปัญหาของความเร็วและสเกล คำถาม สถาปัตยกรรมโซลูชันที่มีราคาแพงน้อยที่สุดที่คุณสามารถจินตนาการได้ว่าจะอนุญาตให้ระบบดังกล่าวดึงข้อมูลผลลัพธ์สำหรับผู้ใช้ในเวลาไม่เกินห้าวินาทีคืออะไร ระบบปัจจุบัน สภาพแวดล้อมปัจจุบัน: PostgreSQL 8.4 (สามารถปรับรุ่นได้การสลับฐานข้อมูลไม่ใช่ตัวเลือก) R และ PL / R XFS WD VelociRaptor RAM 8 GB (Corsair G.Skill; 1.3 GHz) Quad core GenuineIntel 7 (2.8 GHz) Ubuntu …

3
วิธีจัดการการเปลี่ยนแปลงสกีมาของฐานข้อมูลในการเปิดตัวโครงการโอเพ่นซอร์ส
ฉันจัดการโปรแกรมประยุกต์ PHP / MySQL เว็บแบบโอเพนซอร์ซที่ใช้โดยโรงเรียน K-12 และวิทยาลัยบางแห่ง ฉันยังเป็นผู้พัฒนาโครงการเท่านั้น ในขณะที่มันเคยเป็นมากกว่าการดาวน์โหลดต้นฉบับของแอปพลิเคชันที่นายจ้างของฉันโฮสต์ฉันได้ทำงานในช่วงปีที่ผ่านมาเพื่อให้เป็นโครงการโอเพ่นซอร์ส "ของจริง" พร้อมเอกสารประกอบการเผยแพร่หมายเลขการเปลี่ยนแปลงสาธารณะ ฯลฯ ฉันกำลังมองหาเพื่อปรับปรุงกระบวนการอัพเกรดและหนึ่งในพื้นที่ที่อาจเจ็บปวด (โดยเฉพาะอย่างยิ่งสำหรับโรงเรียนที่มีความเชี่ยวชาญด้านไอที) คือการเปลี่ยนแปลงโครงสร้างฐานข้อมูลระหว่างรุ่นต่างๆ พวกเขามักจะไม่เกิดขึ้นบ่อยหรือมีการเปลี่ยนแปลงที่รุนแรง แต่ฉันขอขอบคุณข้อเสนอแนะเกี่ยวกับกระบวนการ ขณะนี้ฉันยังคงสคริปต์ฐานติดตั้ง SQL ไว้เพื่อติดตั้งฐานข้อมูลในการติดตั้งใหม่ ซึ่งรวมถึงสคีมาที่สมบูรณ์สำหรับรุ่นปัจจุบัน ไม่จำเป็นต้องดำเนินการใด ๆ สำหรับการติดตั้งใหม่ การเปลี่ยนแปลงที่เกิดขึ้นระหว่างการเผยแพร่จะถูกเก็บไว้ในupgrade-$releasever.sqlสคริปต์และจำเป็นต้องเรียกใช้สคริปต์การอัปเกรดทั้งหมดสำหรับการเผยแพร่ที่ถูกข้ามไป เชลล์สคริปไม่ค่อยเหมาะสมนักเนื่องจากผู้ใช้ของเราจำนวนมากทำงานบนโฮสต์ที่ไม่มีการเข้าถึงเชลล์ เนื่องจากลำดับความสำคัญอื่น ๆ สคริปต์ติดตั้ง / อัพเกรดที่ใช้เบราว์เซอร์ PHP ที่ซับซ้อนจึงไม่น่าจะเกิดขึ้นได้ อย่างไรก็ตามฉันต้องการทำบางสิ่งกับสคริปต์ PHP ที่ใช้เบราว์เซอร์เพื่อทำให้การอัพเกรดง่ายขึ้น คำแนะนำเกี่ยวกับวิธีการเข้าถึง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.