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

การออกแบบฐานข้อมูลเป็นกระบวนการในการระบุโครงสร้างและด้านตรรกะของฐานข้อมูล เป้าหมายของการออกแบบฐานข้อมูลคือการแสดง "จักรวาลแห่งวาทกรรม" - ประเภทของข้อเท็จจริงกฎเกณฑ์ทางธุรกิจและข้อกำหนดอื่น ๆ ที่ฐานข้อมูลมีวัตถุประสงค์เพื่อเป็นแบบจำลอง

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

23
ข้อตกลงการตั้งชื่อฐานข้อมูลตารางและคอลัมน์? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา เมื่อใดก็ตามที่ฉันออกแบบฐานข้อมูลฉันมักจะสงสัยว่ามีวิธีที่ดีที่สุดในการตั้งชื่อรายการในฐานข้อมูลของฉัน บ่อยครั้งที่ฉันถามตัวเองคำถามต่อไปนี้: ชื่อตารางควรเป็นพหูพจน์หรือไม่ ชื่อคอลัมน์ควรเป็นเอกพจน์หรือไม่ ฉันควรใส่คำนำหน้าตารางหรือคอลัมน์หรือไม่ ฉันควรใช้เคสใด ๆ ในการตั้งชื่อไอเท็มหรือไม่? มีแนวทางที่แนะนำสำหรับการตั้งชื่อไอเท็มในฐานข้อมูลหรือไม่?

6
MongoDB กับ Cassandra [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ฉันกำลังประเมินสิ่งที่อาจเป็นตัวเลือกการโยกย้ายที่ดีที่สุด ขณะนี้ฉันอยู่ใน MySQL (พาร์ติชันแนวนอน) ที่ถูกแบ่งส่วนด้วยข้อมูลส่วนใหญ่ของฉันที่จัดเก็บใน JSON blobs ฉันไม่มีการสืบค้น SQL ที่ซับซ้อนใด ๆ (หลังจากย้ายไปแล้วตั้งแต่ฉันแบ่งพาร์ติชัน db) ตอนนี้ดูเหมือนว่าทั้ง MongoDB และ Cassandra น่าจะเป็นทางเลือก สถานการณ์ของฉัน: มีการอ่านจำนวนมากในทุกข้อความค้นหามีการเขียนน้อยกว่าปกติ ไม่กังวลเกี่ยวกับความสามารถในการขยายขนาดใหญ่ มีความกังวลเกี่ยวกับการตั้งค่าการบำรุงรักษาและรหัสอย่างง่าย ลดค่าใช้จ่ายด้านฮาร์ดแวร์ / เซิร์ฟเวอร์ให้น้อยที่สุด

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

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

21
ชนิดข้อมูลที่เหมาะสมที่สุดที่จะใช้เมื่อเก็บละติจูด / ลองจิจูดในฐานข้อมูล MySQL คืออะไร
จำไว้ว่าฉันจะทำการคำนวณกับคู่ lat / long ประเภทข้อมูลที่เหมาะสมที่สุดสำหรับใช้กับฐานข้อมูล MySQL?


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

14
สร้างไดอะแกรมฐานข้อมูลอัตโนมัติ MySQL [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันเบื่อที่จะเปิด Dia และสร้างไดอะแกรมฐานข้อมูลที่จุดเริ่มต้นของทุกโครงการ มีเครื่องมือที่จะให้ฉันเลือกตารางเฉพาะแล้วสร้างไดอะแกรมฐานข้อมูลสำหรับฉันตามฐานข้อมูล MySQL หรือไม่ จะให้ฉันแก้ไขไดอะแกรมหลังจากนั้นเนื่องจากไม่มีการตั้งค่าคีย์ต่างประเทศ ... นี่คือสิ่งที่ฉันกำลังทำแผนภาพฉลาด (โปรดแก้ตัวการออกแบบข้อมูลที่น่ากลัวฉันไม่ได้ออกแบบลองจดจ่อกับแนวคิดของแผนภาพและไม่ได้อยู่ในข้อมูลจริงที่มันแสดงให้เห็นสำหรับตัวอย่างนี้;)): ดูแผนภาพขนาดเต็ม

14
แต่ละตารางควรมีคีย์หลักหรือไม่
ฉันกำลังสร้างตารางฐานข้อมูลและฉันไม่ได้รับคีย์หลักแบบลอจิคัล ดังนั้นฉันจึงคิดที่จะทิ้งมันไว้โดยไม่มีกุญแจหลัก แต่ฉันก็รู้สึกผิดเล็กน้อย ฉันควร? แต่ละตารางควรมีคีย์หลักหรือไม่

7
อะไรคือแนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้ GUID เป็นคีย์หลักโดยเฉพาะเกี่ยวกับประสิทธิภาพ
ฉันมีแอปพลิเคชันที่ใช้ GUID เป็นคีย์หลักในเกือบทุกตารางและฉันได้อ่านว่ามีปัญหาเกี่ยวกับประสิทธิภาพเมื่อใช้ GUID เป็นคีย์หลัก จริงๆแล้วฉันไม่ได้เห็นปัญหาใด ๆ แต่ฉันกำลังจะเริ่มแอปพลิเคชันใหม่และฉันยังต้องการใช้ GUID เป็นคีย์หลัก แต่ฉันคิดว่าจะใช้ Composite Primary Key (The GUID และอาจเป็นอีกเขตข้อมูลหนึ่ง .) ฉันใช้ GUID เพราะดีและง่ายต่อการจัดการเมื่อคุณมีสภาพแวดล้อมที่แตกต่างกันเช่นฐานข้อมูล "การผลิต" "การทดสอบ" และ "dev" และสำหรับการย้ายข้อมูลระหว่างฐานข้อมูล ฉันจะใช้ Entity Framework 4.3 และฉันต้องการกำหนด Guid ในรหัสแอปพลิเคชันก่อนที่จะแทรกลงในฐานข้อมูล (เช่นฉันไม่ต้องการให้ SQL สร้าง Guid) แนวปฏิบัติที่ดีที่สุดสำหรับการสร้างคีย์หลักที่ใช้ GUID คืออะไรเพื่อหลีกเลี่ยงการพบว่ามีประสิทธิภาพที่เกี่ยวข้องกับวิธีการนี้

7
ความยาวสูงสุดของละติจูดและลองจิจูดคืออะไร?
ละติจูดและลองจิจูดสามารถอยู่ได้นานเท่าไร ฉันได้รับความยาวนานมากที่อุปกรณ์ Windows Phone ส่งมา: Latitude=-63572375290155 Longitude=106744840359415 นี่เกินขนาดคอลัมน์ตารางของฉันและฉันได้รับข้อผิดพลาด

4
ชุดอักขระและการเปรียบเทียบหมายถึงอะไรอย่างแน่นอน
ฉันสามารถอ่านเอกสารMySQLและมันค่อนข้างชัดเจน แต่เราจะตัดสินใจได้อย่างไรว่าจะใช้อักขระตัวใด การเปรียบเทียบการจัดเรียงข้อมูลมีผลอย่างไร ฉันขอคำอธิบายของทั้งสองและวิธีการเลือกพวกเขา

12
กิจกรรมที่เกิดซ้ำ / ทำซ้ำปฏิทิน - วิธีการเก็บข้อมูลที่ดีที่สุด
ฉันกำลังสร้างระบบเหตุการณ์ที่กำหนดเองและหากคุณมีเหตุการณ์ซ้ำที่มีลักษณะเช่นนี้: กิจกรรม A ซ้ำทุก 4 วันเริ่มตั้งแต่ 3 มีนาคม 2554 หรือ กิจกรรม B ซ้ำทุก 2 สัปดาห์ในวันอังคารเริ่มตั้งแต่วันที่ 1 มีนาคม 2011 ฉันจะเก็บสิ่งนั้นไว้ในฐานข้อมูลในลักษณะที่จะทำให้ง่ายต่อการค้นหา ฉันไม่ต้องการปัญหาเกี่ยวกับประสิทธิภาพหากมีเหตุการณ์จำนวนมากและฉันต้องผ่านแต่ละเหตุการณ์เมื่อเรนเดอร์ปฏิทิน

5
OLTP และ OLAP คืออะไร ความแตกต่างระหว่างพวกเขาคืออะไร?
จริงๆแล้วพวกเขาหมายถึงอะไร? บทความทั้งหมดที่ฉันพบเกี่ยวกับพวกเขาไม่ได้ให้ความคิดแก่ฉันหรือความรู้ของฉันไม่เพียงพอที่จะเข้าใจ บางคนจะให้ทรัพยากรบางอย่างกับฉันซึ่งฉันสามารถเรียนรู้สิ่งนี้ตั้งแต่เริ่มต้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.