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

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

9
จะสำรองฐานข้อมูล MySQL โดยใช้ MySQL Workbench ได้อย่างไร
จะสำรองฐานข้อมูลโดยใช้ MySQL Workbench ได้อย่างไร เราสามารถสำรองข้อมูลด้วยวิธีต่อไปนี้ได้ไหม - ไฟล์สำรอง (.sql) มีทั้งคำสั่งสร้างตารางและแทรกลงในคำสั่งตาราง ไฟล์สำรอง (.sql) มีเฉพาะสร้างคำสั่งตารางไม่ใช่แทรกลงในคำสั่งตารางสำหรับตารางทั้งหมด ไฟล์สำรอง (.sql) มีเฉพาะแทรกในคำสั่งตารางไม่ใช่สร้างคำสั่งตารางสำหรับตารางทั้งหมด

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



5
Microservices และการรวมฐานข้อมูล
สำหรับผู้ที่แยกแอปพลิเคชันเสาหินออกเป็นไมโครเซอร์วิสคุณจะจัดการกับปัญหาการแยกฐานข้อมูลได้อย่างไร แอปพลิเคชันทั่วไปที่ฉันเคยใช้ทำการรวมฐานข้อมูลจำนวนมากด้วยเหตุผลด้านประสิทธิภาพและความเรียบง่าย หากคุณมีตารางสองตารางที่มีความแตกต่างกันในเชิงตรรกะ (บริบทที่มีขอบเขตถ้าคุณต้องการ) แต่คุณมักจะทำการประมวลผลรวมกับข้อมูลจำนวนมากจากนั้นในเสาหินคุณมีแนวโน้มที่จะละทิ้งการวางแนววัตถุและใช้มาตรฐานฐานข้อมูลของคุณแทน เข้าร่วมคุณลักษณะเพื่อประมวลผลข้อมูลบนฐานข้อมูลก่อนที่จะส่งคืนมุมมองรวมกลับไปยังระดับแอปของคุณ คุณจะปรับการแยกข้อมูลดังกล่าวออกเป็นไมโครเซอร์วิสได้อย่างไรโดยที่คุณคาดว่าจะต้อง "เข้าร่วม" ข้อมูลผ่าน API ไม่ใช่ที่ฐานข้อมูล ฉันเคยอ่านหนังสือ Microservices ของ Sam Newman และในบทที่เกี่ยวกับการแยก Monolith เขาได้ยกตัวอย่างของ "Breaking Foreign Key Relationships" ซึ่งเขายอมรับว่าการเข้าร่วมข้าม API นั้นจะช้าลง - แต่เขากล่าวต่อไปว่า แอปพลิเคชันของคุณเร็วพออยู่แล้วมันสำคัญหรือไม่ว่ามันจะช้ากว่าเดิม? นี่ดูเหมือนกะล่อนไปหน่อย? ประสบการณ์ของผู้คนคืออะไร? คุณใช้เทคนิคใดเพื่อให้การรวม API ทำงานได้อย่างยอมรับ

4
View's SELECT มีคิวรีย่อยในส่วนคำสั่ง FROM
ฉันมีสองตารางและฉันต้องการสร้างมุมมอง ตารางคือ: credit_orders(id, client_id, number_of_credits, payment_status) credit_usage(id, client_id, credits_used, date) ฉันใช้แบบสอบถามต่อไปนี้เพื่อทำสิ่งนี้ คำค้นหาที่ไม่มีส่วน "create view" ทำงานได้ดี แต่เมื่อใช้ "create view" จะแสดงข้อผิดพลาด "View's SELECT มีคิวรีย่อยใน FROM clause" ปัญหาและแนวทางแก้ไขที่เป็นไปได้คืออะไร: create view view_credit_status as (select credit_orders.client_id, sum(credit_orders.number_of_credits) as purchased, ifnull(t1.credits_used,0) as used from credit_orders left outer join (select * from (select credit_usage.client_id, sum(credits_used) as credits_used …
111 mysql  sql  database  views 

5
ฟิลด์ MySQL ทั่วไปและประเภทข้อมูลที่เหมาะสม
ฉันกำลังตั้งค่าฐานข้อมูล MySQL ขนาดเล็กมากที่จัดเก็บชื่อนามสกุลอีเมลและหมายเลขโทรศัพท์และกำลังดิ้นรนเพื่อค้นหาประเภทข้อมูลที่ 'สมบูรณ์แบบ' สำหรับแต่ละฟิลด์ ฉันรู้ว่าไม่มีสิ่งที่เรียกว่าคำตอบที่สมบูรณ์แบบ แต่ต้องมีหลักการทั่วไปบางอย่างสำหรับฟิลด์ที่ใช้กันทั่วไปเช่นนี้ ตัวอย่างเช่นฉันได้พิจารณาแล้วว่าหมายเลขโทรศัพท์ของสหรัฐอเมริกาที่ยังไม่ได้ฟอร์แมตนั้นใหญ่เกินกว่าที่จะจัดเก็บเป็น int ที่ไม่ได้ลงนามต้องมีค่าอย่างน้อยที่สุด เพราะฉันแน่ใจว่าคนอื่น ๆ น่าจะพบว่าสิ่งนี้มีประโยชน์ฉันจึงไม่ต้องการ จำกัด คำถามของฉันไว้เฉพาะในฟิลด์ที่ฉันกล่าวถึงข้างต้น ประเภทข้อมูลใดที่เหมาะสมสำหรับช่องฐานข้อมูลทั่วไป ช่องต่างๆเช่นหมายเลขโทรศัพท์อีเมลและที่อยู่?
111 mysql  database  types 

6
วิธีที่แนะนำในการลบรายการจำนวนมากจาก DynamoDB คืออะไร?
ฉันกำลังเขียนบริการบันทึกอย่างง่ายใน DynamoDB ฉันมีตารางบันทึกที่คีย์โดยแฮช user_id และช่วงเวลา (Unix epoch int) เมื่อผู้ใช้บริการยุติบัญชีของตนฉันจำเป็นต้องลบรายการทั้งหมดในตารางโดยไม่คำนึงถึงค่าช่วง วิธีที่แนะนำในการดำเนินการประเภทนี้คืออะไร (โปรดทราบว่าอาจมีรายการหลายล้านรายการให้ลบ) ตัวเลือกของฉันเท่าที่ฉันเห็นคือ: ตอบ: ดำเนินการสแกนโดยเรียกลบรายการที่ส่งคืนแต่ละรายการจนกว่าจะไม่เหลือรายการใด ๆ B: ดำเนินการ BatchGet อีกครั้งเรียกลบในแต่ละรายการจนกว่าจะไม่มีเหลือ ทั้งสองอย่างนี้ดูแย่สำหรับฉันเพราะจะใช้เวลานาน สิ่งที่ฉันอยากทำคือโทร LogTable.DeleteItem (user_id) - โดยไม่ต้องระบุช่วงและให้มันลบทุกอย่างให้ฉัน

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

24
คีย์ต่างประเทศจำเป็นในการออกแบบฐานข้อมูลหรือไม่?
เท่าที่ฉันทราบมีการใช้คีย์ต่างประเทศ (FK) เพื่อช่วยโปรแกรมเมอร์ในการจัดการข้อมูลด้วยวิธีที่ถูกต้อง สมมติว่าโปรแกรมเมอร์กำลังทำสิ่งนี้ในลักษณะที่ถูกต้องอยู่แล้วเราต้องการแนวคิดของคีย์ต่างประเทศหรือไม่? มีการใช้คีย์ต่างประเทศอื่น ๆ หรือไม่? ฉันขาดอะไรที่นี่?


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

11
ไม่สามารถแคสต์ออบเจ็กต์ประเภท "System.DBNull" เพื่อพิมพ์ "System.String"
ฉันได้รับข้อผิดพลาดข้างต้นในแอปของฉัน นี่คือรหัสเดิม public string GetCustomerNumber(Guid id) { string accountNumber = (string)DBSqlHelperFactory.ExecuteScalar(connectionStringSplendidmyApp, CommandType.StoredProcedure, "GetCustomerNumber", new SqlParameter("@id", id)); return accountNumber.ToString(); } ฉันแทนที่ด้วย public string GetCustomerNumber(Guid id) { object accountNumber = (object)DBSqlHelperFactory.ExecuteScalar(connectionStringSplendidCRM, CommandType.StoredProcedure, "spx_GetCustomerNumber", new SqlParameter("@id", id)); if (accountNumber is System.DBNull) { return string.Empty; } else { return accountNumber.ToString(); } } มีวิธีที่ดีกว่านี้หรือไม่?
109 c#  asp.net  database  null 

7
วิธีนับแถวภายใน EntityFramework โดยไม่ต้องโหลดเนื้อหา
ฉันกำลังพยายามหาวิธีนับแถวที่ตรงกันบนตารางโดยใช้ EntityFramework ปัญหาคือแต่ละแถวอาจมีข้อมูลหลายเมกะไบต์ (ในเขตข้อมูลไบนารี) แน่นอนว่า SQL จะเป็นแบบนี้: SELECT COUNT(*) FROM [MyTable] WHERE [fkID] = '1'; ฉันสามารถโหลดทุกแถวจากนั้นค้นหา Count ด้วย: var owner = context.MyContainer.Where(t => t.ID == '1'); owner.MyTable.Load(); var count = owner.MyTable.Count(); แต่นั่นก็ไร้ประสิทธิภาพอย่างสิ้นเชิง มีวิธีที่ง่ายกว่านี้ไหม แก้ไข: ขอบคุณทุกคน ฉันได้ย้ายฐานข้อมูลจากไฟล์แนบส่วนตัวดังนั้นฉันจึงสามารถเรียกใช้การสร้างโปรไฟล์ได้ สิ่งนี้ช่วยได้ แต่ทำให้เกิดความสับสนที่ฉันไม่คาดคิด และข้อมูลที่เป็นจริงของฉันเป็นบิตลึกผมจะใช้รถบรรทุกแบกพาเลทของกรณีของรายการ - และฉันไม่ต้องการให้รถบรรทุกที่จะออกจนกว่าจะมีอย่างน้อยหนึ่งรายการในนั้น ความพยายามของฉันแสดงไว้ด้านล่าง ส่วนที่ฉันไม่ได้รับคือ CASE_2 ไม่เคยเข้าถึงเซิร์ฟเวอร์ DB (MSSQL) var truck = …

12
เวลาดำเนินการสูงสุดใน phpMyadmin
เมื่อฉันพยายามดำเนินการ (บางส่วน) แบบสอบถามใน phpMyadmin ฉันได้รับข้อผิดพลาดนี้ ข้อผิดพลาดร้ายแรง: เกินเวลาดำเนินการสูงสุด 60 วินาทีใน C: \ xampp \ phpmyadmin \ libraries \ dbi \ mysql.dbi.lib.php ในบรรทัด 140 เพราะฉันมีโต๊ะขนาดใหญ่มาก (มากกว่า 9 ล้านรายการ) ฉันได้แก้ไขไฟล์ C: \ xampp \ php \ php.ini และเปลี่ยนค่าของ "เวลาดำเนินการสูงสุด" จาก 60 เป็น 1,000 จากนั้นรีสตาร์ท PHP และยังคงมีข้อผิดพลาดเหมือนเดิม วิธีแก้ปัญหาใด ๆ

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