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

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


4
เหตุใดฉันจึงต้องทำธุรกรรมในโหมดไฮเบอร์เนตสำหรับการดำเนินการแบบอ่านอย่างเดียว
เหตุใดฉันจึงต้องทำธุรกรรมในโหมดไฮเบอร์เนตสำหรับการดำเนินการแบบอ่านอย่างเดียว ธุรกรรมต่อไปนี้ทำให้เกิดการล็อกในฐานข้อมูลหรือไม่ ตัวอย่างรหัสที่จะดึงข้อมูลจากฐานข้อมูล: Transaction tx = HibernateUtil.getCurrentSession().beginTransaction(); // why begin transaction? //readonly operation here tx.commit() // why tx.commit? I don't want to write anything ใช้session.close() แทนได้tx.commit()หรือไม่?

9
การใช้งาน Cross Join คืออะไร?
การรวมแบบไขว้จะทำผลิตภัณฑ์คาร์ทีเซียนบนสิ่งที่สองของทั้งสองเซ็ต SELECT * FROM Table1 CROSS JOIN Table2 สถานการณ์ใดที่ทำให้การดำเนินการ SQL ดังกล่าวมีประโยชน์อย่างยิ่ง?

1
MIMEType Length สูงสุดเมื่อจัดเก็บชนิดใน DB
ผู้คนใช้อะไรเป็นความยาวของเขตข้อมูล MIMEType ในฐานข้อมูลของตน ที่ยาวที่สุดที่เราเคยเห็นคือ 72 ไบต์: application/vnd.openxmlformats-officedocument.wordprocessingml.document แต่ฉันแค่รอนานกว่านี้ ตอนนี้เราใช้ 250 แต่มีใครเห็น MIMEType ที่ยาวกว่านั้นบ้างไหม? แก้ไข: จากคำตอบที่ยอมรับ 127 สำหรับประเภทและประเภทย่อยแต่ละประเภทนั่นคือสูงสุด 254 บวก '/' คือขีด จำกัด 255 สำหรับค่ารวม

8
เป็นคีย์ต่างประเทศเป็นคีย์หลักได้หรือไม่?
ฉันมีสองโต๊ะ: ผู้ใช้ (ชื่อผู้ใช้รหัสผ่าน) โปรไฟล์ (profileId, เพศ, วันเกิด, ... ) ขณะนี้ฉันกำลังใช้แนวทางนี้: แต่ละระเบียนโปรไฟล์มีฟิลด์ชื่อ "userId" เป็นคีย์ต่างประเทศซึ่งเชื่อมโยงไปยังตารางผู้ใช้ เมื่อผู้ใช้ลงทะเบียนบันทึกโปรไฟล์ของเขาจะถูกสร้างขึ้นโดยอัตโนมัติ ฉันสับสนกับคำแนะนำของฉันเพื่อน: จะมีฟิลด์ "หมายเลขผู้ใช้" เป็นชาวต่างชาติและหลักที่สำคัญและลบฟิลด์ "profileId" แนวทางไหนดีกว่ากัน?

14
แนวทางปฏิบัติที่ดีที่สุดในการจัดเก็บที่อยู่ไปรษณีย์ในฐานข้อมูล (RDBMS)?
มีการอ้างอิงที่ดีสำหรับแนวทางปฏิบัติที่ดีที่สุดในการจัดเก็บที่อยู่ทางไปรษณีย์ใน RDBMS หรือไม่ ดูเหมือนว่าจะมีข้อแลกเปลี่ยนมากมายที่สามารถทำได้และข้อดีข้อเสียมากมายสำหรับแต่ละข้อที่ต้องประเมิน - นี่เป็นสิ่งที่ต้องทำครั้งแล้วครั้งเล่า? อาจมีคนเขียนบทเรียนบางอย่างที่ได้เรียนรู้จากที่ไหนสักแห่ง? ตัวอย่างของการแลกเปลี่ยนที่ฉันกำลังพูดถึงคือการจัดเก็บรหัสไปรษณีย์เป็นจำนวนเต็มเทียบกับช่องถ่านควรจัดเก็บหมายเลขบ้านเป็นช่องแยกหรือเป็นส่วนหนึ่งของที่อยู่บรรทัดที่ 1 ควรทำให้หมายเลขชุด / อพาร์ทเมนต์ / ฯลฯ เป็นมาตรฐานหรือเก็บไว้เป็น กลุ่มข้อความในที่อยู่บรรทัดที่ 2 คุณจัดการ zip +4 อย่างไร (แยกช่องหรือช่องใหญ่ช่องเดียวจำนวนเต็มเทียบกับข้อความ) เป็นต้น ในตอนนี้ฉันกังวลเป็นหลักเกี่ยวกับที่อยู่ในสหรัฐอเมริกา แต่ฉันคิดว่ามีแนวทางปฏิบัติที่ดีที่สุดบางประการเกี่ยวกับการเตรียมตัวให้พร้อมสำหรับการก้าวไปทั่วโลกในที่สุด (เช่นการตั้งชื่อช่องให้เหมาะสมเช่นภูมิภาคแทนที่จะเป็นรัฐหรือรหัสไปรษณีย์แทนรหัสไปรษณีย์ เป็นต้น

13
การนำเข้าไฟล์ CSV ไปยังตารางฐานข้อมูล sqlite3 โดยใช้ Python
ฉันมีไฟล์ CSV และต้องการนำเข้าไฟล์จำนวนมากไปยังฐานข้อมูล sqlite3 โดยใช้ Python คำสั่งคือ ".import ..... " แต่ดูเหมือนว่าจะไม่สามารถทำงานได้เช่นนี้ ใครช่วยยกตัวอย่างวิธีทำใน sqlite3 ให้หน่อยได้ไหม ฉันใช้ windows ในกรณีนี้ ขอบคุณ
106 python  database  csv  sqlite 

3
SQLAlchemy: วิธีการกรองฟิลด์วันที่?
นี่คือโมเดล: class User(Base): ... birthday = Column(Date, index=True) #in database it's like '1987-01-17' ... ฉันต้องการกรองระหว่างวันที่สองวันเช่นเลือกผู้ใช้ทั้งหมดในช่วง 18-30 ปี จะใช้กับ SQLAlchemy ได้อย่างไร? ฉันนึกถึง: query = DBSession.query(User).filter( and_(User.birthday >= '1988-01-17', User.birthday <= '1985-01-17') ) # means age >= 24 and age <= 27 ฉันรู้ว่าสิ่งนี้ไม่ถูกต้อง แต่จะแก้ไขอย่างไร?
105 python  sql  database  orm  sqlalchemy 

6
MySQL 'สร้างสคีมา' และ 'สร้างฐานข้อมูล' - มีความแตกต่างหรือไม่
การเข้าสู่information_schemaฐานข้อมูลสูงสุดและจุดสูงสุดที่ข้อมูลเมตาสำหรับโครงการสัตว์เลี้ยงของฉันฉันรู้สึกลำบากในการทำความเข้าใจความแตกต่าง (ถ้ามี) ระหว่างcreate schemaคำสั่งและcreate databaseคำสั่งสำหรับ MySQL มีความแตกต่างกันหรือไม่? หากไม่เป็นเช่นนั้นนี่เป็นรูปแบบพฤติกรรมทั่วไปสำหรับฐานข้อมูลเชิงสัมพันธ์ (ฉันได้ยินมาว่าสำหรับฐานข้อมูลอื่นเช่น Oracle สคีมามีอยู่ในฐานข้อมูลแทนที่จะอยู่ในระดับเดียวกับฐานข้อมูล) ขอบคุณ!
105 sql  mysql  oracle  jdbc  database 


7
SQLite UPSERT / UPDATE หรือ INSERT
ฉันจำเป็นต้องทำการ UPSERT / INSERT หรือ UPDATE กับฐานข้อมูล SQLite มีคำสั่ง INSERT OR REPLACE ซึ่งในหลาย ๆ กรณีอาจมีประโยชน์ แต่ถ้าคุณต้องการเก็บ id ของคุณด้วยการเพิ่มอัตโนมัติเนื่องจากมีคีย์ต่างประเทศจะใช้ไม่ได้เนื่องจากจะลบแถวสร้างใหม่และส่งผลให้แถวใหม่นี้มี ID ใหม่ นี่จะเป็นตาราง: ผู้เล่น - (คีย์หลักบน id, user_name unique) | id | user_name | age | ------------------------------ | 1982 | johnny | 23 | | 1983 | steven | 29 | | …
105 database  sqlite  upsert 

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

12
จะลบ / สร้างฐานข้อมูลใน Neo4j ได้อย่างไร?
เป็นไปได้หรือไม่ที่จะสร้าง / ลบฐานข้อมูลต่างๆในฐานข้อมูลกราฟNeo4jเหมือนใน MySQL หรืออย่างน้อยวิธีการลบโหนดและความสัมพันธ์ทั้งหมดของกราฟที่มีอยู่เพื่อตั้งค่าใหม่ทั้งหมดสำหรับการทดสอบเช่นการใช้คำสั่งเชลล์ที่คล้ายกับrmrelหรือrm?

3
เหตุใดจึงมีการสร้าง“ GRANT USAGE” ในครั้งแรกที่ฉันให้สิทธิ์ผู้ใช้
ฉันเพิ่งเริ่มใช้งานด้านผู้ดูแลระบบของ DBMS และกำลังตั้งค่าฐานข้อมูลใหม่ในคืนนี้ (โดยใช้ MySQL) เมื่อฉันสังเกตเห็นสิ่งนี้ หลังจากให้สิทธิ์แก่ผู้ใช้เป็นครั้งแรกระบบจะสร้างการให้สิทธิ์อื่นขึ้นมา GRANT USAGE on *.* TO user IDENTIFIED BY PASSWORD password เอกสารระบุว่าUSAGEสิทธิ์นั้นหมายถึง "ไม่มีสิทธิ์" ดังนั้นฉันจึงอนุมานได้ว่าเป็นการให้สิทธิ์การทำงานตามลำดับชั้นและบางทีผู้ใช้อาจต้องมีสิทธิ์บางอย่างสำหรับฐานข้อมูลทั้งหมดดังนั้นสิ่งนี้จึงทำหน้าที่จับทั้งหมด? ฉันไม่เข้าใจเหมือนกันว่าทำไมบรรทัดนี้จึงมีIDENTIFIED BYอนุประโยคในเมื่อทุนที่ฉันสร้างขึ้นไม่มี (ส่วนใหญ่เป็นเพราะฉันไม่เข้าใจว่าIDENTIFIED BYประโยคนี้ทำหน้าที่อะไร) แก้ไข:ขออภัยที่ไม่ได้ระบุสิ่งนี้ในตอนแรกได้รับทุน GRANT ALL PRIVILEGES ON database.* TO admin_user GRANT SELECT, INSERT, UPDATE, DELETE ON database.* TO user

1
จะใช้ความสัมพันธ์แบบกลุ่มต่อกลุ่มใน PostgreSQL ได้อย่างไร
ฉันเชื่อว่าชื่อเรื่องนี้อธิบายได้ในตัวเอง คุณสร้างโครงสร้างตารางใน PostgreSQL เพื่อสร้างความสัมพันธ์แบบกลุ่มต่อกลุ่มได้อย่างไร ตัวอย่างของฉัน: Product(name, price); Bill(name, date, Products);

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