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

Structured Query Language (SQL) เป็นภาษาสำหรับการจัดการข้อมูลในระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ แท็กนี้สำหรับคำถามเกี่ยวกับการเขียนโปรแกรม SQL ทั่วไป ไม่ใช่สำหรับ Microsoft SQL Server (สำหรับสิ่งนี้ให้ใช้แท็ก sql-server) และไม่อ้างถึงภาษาเฉพาะของ SQL ด้วยตนเอง

2
คุณจะทดสอบหน่วย \ ใช้วิธี TDD สำหรับโครงการ ETL และการรายงานได้อย่างไร
โครงการ ETL เป็นโครงการที่สร้างขึ้นโดยใช้เครื่องมือ ETL (ดึงข้อมูล - แปลง - โหลด) เช่น SSIS, PowerCenter เป็นต้น โดยทั่วไปจะเกี่ยวข้องกับการอ่านข้อมูลจากแหล่งภายนอกโหลดไปยังฐานข้อมูลการแสดงการแปลงและโหลดไปยังฐานข้อมูลสุดท้าย ตัวอย่างง่ายๆคือการใช้ SSIS เพื่ออ่านไฟล์ excel ที่เตรียมไว้โดยครูผู้สอนโดยใช้ SSIS และโหลดลงในฐานข้อมูล จากนั้นเขียนกระบวนงานที่เก็บไว้หรือแพ็คเกจ SSIS เพิ่มเติมเพื่อคำนวณคะแนนของนักเรียนแต่ละคนและโหลดข้อมูลนั้นลงใน data mart \ warehouse จากนั้นคุณสร้างกระบวนงานที่เก็บไว้ด้านบนของตลาดเพื่อสร้างผลลัพธ์ที่ใช้โดยเครื่องมือการรายงาน (SSRS \ Excel \ etc) เพื่อสร้างการแสดงภาพประกอบเพลง ฉันพยายามที่จะเข้าใจวิธีการใช้ TDD และการทดสอบหน่วยที่เหมาะสมในสถานการณ์นี้ การทดสอบสำหรับ ETL นั้นส่วนใหญ่เกี่ยวกับการทำให้มั่นใจว่าข้อมูลที่โหลดในตาราง staging ตรงกันคือเซ็ตย่อยที่ถูกต้องของข้อมูลจากแหล่งที่มา ดังนั้นการนำการทดสอบไปใช้จะนำไปสู่การใช้ ETL รุ่นมินิ ผลลัพธ์ของรายงาน SP ขึ้นอยู่กับข้อมูลในตารางด้วยตนเองดังนั้นจึงไม่มีชุดข้อมูลเอาต์พุตที่เสถียรโดยไม่ต้องมีฝันร้ายในการบำรุงรักษาแม้ว่าคุณจะสร้างฐานข้อมูลที่มีข้อมูลการทดสอบแบบสครับ ตัวอย่าง: …
12 unit-testing  sql  tdd 

4
ตัวอย่างก่อนหน้านี้สำหรับเหตุผลที่ Prolog ได้รับความนิยมน้อยกว่า SQL ในการเขียนโปรแกรมเชิงซ้อน [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา มันดูเหมือนว่าจะเขียนบอกเล่า SQLเป็นที่นิยมมากในการเขียนโปรแกรมจำเป็น อย่างไรก็ตามมันก็ดูเหมือนว่าการเขียนDeclarative Prologสามารถบันทึกความซับซ้อนมากมาย แต่นี่ไม่ใช่เรื่องธรรมดา มีแบบอย่างในอดีตสำหรับการตั้งค่าที่ชัดเจนของ SQL มากกว่า Prolog นี้หรือไม่? หากเหตุผลคือขาดการสนับสนุนดั้งเดิมโดยภาษาที่จำเป็นแล้วเป็นไปได้ไหมที่จะตอบว่าทำไมผู้สร้างภาษาไม่พบว่ามีประโยชน์ในการสนับสนุนโดยกำเนิดPrologตั้งแต่แรก? เพื่อให้ตัวอย่างเฉพาะ: ตัวอย่างที่ 1 การ ประเมินแอปพลิเคชันสินเชื่ออาจเป็นโค้ดเพียงไม่กี่บรรทัดPrologเช่นSELECT/JOINข้อความค้นหาที่เป็นโค้ดเพียงไม่กี่บรรทัดSQLแต่ดูเหมือนว่าข้อดีจะไม่ชัดเจนเท่าที่SQLควร ตัวอย่างที่ 2 นี่คือปัญหาตัวอย่างอื่นและวิธีแก้ไขใน Prolog โปรแกรมตรรกะข้อ จำกัด ต่อไปนี้แสดงชุดข้อมูลที่ง่ายของประวัติของ john ในฐานะครู: teaches(john, hardware, T) :- 1990 ≤ T, T < 1999. teaches(john, software, T) :- 1999 ≤ T, T …

4
C # Minimal SQL Database
ฉันกำลังทำงานในโครงการขนาดเล็ก (ไม่ใช่การผลิต) ที่ฉันต้องการจัดเก็บข้อมูลเพียงพอว่าบางสิ่งเช่น CSV จะไม่มีประสิทธิภาพในการประมวลผลและเซิร์ฟเวอร์ SQL / MySQL จะมากเกินไป . Net มีวิธีใดในการจัดเก็บข้อมูลหลายรายการอย่างมีประสิทธิภาพด้วยความสามารถในการสืบค้นโดยไม่ต้องจัดการและเชื่อมต่อกับเซิร์ฟเวอร์แทนที่จะโหลดและประมวลผลไฟล์เดียว
12 c#  database  sql 

4
การจัดเก็บข้อมูลแบบกรัม
ฉันหวังว่าจะระดมสมองเล็กน้อยเกี่ยวกับเรื่องการจัดเก็บข้อมูลn -gram ในโครงการของฉันฉันพยายามในการแก้ปัญหาทางภาษาที่ฉันรู้ทั้งหมด ( nรายการ -1) ข้อมูลและต้องการที่จะคาดเดาสถิติของฉันnใช้สอดแทรกเชิงเส้นมากกว่าที่บังคับใช้ทั้งหมดn -grams (ใช่มีตัวแท็กเกอร์ที่กำหนดแท็กให้กับคำที่รู้จักตามพจนานุกรมและต้นไม้ต่อท้ายที่พยายามเดาชนิดคำสำหรับคำที่ไม่รู้จัก; องค์ประกอบn -gram ที่กล่าวถึงที่นี่จะได้รับมอบหมายด้วยการแก้ไขความคลุมเครือ) วิธีการเริ่มต้นของฉันคือการเก็บข้อมูลn -grams (สำหรับn = 1..3 ที่สังเกตได้ทั้งหมดคือ monogram, bigram, trigram) ในฐานข้อมูล SQL ที่เกี่ยวข้องและเรียกมันต่อวัน แต่ข้อกำหนดของโครงการของฉันอาจเปลี่ยนเป็นความยาวเวกเตอร์อื่น ๆ ( n ) และฉันต้องการให้แอปพลิเคชันของฉันปรับให้เหมาะกับ 4 กรัมโดยไม่ต้องทำงานมาก (อัปเดตสคีมาอัปเดตรหัสแอปพลิเคชัน ฯลฯ ); นึกคิดฉันจะบอกให้แอปพลิเคชันของฉันทำงานด้วย 4 กรัมในขณะนี้โดยไม่ต้องเปลี่ยนรหัสมาก (หรือเลย) และฝึกอบรมข้อมูลจากแหล่งข้อมูลที่กำหนด เพื่อสรุปข้อกำหนดทั้งหมด: ความสามารถในการเก็บข้อมูลn -gram (เริ่มแรกสำหรับn = {1, 2, 3} ความสามารถในการเปลี่ยนชนิดของn -grams …

17
ยังคงมีความจำเป็นในการเขียน SQL หรือไม่?
ด้วยเครื่องมือ ORM จำนวนมากสำหรับภาษาที่ทันสมัยส่วนใหญ่ยังมีกรณีการใช้งานสำหรับการเขียนและดำเนินการ SQL ในโปรแกรมในภาษา / สภาพแวดล้อมที่สนับสนุนพวกเขาหรือไม่? ถ้าเป็นเช่นนั้นทำไม เพื่อความชัดเจน:ฉันไม่ได้ถามว่าโปรแกรมเมอร์จำเป็นต้องรู้จัก SQL หรือไม่ถ้าฉันควรมีเครื่องมือ SQL บนเดสก์ท็อปของฉัน ฉันถามโดยเฉพาะว่าทำไมฉันถึงมีมันในรหัส (หรือ config หรืออะไรก็ตาม) เมื่อเทียบกับ ORM
12 design  sql 

2
(พื้นฐาน) แบบสอบถาม SQL มีความหมายเทียบเท่ากับฟังก์ชันคำสั่งซื้อที่สูงขึ้นหรือไม่
SQL นั้นเป็นโดเมนเฉพาะของ map + fold + filter หรือไม่ ดูเหมือนว่าฉันว่า SQL ต่อไปนี้: SELECT name FROM fruits WHERE calories < 100 เป็นเพียงน้ำตาล syntactic สำหรับแผนที่ + ตัวกรอง + การดำเนินการพับ: var fruits = [{id : 1, name: 'orange', calories : 100}, {id : 2, name : 'banana', calories : 150}, {id : 3, name: …

2
แถวใดที่เรียงลำดับคำสั่งที่หายไปโดยเรียงลำดับ?
โปรแกรมเมอร์คนหนึ่งกำลังทดสอบและเปรียบเทียบแอปพลิเคชันเดียวกันซึ่งใช้โครงสร้างฐานข้อมูลเดียวกันและข้อมูลเดียวกันเฉพาะในฐานข้อมูลที่แยกกันสองแห่งหนึ่งแห่งคือ Oracle 8 และอีกแห่งหนึ่งกับ Oracle 9 แอปรันคิวรีโดยไม่มี ORDER BYส่วนคำสั่ง เขาอ้างว่าแบบสอบถาม ORDER-BY-less ควรส่งคืนแถวตามลำดับเดียวกันในฐานข้อมูลทั้งสอง ฉันบอกเขาว่าไม่มีการรับประกันของคำสั่งแถวเดียวกันเว้นแต่ว่าคุณจะอธิบายคำสั่ง ORDER BY ฐานข้อมูลมีดัชนีและคีย์เหมือนกัน แต่แผนอธิบายแสดงให้เห็นว่าในฐานข้อมูลหนึ่งเอ็นจินกำลังใช้คีย์ของหนึ่งในตารางที่เข้าร่วมขณะที่ในอีกฐานข้อมูลหนึ่งกำลังใช้ของอีกอัน เขายืนยันว่าสภาพแวดล้อมฐานข้อมูลทั้งสองนั้นไม่เท่ากันซึ่งเป็นเพราะพวกเขามีสถิติที่แตกต่างกันเครื่องยนต์ rdbms ที่แตกต่างกัน ฯลฯ แต่ไม่ใช่เพราะฉันไม่สามารถทำซ้ำทุกดัชนีที่ฐานข้อมูลเดิมมี ฉันบอกเขาว่าเขาต้องอธิบายให้ORDER BYประโยคถ้าคำสั่งนั้นสำคัญจริงๆ คำถาม ดังนั้นฉันสามารถอธิบายเขาได้ดีกว่า: แบบสอบถามดึงข้อมูลแถวใดเมื่อคุณไม่อธิบายให้เรียงลำดับ ORDER BY และทำไมแบบสอบถามนั้นไม่ส่งคืนแถวในลำดับเดียวกัน
11 sql  oracle  rdbms 

7
ฉันจะทำให้โปรแกรมเมอร์หยุดเขียนโค้ดที่เสี่ยงต่อการฉีด SQL ได้อย่างไร
บางครั้งคุณก็ยุ่งและมอบหมายงานเล็ก ๆ ให้โปรแกรมเมอร์อาวุโส แต่ถ้าคุณไม่ใส่ใจอย่างใกล้ชิดคุณจะพบว่าตัวเองใช้โค้ดประเภทนี้ในการผลิต: class DivtoggleController extends Zend_Controller_Action { public function closeAction() { /* ... code removed for brevity ... */ $req = $this->getRequest(); $formData = $req->getPost(); $d = $formData['div']; $i = $formData['id']; $dm = new Model_DivtoggleManager(); $rs = $dm->setDivToggleById($d, $i); } } class Model_DivtoggleManager extends Zend_Db_Table { public function …
11 php  sql  training 

2
จะทำการเชื่อมต่อฐานข้อมูลทั่วไปสำหรับชั้นเรียนของฉันได้ที่ไหน
ฉันมีหลายคลาส (Repositories) ซึ่งทำหน้าที่ในการบันทึก / ดึงข้อมูลวัตถุบางอย่างใน / จากฐานข้อมูล; พวกเขาทั้งหมดต้องสร้างการเชื่อมต่อกับฐานข้อมูลเดียว ฉันคิดว่าเพื่อหลีกเลี่ยงการนิยามใหม่ConnectionStringและSqlConnectionในแต่ละชั้นเรียนให้ผ่านการเชื่อมต่อแบบเปิดกับพวกเขา เมื่อใดที่ / เวลาที่ดีที่สุดในการกำหนด / เปิดการเชื่อมต่อนั้นและส่งผ่านไปยังชั้นเรียนคืออะไร? มีวิธี / รูปแบบที่ดีกว่าในการเข้าถึงทรัพยากรทั่วไปนี้หรือไม่?
11 c#  sql  class-design 

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

7
เอนทิตีที่ซ้อนกันและการคำนวณเกี่ยวกับคุณสมบัติของเอนทิตีใบไม้ - วิธี SQL หรือ NoSQL
ฉันกำลังทำงานในโครงการงานอดิเรกที่เรียกว่าการจัดการเมนู / สูตร นี่คือลักษณะที่หน่วยงานของฉันและความสัมพันธ์ของพวกเขามีลักษณะ NutrientมีคุณสมบัติCodeและValue IngredientมีคอลเลกชันของNutrients A Recipeมีคอลเล็กชันIngredientsและบางครั้งสามารถมีคอลเล็กชันอื่นได้recipes A Mealได้รวบรวมRecipesและIngredients A Menuมีคอลเล็กชันของMeals ความสัมพันธ์สามารถอธิบายได้ว่า ในหน้าใดหน้าหนึ่งสำหรับเมนูที่เลือกฉันจำเป็นต้องแสดงข้อมูลสารอาหารที่มีประสิทธิภาพซึ่งคำนวณจากส่วนประกอบ (อาหารสูตรอาหารส่วนผสมและสารอาหารที่เกี่ยวข้อง) ณ ตอนนี้ฉันกำลังใช้ SQL Server เพื่อจัดเก็บข้อมูลและฉันกำลังนำทางลูกโซ่จากรหัส C # ของฉันเริ่มจากอาหารแต่ละมื้อของเมนูแล้วรวบรวมค่าสารอาหาร ฉันคิดว่านี่ไม่ใช่วิธีที่มีประสิทธิภาพเนื่องจากการคำนวณนี้กำลังทำทุกครั้งที่มีการร้องขอหน้าเว็บและมีการเปลี่ยนแปลงองค์ประกอบในบางครั้ง ฉันคิดเกี่ยวกับการให้บริการพื้นหลังที่รักษาตารางที่เรียกว่า MenuNutrients ( {MenuId, NutrientId, Value}) และจะเติม / อัปเดตตารางนี้ด้วยสารอาหารที่มีประสิทธิภาพเมื่อมีองค์ประกอบใด ๆ (Meal, Recipe, Ingredient) เปลี่ยนแปลง ฉันรู้สึกว่า GraphDB เหมาะสำหรับความต้องการนี้ แต่การได้รับ NoSQL ของฉันมี จำกัด ฉันต้องการที่จะรู้ว่าสิ่งที่เป็นทางเลือกวิธีการแก้ปัญหา / แนวทางในการแสดงสารอาหารของเมนูที่กำหนด หวังว่าคำอธิบายของฉันเกี่ยวกับสถานการณ์จะชัดเจน

4
แบบสอบถามฐานข้อมูลควรถูกแยกออกจากหน้าตัวเองหรือไม่?
เมื่อเขียนการสร้างหน้าใน PHP ฉันมักจะพบว่าตัวเองกำลังเขียนไฟล์ที่เกลื่อนไปด้วยแบบสอบถามฐานข้อมูล ตัวอย่างเช่นฉันอาจมีแบบสอบถามเพื่อดึงข้อมูลบางอย่างเกี่ยวกับการโพสต์โดยตรงจากฐานข้อมูลเพื่อแสดงบนหน้าเช่นนี้: $statement = $db->prepare('SELECT * FROM posts WHERE id=:id'); $statement->bindValue(':id', $id, PDO::PARAM_INT); $statement->execute(); $post = $statement->fetch(PDO::FETCH_ASSOC); $content = $post['content'] // do something with the content ข้อความค้นหาแบบครั้งเดียวที่รวดเร็วเหล่านี้มักจะเล็ก แต่บางครั้งฉันก็ลงท้ายด้วยรหัสการโต้ตอบของฐานข้อมูลขนาดใหญ่ซึ่งเริ่มดูยุ่งเหยิง ในบางกรณีฉันได้แก้ไขปัญหานี้ด้วยการสร้างไลบรารีฟังก์ชันที่ใช้งานง่ายเพื่อจัดการคิวรี db ที่เกี่ยวข้องกับการโพสต์ของฉันทำให้บล็อกโค้ดนั้นสั้นลงง่ายๆ $content = post_get_content($id); และนั่นก็ยอดเยี่ยม หรืออย่างน้อยก็จนกว่าฉันจะต้องทำอย่างอื่น บางทีฉันอาจต้องได้รับห้าโพสต์ล่าสุดเพื่อแสดงในรายการ ฉันสามารถเพิ่มฟังก์ชั่นอื่นได้เสมอ: $recent_posts = post_get_recent(5); foreach ($recent_posts as $post) { ... } …

3
XML กับ SQL สำหรับโครงการขนาดเล็ก?
ฉันกำลังทำงานในโครงการขนาดเล็กซึ่งจะมีผู้ใช้ครั้งละหนึ่งคนเท่านั้นเนื่องจากเป็นแอปพลิเคชันในพื้นที่ (พัฒนาใน WPF และ C #) ในการจัดเก็บข้อมูลฉันคิดว่าจะใช้ไฟล์ XML แต่ฉันสงสัยว่านี่จะเป็นวิธีที่ดีที่สุดหรือไม่ ข้อมูลมีไว้สำหรับ: Shedules คลังไฟล์ในโฟลเดอร์ (ที่มีชื่อศิลปิน, ชื่อ, ตำแหน่งบน HDD) อาจเป็นไปได้ว่าสถิติขึ้นอยู่กับข้อมูล shedule ... ข้อมูลเกี่ยวกับห้องสมุดจะดีใน XML ฉันนึก แต่เกี่ยวกับส่วนที่เหลือทั้งหมดฉันไม่แน่ใจ นอกจากนี้ LINQ ไปยัง SQL ดูเหมือนจะสร้างผลกำไรได้มากขึ้นในแง่ของความเร็วในการพัฒนามากกว่า LINQ ถึง XML สิ่งนี้ถูกต้องหรือฉันผิด ฉันไม่แน่ใจว่าควรโพสต์สิ่งนี้บน SO หรือที่นี่ แต่มันดูเหมาะสมกว่าที่นี่! ขอบคุณล่วงหน้า
10 sql  wpf  xml 

6
โครงการพัฒนาเว็บประเภทใดที่ได้รับประโยชน์จากการใช้ ORM
ฉันจะเริ่มด้วยการบอกว่าฉันได้ทำฐานข้อมูลของฉัน 95% โดยใช้ SQL เมื่อเร็ว ๆ นี้ฉันได้ทำการตรวจสอบ ORM ต่างๆเช่น NHibernate และ Doctrine ฉันสามารถเห็นข้อดีของการไม่จำเป็นต้องรู้ SQL และความสามารถในการพกพาฐานข้อมูลที่ ORM ให้ แต่ฉันสามารถเห็นได้ว่าการรู้ว่า SQL จะทำให้ ORM ทำงานได้อย่างมีประสิทธิภาพมากขึ้นและฉันสามารถคิดได้เพียงครั้งเดียวในอาชีพของฉันว่าการเปลี่ยนแปลงครั้งใหญ่ที่สุดของแอปพลิเคชันจะเป็นผู้จำหน่ายฐานข้อมูล เนื่องจากฉันรู้สึกสะดวกสบายในการเขียน SQL และเห็นได้ชัดว่าไม่ได้ตระหนักถึงประโยชน์ที่ได้รับการสอนบ่อยครั้งในการใช้ ORM คำถามของฉันสำหรับผู้ใช้ ORM ที่หนักหน่วงคือ: โครงการพัฒนาเว็บประเภทใดที่ได้รับประโยชน์สูงสุดจากการใช้ ORM

12
“ SELECT *” อ่านเป็นภาษาอังกฤษอย่างไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา วันอื่น ๆ ที่เพื่อนบอกว่าในประเทศสหรัฐอเมริกาพวกเขาออกเสียง SQL เช่นsquelไม่ES-คูเอล ฉันรู้สึกประหลาดใจ. ฉันสงสัยว่า "SELECT *" อ่าน / ออกเสียงอย่างไรขณะพูด เลือกดาว? เลือกดอกจันหรือไม่ เลือกทั้งหมด?
10 sql 

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