คำถามติดแท็ก data-integrity

6
วิธีการพิสูจน์การขาดคำสั่งโดยนัยในฐานข้อมูลหรือไม่
เมื่อเร็ว ๆ นี้ฉันอธิบายให้เพื่อนร่วมงานทราบถึงความสำคัญของการมีคอลัมน์ที่จะเรียงลำดับข้อมูลในตารางฐานข้อมูลหากจำเป็นต้องทำเช่นสำหรับข้อมูลที่เรียงตามลำดับเวลา สิ่งนี้พิสูจน์ได้ค่อนข้างยากเพราะพวกเขาสามารถเรียกใช้คิวรีของพวกเขาอีกครั้งโดยไม่สิ้นสุดและจะส่งคืนชุดของแถวเดียวกันในลำดับเดียวกันเสมอ ฉันได้สังเกตสิ่งนี้มาก่อนและสิ่งที่ฉันทำได้จริงๆคือยืนยันว่าพวกเขาเชื่อใจฉันและไม่เพียงแค่คิดว่าตารางฐานข้อมูลจะทำตัวเหมือนไฟล์ CSV หรือ Excel แบบดั้งเดิม ตัวอย่างเช่นการดำเนินการแบบสอบถาม (PostgreSQL) create table mytable ( id INTEGER PRIMARY KEY, data TEXT ); INSERT INTO mytable VALUES (0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e'), (5, 'f'), (6, 'g'), (7, 'h'), (8, 'i'), (9, 'j'); จะสร้างตารางที่มีลำดับความคิดที่ชัดเจน การเลือกข้อมูลเดียวกันด้วยวิธีที่ง่ายที่สุดคือ: SELECT * …

1
ฉันจะเก็บหมายเลขโทรศัพท์ใน PostgreSQL ได้อย่างไร
สมมติว่าฉันต้องการจัดเก็บหมายเลขโทรศัพท์ในฐานข้อมูล ฉันอาจรับหมายเลขโทรศัพท์จากนอกสหรัฐอเมริกา ฉันจะเก็บหมายเลขโทรศัพท์เหล่านี้ได้อย่างไร


2
การสร้างแบบจำลองข้อ จำกัด ในมวลรวมย่อย?
ฉันใช้ PostgreSQL แต่ฉันคิดว่าส่วนใหญ่ของฐานข้อมูลบนสุดต้องมีความสามารถที่คล้ายกันและยิ่งไปกว่านั้นโซลูชันสำหรับพวกเขาอาจเป็นแรงบันดาลใจให้ฉันดังนั้นจึงไม่ควรพิจารณาเฉพาะ PostgreSQL นี้ ฉันรู้ว่าฉันไม่ใช่คนแรกที่พยายามแก้ปัญหานี้ดังนั้นฉันคิดว่ามันคุ้มค่าที่จะถามที่นี่ แต่ฉันกำลังพยายามประเมินค่าใช้จ่ายของการสร้างแบบจำลองข้อมูลบัญชีเช่นว่าการทำธุรกรรมทุกครั้งมีความสมดุลทางพื้นฐาน ข้อมูลการบัญชีต่อท้ายเท่านั้น ข้อ จำกัด โดยรวม (เขียนในโค้ดหลอก) ที่นี่อาจมีลักษณะประมาณ: CREATE TABLE journal_entry ( id bigserial not null unique, --artificial candidate key journal_type_id int references journal_type(id), reference text, -- source document identifier, unique per journal date_posted date not null, PRIMARY KEY (journal_type_id, reference) ); CREATE TABLE journal_line …

5
ตารางคำสั่งอีคอมเมิร์ซ ประหยัดราคาหรือใช้ตารางการตรวจสอบ / ประวัติ?
ฉันออกแบบคีมาอีคอมเมิร์ซแรกของฉัน ฉันได้อ่านเรื่องนี้มาระยะหนึ่งแล้วและสับสนเล็กน้อยเกี่ยวกับความสัมพันธ์ระหว่างorder_line_itemกับproduct productสามารถรับการสั่งซื้อ มันมีรายละเอียดที่แตกต่างกัน unit_priceแต่ที่สำคัญที่สุดคือ order_line_itemมีคีย์ต่างประเทศไปproduct_idซื้อที่quantityซื้อและunit_priceที่จุดในเวลาลูกค้าที่ซื้อสินค้า สิ่งที่ฉันได้อ่านส่วนใหญ่บอกว่าควรเพิ่มunit_priceon order_line_item(อย่างชัดเจนโดยไม่อ้างอิงผ่านproduct_id) สมเหตุสมผลเนื่องจากร้านค้าสามารถเปลี่ยนแปลงราคาในอนาคตซึ่งจะทำให้การรายงานคำสั่งซื้อการติดตามความสมบูรณ์และอื่น ๆ สิ่งที่ฉันไม่เข้าใจคือทำไมบันทึกโดยตรงunit_priceไปยังค่าorder_line_itemหรือไม่ การสร้างตารางการตรวจสอบ / ประวัติจะเป็นการดีกว่าการสร้างตารางการunit_priceเปลี่ยนแปลงproductหรือไม่? เมื่อมีการorder_line_itemสร้างคีย์ต่างประเทศของproduct_auditตารางจะถูกเพิ่มและสามารถดึงราคา (โดยอ้างอิง) จากที่นั่น ดูเหมือนว่าฉันจะมีข้อดีหลายอย่างในการใช้วิธีนี้ (การทำซ้ำของข้อมูลน้อยลง, ประวัติการเปลี่ยนแปลงราคาเป็นต้น) ดังนั้นทำไมจึงไม่ใช้บ่อยกว่านี้ ฉันยังไม่เจอตัวอย่างของสคีมาอีคอมเมิร์ซที่ใช้วิธีการนี้ฉันทำอะไรหายหรือเปล่า UDPATE: ดูเหมือนว่าคำถามของฉันที่เกี่ยวข้องกับการเปลี่ยนแปลงอย่างช้าๆมิติ ฉันยังคงสับสนอยู่ว่าในขณะที่การเปลี่ยนมิติช้าเกี่ยวข้องกับคลังข้อมูลและ OLAP ดังนั้นชนิดการเปลี่ยนแปลงมิติช้าสามารถนำไปใช้กับฐานข้อมูลธุรกรรมทางธุรกิจหลักของฉัน (OLTP) ได้หรือไม่ ฉันสงสัยว่าฉันกำลังรวมแนวคิดจำนวนมากเข้าด้วยกันหรือไม่

1
จำนวนจริงบวกต่ำสุดที่เป็นไปได้จริงคืออะไร
MSDN กล่าวว่าช่วงของตัวเลข REAL คือ - 3.40E + 38 ถึง -1.18E - 38, 0 และ 1.18E - 38 ถึง 3.40E + 38 ดูเหมือนว่าขีด จำกัด ล่างที่แท้จริงนั้นต่ำกว่ามาก สคริปต์ต่อไปนี้จะเติมคอลัมน์ REAL ด้วย 1.401298E-45: CREATE TABLE a ( r1 REAL NULL , r2 REAL NULL , r3 REAL NULL ) ; GO INSERT INTO a ( …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.