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

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

12
ใช้ XML เป็นที่เก็บข้อมูล [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันคิดเกี่ยวกับรูปแบบ XML และคำพูดต่อไปนี้: “ XML ไม่ใช่ฐานข้อมูล มันไม่เคยตั้งใจจะเป็นฐานข้อมูล มันจะไม่เป็นฐานข้อมูล ฐานข้อมูลเชิงสัมพันธ์เป็นเทคโนโลยีที่ได้รับการพิสูจน์แล้วพร้อมด้วยประสบการณ์การใช้งานมานานกว่า 20 ปี พวกเขาเป็นของแข็งมั่นคงผลิตภัณฑ์ที่มีประโยชน์ พวกเขาจะไม่หายไป XML เป็นเทคโนโลยีที่มีประโยชน์มากสำหรับการย้ายข้อมูลระหว่างฐานข้อมูลที่แตกต่างกันหรือระหว่างฐานข้อมูลและโปรแกรมอื่น ๆ อย่างไรก็ตามมันไม่ได้เป็นฐานข้อมูล อย่าใช้อย่างเดียว "- XML ที่มีประสิทธิภาพ: 50 วิธีพิเศษในการปรับปรุง XML ของคุณโดยElliotte Rusty Harold (หน้า 230, ตอนที่ 4, รายการ 41, วรรคสอง) สิ่งนี้ดูเหมือนจะเน้นว่า XML ไม่ควรใช้สำหรับการจัดเก็บข้อมูลและควรใช้สำหรับโปรแกรมเพื่อการทำงานร่วมกันของโปรแกรมเท่านั้น โดยส่วนตัวแล้วฉันไม่เห็นด้วยและapp.configไฟล์ของ. NET ที่ใช้ในการจัดเก็บการตั้งค่าของโปรแกรมเป็นตัวอย่างของการจัดเก็บข้อมูลในไฟล์ XML อย่างไรก็ตามสำหรับฐานข้อมูลมากกว่าการกำหนดค่า ฯลฯ …

7
คุณจัดการความปลอดภัยฐานข้อมูลจากแอปพลิเคชันบนเดสก์ท็อปได้อย่างไร
เป็นเวลาประมาณ 10 ปีที่ฉันได้ทำงานกับแอพพลิเคชั่นไคลเอนต์เดสก์ท็อปภายในพร้อมที่เก็บข้อมูล SQL Server ฉันเริ่มทำโครงการเหล่านี้บ่อยครั้ง - ส่วนใหญ่เป็นงานเทคโอเวอร์ สิ่งหนึ่งที่ดูเหมือนว่าคงที่ทุกหนทุกแห่งก็คือมีบัญชีผู้ใช้ SQL Server ส่วนกลางเดียวที่แอปพลิเคชันนี้ใช้ที่ให้สิทธิ์แก่ฐานข้อมูลทั่วไปและใช่ในบางสถานการณ์ที่ไร้เดียงสาที่saใช้บัญชีผู้ใช้ซึ่งโดยทั่วไปฉันพยายามแก้ไขเมื่อทำได้ . คุณไม่สามารถซ่อนชื่อผู้ใช้และรหัสผ่านนี้ได้อย่างมีประสิทธิภาพซึ่งแอปพลิเคชันใช้ในการเข้าถึงฐานข้อมูล พวกเขามักจะเก็บไว้ในiniหรือconfigไฟล์หรืออาจอบลงในตัวปฏิบัติการ ในทุกกรณีผู้ใช้จะมองเห็นได้หากผู้ใช้ทำการขุดเล็กน้อย ในกรณีหนึ่งเราใช้configไฟล์จริงแต่เข้ารหัสมัน แต่แน่นอนว่าต้องมีการเข้ารหัสคีย์การเข้ารหัสไว้ในแฟ้มที่ปฏิบัติการได้ (เราไม่ไร้เดียงสาถึงข้อ จำกัด ของเรื่องนี้ แต่มันก็หยุดผู้คนไม่ให้พูดเล่น เพื่อดูconfigไฟล์) ระบบทั้งหมดเหล่านี้มีระบบการพิสูจน์ตัวตนผู้ใช้ที่สร้างไว้ในแอปพลิเคชัน แต่แน่นอนว่าพวกเขาทั้งหมดได้รับการจัดการผ่านแอปพลิเคชันเองซึ่งหมายความว่าข้อมูลผู้ใช้ถูกเก็บไว้ในฐานข้อมูล แอปพลิเคชัน จำกัด สิ่งที่คุณสามารถทำได้ตามระดับการเข้าถึงของคุณ แต่เป็นสิ่งที่สงสัยหากคุณสามารถเชื่อมต่อกับฐานข้อมูลและเรียกใช้คิวรีแบบเฉพาะกิจ ฉันสนใจที่จะรู้ว่าระบบอื่น ๆ จะแก้ไขปัญหานี้ได้อย่างไร นี่คือตัวเลือกที่ฉันรู้: ใช้กลไกความปลอดภัยของ SQL Server เพื่อรักษาผู้ใช้และรายการบทบาทและทำให้แอปพลิเคชันเดสก์ท็อปเพิ่มและลบผู้ใช้ผ่านการสอบถาม T-SQL แทนที่จะเชื่อมต่อกับฐานข้อมูลโดยตรงให้สร้างบริการบนเว็บบางประเภทที่ทำงานบนเซิร์ฟเวอร์และวางตรรกะการตรวจสอบสิทธิ์ลงในนั้น ทำให้ทุกคำขอทำการตรวจสอบความปลอดภัย ตัวเลือกแรกนั้นค่อนข้างน่าเกลียดเพราะคุณแยกผู้ใช้ออกจากฐานข้อมูลดังนั้นผู้ใช้จึงไม่ได้เป็นเอนทิตีชั้นหนึ่งอีกต่อไปและคุณไม่สามารถอ้างอิงพวกเขาด้วยความสัมพันธ์กับกุญแจต่างประเทศเป็นต้น ครั้งที่สองดูเหมือนว่าจะเป็นปัญหาด้านประสิทธิภาพที่สำคัญและมีงานพิเศษมากมายรวมถึงคุณไม่สามารถใช้โปรแกรมแมป ORM อย่าง NHibernate ได้อย่างง่ายดาย (ฉันคิดว่า) ใครบ้างมีประสบการณ์กับสิ่งนี้หรือไม่? ปฏิบัติที่ดีที่สุด? แก้ไข …

5
สร้างดัชนีฐานข้อมูล
ฉันไม่คุ้นเคยกับฐานข้อมูลและตอนนี้ฉันพยายามเข้าใจกลไกการจัดทำดัชนี จากสิ่งที่ฉันรู้ใน RDBMS การทำดัชนีในคอลัมน์ทำให้การค้นหาโดยคอลัมน์นั้นเร็วขึ้น นี่เป็นความจริงสำหรับร้านค้าสามแห่งเท่านั้นที่มีดัชนีจะถือว่าคุณจะค้นหา (ตัวอย่าง) ส่วนใหญ่ตามหัวเรื่องจากนั้นตามด้วยวัตถุและอื่น ๆ ฉันไม่แน่ใจเกี่ยวกับ RDBMS แต่สำหรับร้านค้าสามแห่งคุณสามารถกำหนดดัชนีได้มากกว่าหนึ่งดัชนีทำให้ร้านค้าเลือกดัชนีที่ดีที่สุดสำหรับแต่ละแบบสอบถาม (หวังว่าฉันเข้าใจถูกต้อง) โดยปกติแล้วคำถามต่อไปนี้จะปรากฏขึ้น: เหตุใดฉันจึงไม่ควรเพิ่มดัชนีที่เป็นไปได้ทั้งหมดลงในร้านค้าสามแห่งและขยายไปยัง RDBMS ทำไมไม่สร้างดัชนีในแต่ละคอลัมน์ (สมมติว่าฉันไม่ขี้เกียจเกินไป)
12 database 

4
ฉันสามารถใช้โครงสร้างฐานข้อมูลของโครงการโอเพ่นซอร์สได้หรือไม่
ฉันพบโครงสร้างฐานข้อมูลสำหรับระบบ CMS และฉันต้องการคัดลอกกับ EF ที่ฐานข้อมูลนี้ทำอยู่หรือไม่การคัดลอกโครงสร้างฐานข้อมูลของซอฟต์แวร์โอเพ่นซอร์สที่อยู่ภายใต้ GNU v2 lisence หรือไม่ ฉันไม่ต้องการให้ส่วนที่เหลือของซอฟต์แวร์เพียงโครงสร้างฐานข้อมูล

5
วิธีการที่คล่องตัวและฐานข้อมูลที่จุดเริ่มต้นของโครงการ
ใหม่เพื่อความคล่องตัวและฉันไม่แน่ใจว่าจะเริ่มอย่างไร ความคิดคือการสร้างส่วนเล็ก ๆ ของโครงการในการวิ่ง อย่างไรก็ตามโครงการที่ฉันทำงานอยู่ต้องใช้ฐานข้อมูลและฐานข้อมูลจะต้องใช้งานได้เกือบทุกอย่างเพื่อทำสิ่งต่างๆกับโครงการ ดังนั้นโปรเจ็กต์ Agile จัดการกับสิ่งนี้อย่างไรคุณเริ่มต้นด้วยการสร้างฐานข้อมูลหรือไม่ คุณจะทำอย่างไรเช่นใช้ Scrum คุณจะทำเรื่องราวของผู้ใช้อย่างไรและทดสอบ db คุณต้องการทำบางส่วนของ db ในเรื่องที่ต้องใช้รหัสด้วยหรือไม่ สมมติว่าคุณมีเรื่องราวที่เป็น "ในฐานะผู้ใช้คุณต้องลงทะเบียน ... " คุณจะสร้างตารางผู้ใช้ในฐานข้อมูลเป็นส่วนหนึ่งของเรื่องนี้หรือไม่? ว่องไวจะช่วยคุณออกแบบฐานข้อมูลได้อย่างไร?

8
วิธีที่ดีที่สุดในการสร้างแบบจำลองเดี่ยวในฐานข้อมูลเชิงสัมพันธ์
เมื่อออกแบบ schema ฐานข้อมูลเชิงสัมพันธ์สำหรับเว็บแอปพลิเคชันฉันมักจะพบกรณีที่ฉันท้ายสร้างตารางเพียงเพื่อประกอบด้วยหนึ่งแถวและแถวเดียวเท่านั้น รู้สึกว่าเป็นวิธีที่ผิดในการออกแบบ แต่ฉันไม่สามารถหาอะไรที่ดีกว่าอย่างมีนัยสำคัญได้หรือว่าเป็น "วิธีที่ถูกต้องในการทำมัน" ตัวอย่างล่าสุดคือไซต์ที่ให้ผู้ใช้ควบคุมเนื้อหาบนหน้าแรกด้วยตนเอง มีหน้าแรกเพียงหน้าเดียว ฉันสร้างตารางที่มีฟิลด์ที่จำเป็นทั้งหมดเพื่อสร้างโฮมเพจเช่นฟิลด์ข้อความสำหรับพื้นที่ที่มีข้อความอธิบาย ฟิลด์สำหรับจัดเก็บชื่อของไฟล์ภาพขนาดใหญ่ คีย์ต่างประเทศบางตัวที่ชี้ไปยังบทความที่จะให้ความสำคัญกับหน้าแรก ฯลฯ ทำงานได้ แต่รู้สึกผิดที่มีตารางที่มีแถวเดียว ในอดีตที่ผ่านมาฉันได้ลองการออกแบบอื่น ๆ เช่นการอนุญาตให้มีหลายแถวในตารางหน้าแรกและการเลือกแบบสุ่ม ฉันได้ลองเพิ่มเขตข้อมูลบูลีนชื่อ "ใช้งานอยู่" และเลือกหนึ่งในหน้าแรกที่ใช้งานอยู่แบบสุ่ม ฉันพยายามบังคับให้แถวเดียวใช้งานได้ตลอดเวลาตามที่กำหนดในตรรกะของแอปพลิเคชัน ฉันไม่ได้พยายามสร้างตารางหน้าแรกและมีรายการอื่น ๆ เช่นบทความเพื่อให้มีฟิลด์บูลีนที่มีชื่อเช่น featured_on_homepage ในกรณีส่วนใหญ่ฉันสามารถสร้างหน้าแรกด้วยค่าคงที่จำนวนมากในไฟล์การตั้งค่า ปัญหาหลักของไฟล์การตั้งค่าคืออยู่ภายใต้การควบคุมของนักพัฒนาซอฟต์แวร์ เนื่องจากสิ่งที่ชอบเนื้อหาของโฮมเพจเป็นสิ่งที่ผู้ใช้จะต้องแก้ไขจึงต้องไปที่ฐานข้อมูล ในหลาย ๆ เว็บไซต์ฉันไม่มีปัญหานี้เพราะฉันสามารถสร้างสิ่งต่าง ๆ เช่นหน้าแรกด้วยแบบสอบถามเช่นการเลือกบทความใหม่ล่าสุดห้ารายการ แต่เมื่อฉันมีหน้าที่ดูแลด้วยตนเองด้วยข้อกำหนดที่เข้มงวดมันจะยุ่งยากในการสร้างแบบจำลองในฐานข้อมูล แต่ลองจินตนาการว่าคุณมีโต๊ะรูปถ่ายและโต๊ะบทความ ข้อกำหนดคือหน้าแรกจะแสดงภาพถ่ายห้าภาพบทความสามบทความและข้อความสองบล็อกโดยผู้ใช้ควบคุมด้วยตนเอง คุณทำแบบนั้นในฐานข้อมูลอย่างถูกต้องได้อย่างไร นอกจากนี้ฉันมีปัญหาการสร้างแบบจำลองในกรณีอื่น ๆ นอกเหนือจากหน้าแรกเพียง มันเป็นเพียงตัวอย่างที่ง่ายที่สุดและใช้ได้โดยทั่วไปที่ฉันสามารถหาได้

4
คุณคิดอย่างไรเกี่ยวกับเครื่องมือติดตา Java ใหม่นั่นไม่ใช่ ORM จริง ๆ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา วิริยะใน Java ในช่วงหลายปีที่ผ่านมาฉันได้รวบรวมประสบการณ์ในด้านการคงอยู่ของนามธรรมใน Java โดยใช้แนวคิดเช่น EJB 2.0, Hibernate, JPA และที่ปลูกในบ้าน พวกเขาดูเหมือนว่าฉันจะมีโค้งการเรียนรู้ที่สูงชันและความซับซ้อน นอกจากนี้ในฐานะที่เป็นแฟนตัวยงของ SQL ฉันคิดว่าตัวแบบนามธรรมจำนวนมากให้นามธรรมที่เป็นนามธรรมมากกว่า SQL สร้างแนวคิดเช่น "เกณฑ์", "เพรดิเคต", "ข้อ จำกัด " ที่เป็นแนวคิดที่ดีมาก แต่ไม่ใช่ SQL แนวคิดทั่วไปของการคงอยู่ที่เป็นนามธรรมใน Java ดูเหมือนจะเป็นไปตามแบบจำลองเชิงวัตถุสัมพันธ์ที่ RDBMS จะตรงกับโลก OO การถกเถียงกันเรื่อง ORM นั้นเป็นเรื่องทางอารมณ์มาโดยตลอดเพราะดูเหมือนว่าจะไม่มีทางแก้ปัญหาเดียวที่เหมาะกับทุกคน jOOQ ความชอบส่วนตัวของฉันในการหลีกเลี่ยงปัญหาที่เกี่ยวกับออมคือการยึดติดกับโลกสัมพันธ์ ตอนนี้การเลือกกระบวนทัศน์ของตัวแบบข้อมูลไม่ควรเป็นหัวข้อของการอภิปรายเนื่องจากเป็นความชอบส่วนตัวหรือเรื่องของแบบจำลองข้อมูลที่เหมาะสมกับปัญหาที่เป็นรูปธรรม การอภิปรายผมอยากจะเริ่มต้นอยู่ที่ประมาณเครื่องมือติดตาของตัวเองมากที่เรียกว่าjOOQ ฉันออกแบบ jOOQ เพื่อให้ข้อดีส่วนใหญ่ของเครื่องมือการคงอยู่ที่ทันสมัยมี: ภาษาเฉพาะโดเมนขึ้นอยู่กับ SQL …
12 java  orm  database  linq 

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

3
การสร้างเลเยอร์ของสิ่งที่เป็นนามธรรมเหนือเลเยอร์ ORM
ฉันเชื่อว่าถ้าคุณมีที่เก็บของคุณใช้ ORM ซึ่งมันมีนามธรรมเพียงพอจากฐานข้อมูล อย่างไรก็ตามที่ที่ฉันทำงานอยู่ตอนนี้บางคนเชื่อว่าเราควรมีเลเยอร์ที่เป็นนามธรรม ORM ในกรณีที่เราต้องการเปลี่ยน ORM ในภายหลัง มันจำเป็นจริงๆหรือเป็นเรื่องง่ายที่จะสร้างเลเยอร์ที่สามารถใช้งานกับ ORM จำนวนมากได้หรือไม่? แก้ไข เพียงเพื่อให้รายละเอียดเพิ่มเติม: เรามีคลาส POCO และคลาสเอนทิตีที่แมปกับ AutoMapper คลาสเอนทิตีถูกใช้โดยเลเยอร์ Repository เลเยอร์ที่เก็บจากนั้นใช้เลเยอร์เพิ่มเติมของสิ่งที่เป็นนามธรรมเพื่อสื่อสารกับ Entity Framework เลเยอร์ธุรกิจไม่มีทางเข้าถึงโดยตรงไปยัง Entity Framework แม้ว่าจะไม่มีเลเยอร์เพิ่มเติมของสิ่งที่เป็นนามธรรมเหนือ ORM สิ่งนี้จำเป็นต้องใช้เลเยอร์บริการที่ผู้ใช้เลเยอร์พื้นที่เก็บข้อมูล ในทั้งสองกรณีชั้นธุรกิจจะถูกแยกออกจาก ORM โดยสิ้นเชิง อาร์กิวเมนต์หลักคือสามารถเปลี่ยน ORM ได้ในอนาคต เนื่องจากมันแปลเป็นภาษาท้องถิ่นภายในเลเยอร์ Repository สำหรับฉันมันแยกกันอยู่แล้วและฉันไม่เห็นว่าทำไมเลเยอร์ abstraction เพิ่มเติมจึงต้องมีรหัส "คุณภาพ"
12 database  orm 

4
วัตถุธุรกิจภายใน Data Access Layer
ดังนั้นฉันจึงสร้าง data access layer ผ่านทาง TDD และได้เข้าหาข้อกังวลเล็กน้อย ฉันไม่ควรเริ่มต้นเส้นทางที่ผิดดังนั้นฉันคิดว่าฉันขอให้พวกคุณดูว่าความคิดของฉันสอดคล้องกับสถาปัตยกรรมที่สะอาดหรือไม่ วิธีการภายใน Data Access Layer ของฉัน (สั้นสำหรับ DAL) จะค่อนข้างง่าย พวกเขาเป็นไปตามขั้นตอนการจัดเก็บในฐานข้อมูล (ไม่มีวิธีอื่นในการโทรเข้าเพื่อรักษาความสะอาด) และพวกเขามีพารามิเตอร์เดียวกันกับที่ทำ พวกเขาเพียงแค่เชื่อมต่อกับฐานข้อมูลและส่งคืนผลลัพธ์แบบสอบถาม นี่คือตัวอย่างหนึ่ง: public int DeleteRecord(int recordId) { recordId.RequireThat("recordId").NotZeroOrLess(); List<SqlParameter> parameters = new List<SqlParameter>(); parameters.Add(new SqlParameter { ParameterName = "@RecordId", SqlDbType = SqlDbType.Int, Direction = ParameterDirection.Input, Value = recordId}); return this.ExecuteNonQuery("DeleteRecord", parameters.ToArray()); …

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

5
หากรหัสผ่านถูกเก็บไว้แฮชคอมพิวเตอร์จะทราบได้อย่างไรว่ารหัสผ่านของคุณคล้ายกับรหัสผ่านล่าสุดหากคุณลองรีเซ็ตรหัสผ่าน
หากรหัสผ่านถูกเก็บไว้แฮชคอมพิวเตอร์จะทราบได้อย่างไรว่ารหัสผ่านของคุณคล้ายกับรหัสผ่านล่าสุดหากคุณลองรีเซ็ตรหัสผ่าน รหัสผ่านทั้งสองจะไม่แตกต่างกันอย่างสิ้นเชิงเนื่องจากมีการแฮชและไม่สามารถย้อนกลับได้?

8
การรวมโปรแกรมมิงและเคียวรีฐานข้อมูล [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา พิจารณาบทช่วยสอนทั่วไปสำหรับภาษาการเขียนโปรแกรมเชิงวัตถุเช่น C ++ หรือ Java: สร้างระบบการประมวลผลคำสั่งง่ายๆด้วยวัตถุที่แสดงถึงบัญชีคำสั่งซื้อรายการอื่น ๆ (หรือสิ่งที่เทียบเท่าหรือมากกว่านั้น) ทำให้ความรู้สึกเป็นธรรมชาติสมบูรณ์แบบ แต่ช้างที่โต๊ะอาหารคือมันไม่จริงเพราะสิ่งเหล่านี้เป็นวัตถุในหน่วยความจำ ในระบบจริงบัญชีคำสั่งซื้อและอื่น ๆไม่ได้อยู่ในหน่วยความจำจริง ๆพวกเขาอาศัยอยู่ในฐานข้อมูลด้วยการเป็นตัวแทนของหน่วยความจำเพียงกระจกที่มีอายุสั้น คุณสามารถเขียนโค้ดจำนวนมากด้วยตัวคุณเองเพื่ออ่านและเขียนจากฐานข้อมูล แต่นั่นเป็นเรื่องที่น่าเบื่อและมีข้อผิดพลาดที่ไม่มีใครทำจริง ทุกคนลงเอยด้วยการใช้ ORM แต่สิ่งเหล่านี้มีปัญหาในสิทธิของตนเองที่มีชื่อเสียงเรียกว่า 'เวียดนามของอุตสาหกรรมของเรา' ฉันไม่คิดว่าที่ไม่ตรงกันระหว่างวัตถุและความสัมพันธ์ให้มากที่สุดเท่าที่ไม่ตรงกันระหว่างการเขียนโปรแกรมภาษาและฐานข้อมูลเป็นสิ่งที่แยกต่างหากที่ไม่ทราบเกี่ยวกับแต่ละอื่น ๆ การคาดเดา: การแก้ปัญหาคือการมีภาษาเดียวที่เป็นทั้งภาษาโปรแกรมและฐานข้อมูลแบบสอบถามซึ่งจะต้องใช้ภาษารันไทม์ยังเป็นฐานข้อมูลและคอมไพเลอร์ JIT ยังเป็นเครื่องมือเพิ่มประสิทธิภาพแบบสอบถาม นั่นคือบทสรุปของปัญหาที่ฉันเห็น คำถามของฉันคือมีใครเลย สร้างขึ้นจริงเช่นระบบแบบครบวงจร พยายาม แต่ล้มเหลวในการสร้างระบบแบบครบวงจร เขียนสิ่งสำคัญในหัวข้อว่าคุณจะสร้างสิ่งนั้นได้อย่างไรหรือเพราะเหตุใด หาทางเลือกอื่นในการแก้ปัญหาหรือไม่

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

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

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