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

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

6
แนวปฏิบัติที่เหมาะสมที่สุดสำหรับการเลิกใช้คอลัมน์ฐานข้อมูลล้าสมัยคืออะไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ฉันออกแบบแอปพลิเคชันซึ่งจะรวบรวมข้อมูล A, B และ C จากลูกค้าในระยะแรก แต่หลังจากนั้นจะรวบรวมข้อมูล A, B และ D แทน A, B, C และ D ที่เกี่ยวข้องมากและในขณะนี้มีอยู่เป็นคอลัมน์ของฐานข้อมูลเดียว PostgreSQL ตารางT เมื่อไม่ต้องการใช้ C อีกต่อไปฉันต้องการลบการอ้างอิงออกจากแอปพลิเคชันของฉัน (ฉันใช้Django ORM ) แต่ฉันต้องการเก็บข้อมูลที่ป้อนไว้แล้ว วิธีที่ดีที่สุดที่จะทำคืออะไร? ฉันคิดว่าจะสร้างตารางใหม่สำหรับ ABD แต่นั่นหมายความว่าอาจทำให้เกิดปัญหากับตารางอ้างอิงแถวใดก็ได้ที ฉันสามารถปล่อยให้คอลัมน์ C ไปพร้อมกันและลบการอ้างอิงถึงมันในโค้ดทำให้ข้อมูลที่มีอยู่รอด มีตัวเลือกที่ดีกว่าที่ฉันไม่เห็นหรือไม่ รายละเอียดพิเศษบางอย่าง: จำนวนแถวจะไม่ใหญ่มากที่สุดน่าจะเป็น 1-2 ต่อผู้ใช้ นี่เป็นแอปพลิเคชั่นสำหรับตลาดมวลชน แต่เมื่อฉันเปลี่ยนจาก C เป็น …

2
ฉันควรเก็บที่อยู่อีเมลไว้เป็นข้อความธรรมดาในฐานข้อมูลหรือไม่
เป็นที่ชัดเจนสำหรับทุกคน ( ฉันหวังว่า ) การจัดเก็บรหัสผ่านโดยที่อย่างน้อยก็ไม่ต้องขาย / ใส่รหัสพวกเขาเป็นความคิดที่แย่มาก แล้วอีเมลล่ะ สมมติว่าคุณใช้ที่อยู่อีเมลการสมัครสมาชิกหากคุณเข้ารหัสอย่างถูกต้องอาจไม่สามารถใช้ส่งอีเมลไปยังผู้ใช้ได้ ในทางกลับกันหากคุณไม่เข้ารหัสและฐานข้อมูลถูกขโมยผู้ใช้ของคุณทุกคนเสี่ยงต่อสแปมที่อาจเกิดขึ้น คำถามนี้ไม่เกี่ยวกับปัญหาเฉพาะทางกฎหมาย (ถึงแม้ว่าจะได้รับ แต่เกี่ยวข้องกับประเทศ) หรือเกี่ยวกับการเข้ารหัสฐานข้อมูลเอง

3
กระบวนการคิดทั่วไปสำหรับคำถามสัมภาษณ์“ คุณจะสร้างเว็บไซต์ / แอพนี้” อย่างไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันได้รวบรวมคำถามสัมภาษณ์มากมายเช่น "อธิบายว่าคุณจะออกแบบแอพพลิเคชั่นอัลบั้มรูปได้อย่างไร", "อธิบายว่าคุณจะออกแบบคุณสมบัติเฉพาะของเว็บไซต์นี้ได้อย่างไร" (เช่นกดไลค์บน Facebook แนะนำใน Amazon ตะกร้าสินค้าเกม แจ็คสีดำ) ถ้าเป็นเช่นนั้นจะเกิดอะไรขึ้น คุณจะเปลี่ยนอะไร ดูเหมือนว่าสิ่งนี้คาดหวังว่าสคีมาฐานข้อมูลหรือคำจำกัดความของคลาส (หรือทั้งสองอย่าง?) ฉันได้เรียนรู้เกี่ยวกับฐานข้อมูลในโรงเรียนแล้ว แต่ฉันไม่เคยออกแบบแอปพลิเคชันมาก่อนและมีปัญหาในการรู้ว่าจะเริ่มจากที่ใดการออกแบบที่ฉันออกแบบมานั้นมี "ดี" และสิ่งที่ฉันสามารถเปลี่ยนได้ มีวิธีการทั่วไปหรือกระบวนการคิดเมื่อออกแบบระบบเหล่านี้หรือไม่? และปัญหา / ปัญหาทั่วไปที่ดูเหมือนจะเกิดขึ้นมากในการออกแบบที่ฉันควรพยายามหลีกเลี่ยง? ใครบางคนอาจจะแนะนำให้ฉันผ่านหนึ่ง (หรือมากกว่าทั้งหมดในขณะที่เปรียบเทียบความต้องการของแต่ละคน) และอธิบาย: 1) คุณคิดอย่างไรกับเอนทิตีที่ต้องการ? 2) คุณตัดสินใจได้อย่างไรว่าความสัมพันธ์ทุกอย่างจะมีอะไรบ้าง 3) คุณรวมการปรับปรุงประสิทธิภาพไว้ในการออกแบบของคุณอย่างไร 4) ฉันจะใช้คลาสหรือฐานข้อมูลหรือไม่ มันสร้างความแตกต่าง (เช่นฉันจะมีคลาสที่ไม่สามารถแปลเป็นตารางฐานข้อมูลจริง ๆ ได้หรือไม่) เหตุผลหลักที่ฉันถามคือเพราะฉันกำลังผ่าน "แคร็กสัมภาษณ์การเข้ารหัส" และคำตอบของฉันแตกต่างอย่างสิ้นเชิงจากผู้เขียน - ฉันมีความคิดแตกต่างกันมากในสิ่งที่ชั้นเรียนมีความสำคัญ ความตั้งใจของฉัน: ด้วยแอพแชร์รูปภาพฉันจะมีคลาส …

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

4
TDD พร้อมฟังก์ชัน SQL และการปรับเปลี่ยนข้อมูล
ในขณะที่ฉันเป็นโปรแกรมเมอร์มืออาชีพฉันไม่เคยได้รับการฝึกฝนอย่างเป็นทางการในวิศวกรรมซอฟต์แวร์ เมื่อฉันมาที่นี่เป็นประจำและบ่อยครั้งฉันสังเกตเห็นแนวโน้มในการเขียนการทดสอบหน่วยเมื่อเป็นไปได้และเนื่องจากซอฟต์แวร์ของฉันมีความซับซ้อนและซับซ้อนมากขึ้นฉันเห็นการทดสอบอัตโนมัติเป็นความคิดที่ดีในการช่วยแก้จุดบกพร่อง อย่างไรก็ตามงานของฉันส่วนใหญ่เกี่ยวข้องกับการเขียน SQL ที่ซับซ้อนแล้วประมวลผลผลลัพธ์ในบางวิธี คุณจะเขียนการทดสอบอย่างไรเพื่อให้แน่ใจว่า SQL ของคุณส่งคืนข้อมูลที่ถูกต้องตัวอย่างเช่น ถ้าข้อมูลไม่อยู่ภายใต้การควบคุมของคุณ (เช่นระบบของบุคคลที่สาม) คุณจะสามารถทดสอบรูทีนการประมวลผลของคุณได้อย่างมีประสิทธิภาพโดยไม่ต้องเขียนรีมข้อมูลหุ่นจำลองได้อย่างไร ทางออกที่ดีที่สุดที่ฉันคิดได้คือทำให้มุมมองข้อมูลที่ครอบคลุมกรณีส่วนใหญ่ จากนั้นฉันสามารถเข้าร่วมมุมมองเหล่านั้นกับ SQL ของฉันเพื่อดูว่ามันส่งคืนระเบียนที่ถูกต้องและดำเนินการมุมมองด้วยตนเองเพื่อดูว่าฟังก์ชั่นของฉัน ฯลฯ ทำในสิ่งที่พวกเขาควรจะทำหรือไม่ ถึงกระนั้นดูเหมือนว่ามากเกินไปและเป็นขุย; โดยเฉพาะการค้นหาข้อมูลเพื่อทดสอบกับ ...

5
มีเหตุผลใดที่จะใช้ขนาด VARCHAR ปัดเศษเป็นออฟเซ็ต 128/256/4096 ไบต์?
ใน schema ของฐานข้อมูลฉันมักสังเกตว่าขนาด VARCHAR ถูกปัดเศษเป็น byte offsets 128/256 หรือ 4096 ฉันเคยทำมาก่อนเช่นกันและแนวคิดเบื้องหลังมันอาจเป็นสิ่งที่มีประสิทธิภาพ อย่างไรก็ตามในปัจจุบันยังมีเหตุผลที่ถูกต้องหรือไม่? ฉันมักจะใช้ '50', '100' หรือ '200' เป็น VARCHAR ขนาดวันนี้เนื่องจากพวกเขาเป็นธรรมชาติมากขึ้นและมักจะแสดงในการตรวจสอบการตรวจสอบกับผู้ใช้

6
โปรแกรมเมอร์ฐานข้อมูลทำอะไร
ทุกครั้งที่ฉันอ่านเกี่ยวกับโปรแกรมเมอร์ของออราเคิล ฯลฯ ฉันสับสน ฉันไม่รู้ว่าพวกเขาทำอะไรกันแน่ จากความเข้าใจของฉันโปรแกรมเมอร์แอปพลิเคชันจำเป็นต้องพัฒนาฟังก์ชั่นหลัก ไลบรารีที่ใช้อาจช่วยในการพัฒนา GUI หรือการเชื่อมต่อฐานข้อมูล แต่ฟังก์ชันการทำงานที่ทำให้แอปพลิเคชันนั้นต้องมีการตั้งโปรแกรมและทำให้ทุกแอปพลิเคชันแตกต่างกัน (บางอันอาจเป็น tweaked เวอร์ชันอื่น ๆ ) ในความสัมพันธ์นี้การเขียนโปรแกรมฐานข้อมูลไม่ใช่การสร้างตารางโดยทั่วไปและไม่ใช่ตารางเหล่านี้ที่ประมวลผลตามคำสั่ง SQL ที่ออกโดยแอปพลิเคชันซึ่งมักจะเป็นส่วนหน้าใช่ไหม ดังนั้นการสร้างตารางจึงเป็นเรื่องใหญ่

4
วิธีจัดการกับข้อมูลเรียลไทม์จากมุมมองฐานข้อมูล
ฉันมีความคิดในใจ แต่ก็ยังคงสร้างความสับสนให้ฉันพื้นที่ฐานข้อมูล ลองนึกภาพว่าฉันต้องการแสดงข้อมูลเรียลไทม์และใช้หนึ่งในเทคโนโลยีเบราว์เซอร์ล่าสุด ( ซ็อกเก็ตเว็บ - แม้กระทั่งการใช้เบราว์เซอร์รุ่นเก่า ) มันง่ายมากที่จะแสดงให้ทุกคนเห็น (เบราว์เซอร์ผู้ใช้) Remy Sharpมีตัวอย่างเกี่ยวกับความเรียบง่ายเกี่ยวกับเรื่องนี้ แต่ฉันยังไม่ได้รับส่วนฐานข้อมูลฉันจะเลี้ยงอย่างไรลองนึกภาพ (ใช้ Remy game Tron) ที่ฉันต้องการบันทึกเส้นทางสำหรับผู้ใช้ที่เชื่อมต่อแต่ละรายในฐานข้อมูลและหากลูกค้าต้องการดูว่าเกิดอะไรขึ้นกับล่าช้า 5 วินาทีเขาจะเห็นว่าไม่เพียง 5 วินาทีจนถึงขณะนั้น แต่ความต่อเนื่องในเวลาที่ ... ฉันจะค้นหา DB เช่นนี้ได้อย่างไร SELECT x, y FROM run WHERE time >= DATEADD(second, -5, rundate); เส้นทางที่แนะนำไม่ถูกต้องใช่ไหม และดึง x นี้ในเวลา x ... นี่ไม่ใช่ฟีดข้อมูลจริงที่ถูกต้อง? หากใครสามารถช่วยฉันเข้าใจมุมมองฐานข้อมูลฉันจะขอบคุณมาก
14 database  sockets 

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

4
ฐานข้อมูลการเปรียบเทียบ
ฉันเห็นการสนทนามากมายเกี่ยวกับประสิทธิภาพของ db 'x' หรือการเปลี่ยนจาก 'x' เป็น 'y' เพื่อปรับปรุงประสิทธิภาพไซต์ของเรา ฉันยังไม่เห็นการเปรียบเทียบที่เหมาะสมซึ่งทำงานกับฐานข้อมูลประเภทต่างๆ เป็นไปได้ไหมที่จะเขียนเบนช์มาร์กที่มีความหมายซึ่งสามารถใช้ได้กับหลาย ๆ db db เช่น Relational, Document-oriented เป็นต้น คุณจะออกแบบมาตรฐานอย่างไร

3
ID ส่วนหลังควรเป็นสาธารณะหรือไม่ใน REST API
ขึ้นอยู่กับสิ่งที่ผู้ชายคนนี้พูดว่า: http://toddfredrich.com/ids-in-rest-api.html สมมติว่าเขาถูกต้องเกี่ยวกับการใช้ UUID เพื่อระบุทรัพยากร api จากนั้นฉันก็พบปัญหาในการพยายามใช้มันในลักษณะนี้คือ: class FooEntity { final String id = null; //auto-generated by my backend (mongodb), not shared final UUID uid = UUID.randomUUID(); //the resource id } (ระหว่างไคลเอนต์และเซิร์ฟเวอร์ถูกส่งและรับ DTO ไม่ใช่เอนทิตีฐานข้อมูล) ปัญหาตอนนี้คือidมันไม่มีประโยชน์อย่างที่ฉันไม่ได้ใช้อีกต่อไป ไคลเอนต์ทำการร้องขอด้วยuidเหตุใดฉันจึงรำคาญที่จะจัดการ 2 id ของ จากนั้นเราจะกลับไปสู่จุดเริ่มต้นเดียวกัน หากฉันตั้งค่า UUID เป็นคีย์หลัก ( _id) ฉันจะเปิดเผย ID เบื้องหลังให้กับสาธารณะ นอกจากนั้นยังมีหัวข้อประสิทธิภาพ ฉันอ่านว่าการจัดทำดัชนีโดย …

1
แบบจำลองโดเมนในฐานข้อมูลสามารถเป็นทางออกที่ยั่งยืนได้หรือไม่
ฉันเพิ่งเริ่มงานใหม่ในฐานะผู้พัฒนาฐานข้อมูลสำหรับ บริษัท ขนาดกลาง - เล็กที่ใช้เทคโนโลยีของ Microsoft ฉันสังเกตเห็นตั้งแต่เนิ่นๆว่าการปฏิบัติที่เบี่ยงเบนไปจากสิ่งที่ฉันได้รับการสอนที่โรงเรียนเกี่ยวกับวิธีปฏิบัติที่ดีที่สุดรูปแบบการออกแบบการทดสอบและการจัดการโครงการ สิ่งที่ดักฟังฉันมากที่สุดคือวิธีที่ผู้พัฒนาฐานข้อมูลหลักของเรา (ต่อจากนี้เรียกว่า "จอห์น") จะเก็บแบบแผนโมเดลในฐานข้อมูล! เราทำสิ่งนี้โดยมีตาราง 3 "เวทมนตร์"; หนึ่งสำหรับฐานข้อมูลสกีมาสำหรับหนึ่งตารางและอีกหนึ่งสำหรับคอลัมน์ การแทรกเร็กคอร์ดลงใน " Tables " -table สร้าง (ผ่านทริกเกอร์ฐานข้อมูล), ตารางจริง, ที่สอดคล้องกัน การแทรกแถวในตาราง " แถว " จะเป็นการอัพเดตตารางที่อ้างอิงด้วยแถวนั้น สิ่งเหล่านี้กลับถูกอ่านโดย C # -program แบบโฮมเมดของเขาเพื่อสร้างแบบจำลอง C # ซึ่งถูกใช้โดย frontend-Developers สำหรับตัวควบคุมและด้านนอก นอกเหนือจากนี้การพัฒนาส่วนใหญ่จะทำตามกรอบASP.NET MVC ฉันเห็นข้อบกพร่องสองสามข้อด้วยวิธีนี้: เราต้องการให้เขารักษา ORM และเขาไม่ค่อยมีเวลาทำ (ความมั่นคงในการทำงานดีมาก! ทริกเกอร์สำหรับตาราง "ตาราง" และ "แถว" …

2
ตารางเดี่ยวที่มีคอลัมน์เพิ่มเติมเทียบกับหลายตารางที่ทำซ้ำสคีมา
ฉันกำลังทำงานในโครงการที่บางจุดฉันจำเป็นต้องตัดสินใจว่าในฐานข้อมูลหรือไม่ฉันควรมีตารางเดียวที่มีหลายคอลัมน์ที่ไม่ใช่ทุกระเบียนที่ใช้หรือหลายตารางที่มีสคีมาซ้ำกัน ฉันกำลังสร้างแอปพลิเคชั่นข้อมูลกีฬาที่สามารถรองรับกีฬาหลายประเภท เราสามารถจัดการ NBA, NHL, MLB, NFL ได้ แต่ละกีฬามีแนวคิดที่คล้ายกันมาก - ทีม, ตารางเวลา, การบาดเจ็บ, ข้อมูลผู้เล่น .. แน่นอนแหล่งข้อมูลของเราไม่ได้ให้ข้อมูลแต่ละชิ้นในสคีมาเดียวกัน กีฬาแต่ละประเภทมีโครงสร้างที่แตกต่างกันซึ่งเราได้รับข้อมูลจากผู้ขายของเรา เนื่องจากมีเวลาไม่พอ (ความต้องการของลูกค้า) เพื่อทำการวิเคราะห์ข้อมูลล่วงหน้าเพื่อกำหนด commonalities ฉันจึงป้องกันการเดิมพันของฉันและใช้ 'เดิมพันที่ปลอดภัย' และสร้างตารางแยกสำหรับแต่ละกีฬาแต่ละชุดแทนที่จะเป็นหนึ่งชุดของตารางทั้งหมด กีฬาที่ใช้ ผลลัพธ์คือ schema ที่ซ้ำกันในหลายตารางและอินเทอร์เฟซที่ซ้ำซ้อนกับฐานข้อมูล (เช่น procs ที่เก็บไว้) เช่นกัน ฉันมีบางอย่างเช่น NBA_Game, NFL_Game, NBA_Team, NFL_Team และอื่น ๆ แต่ละตารางอาจมีคุณสมบัติบางอย่างที่อีกคนหนึ่งไม่ได้และอีกหลายคนที่ใช้ร่วมกัน มันพูดต่อไปประมาณ 5-10 ตารางจาก 4 หรือ 5 กีฬา ฉันยังไม่แน่ใจว่านี่เป็นสิ่งที่เลวร้ายหรือไม่ - ทางเลือกการมีตารางชุดเดียวซึ่งมีคุณสมบัติอยู่ในนั้นซึ่งไม่ใช่กีฬาทุกประเภทที่จะใช้อาจมีตัวของตัวเองที่เทอะทะเช่นกัน …

5
เมื่อใดควรใช้ฐานข้อมูลมากกว่าการแยกวิเคราะห์ข้อมูลจากไฟล์ข้อความ
ผมทำโปรแกรมหลามในการวัดการเจริญเติบโตของcodereview.SE วิธีการของฉันคือการได้รับ "สถิติเว็บไซต์" ที่แสดงในหน้าแรกและเก็บไว้ในฮาร์ดไดรฟ์ของฉัน ฉันวางแผนที่จะทำสิ่งนี้ทุกวัน จนถึงตอนนี้ฉันได้ทำพอที่จะรับสถิติและผนวกเข้ากับไฟล์ข้อความ สคริปต์หลามสามารถดูได้บนGitHub รูปแบบที่ฉันใช้มีดังต่อไปนี้ 22-08-2013 questions 9073 answers 15326 answered 88 users 26102 visitors/day 7407 22-08-2013 questions 9073 answers 15326 answered 88 users 26102 visitors/day 7407 ฉันเพิ่งรันสคริปต์สองครั้งเพื่อให้ได้รูปแบบที่ฉันต้องการใช้ในไฟล์ ตอนแรกมันดูดีสำหรับฉันเพราะฉันจะเก็บมันเองและรูปแบบจะเหมือนกันดังนั้นจึงสามารถแยกวิเคราะห์ได้ง่าย แต่ฉันไม่แน่ใจ ดูเหมือนว่าการใช้ฐานข้อมูลควรจะดีกว่าที่นี่เพราะวิธีการดึงข้อมูลควรง่ายกว่า แค่ทราบว่าฉันไม่เคยใช้ฐานข้อมูลใด ๆ และไม่มีความรู้เกี่ยวกับ SQL, MySQL หรือตัวแปรอื่น ๆ ของ RDBMS ดังนั้นสิ่งนี้นำมาสู่คำถาม เมื่อใดที่ฐานข้อมูลควรเป็นที่ต้องการสำหรับการจัดเก็บข้อมูลมากกว่าการจัดเก็บข้อมูลในไฟล์ข้อความ? มีตัวชี้บางอย่างที่ฉันสามารถค้นหาได้เมื่อตัดสินใจว่าต้องใช้ฐานข้อมูลหรือไฟล์ข้อความธรรมดาหรือไม่? PS: ถ้าสามารถเพิ่มแท็กที่ดีกว่าได้โปรดทำเช่นนั้น ฉันมีข้อสงสัยเกี่ยวกับแท็กที่สามารถเพิ่มได้

4
ตารางประวัติฐานข้อมูล / ตารางการติดตาม
ขณะนี้ฉันต้องการจัดโครงสร้างตารางการติดตาม / ประวัติดังนี้: PrimaryKey - ID OtherTableId - fk fieldName - ชื่อของฟิลด์ที่ติดตาม OLDVALUE NewValue ชื่อผู้ใช้ CreateDateTime โดยพื้นฐานแล้วฉันต้องการมีตารางที่จะติดตามประวัติของตารางอื่นเก็บชื่อคอลัมน์ของฟิลด์ที่ถูกเปลี่ยนแปลงด้วยค่าใหม่และเก่า คำถามของฉันคือทุกคนสามารถเจาะรูในนี้ นอกจากนี้วิธีที่ง่ายที่สุดในการตรวจสอบให้แน่ใจว่ามีเพียงชื่อคอลัมน์จากตารางที่ติดตามเท่านั้นที่ถูกป้อนลงในคอลัมน์ fieldName ปัจจุบันตัวเลือกของฉันจะต้องมี enum ในบริการที่ฉันกำลังสร้างหรือสร้างตารางสถานะอื่นและทำให้ fieldName เป็น fk มีความคิดที่ดีกว่านี้ไหม? แก้ไข เป้าหมาย: ขณะนี้มีเพียง 2 ฟิลด์ที่เราต้องการติดตาม หนึ่งฟิลด์จะปรากฏบนหน้าเว็บเพื่อแสดงประวัติส่วนอื่น ๆ จะเข้าถึงได้โดยแผนกหนึ่งเท่านั้นและพวกเขามีสิทธิ์เข้าถึงมุมมองของฐานข้อมูลที่พวกเขาสามารถสืบค้นได้ พวกเขาต้องการสอบถามเพียงหนึ่งช่องนี้เพื่อรับข้อมูลว่าใครเปลี่ยนฟิลด์และจะทำอย่างไร นี่คือเหตุผลที่เราต้องการตั้งค่าที่เขตข้อมูลฐานข้อมูลกำหนดคอลัมน์ตารางแทนที่จะมีสำเนาที่แน่นอนของประวัติศาสตร์บันทึกตาราง เราต้องการเพียงสองฟิลด์ที่ถูกติดตามพร้อมกับความเป็นไปได้ในการเพิ่มหรือลบฟิลด์ในอนาคต ขอบคุณ!
13 database  sql  tracking 

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