แนวคิด SQL เหล่านี้สำหรับผู้เริ่มต้น, ระดับกลาง, หรือนักพัฒนาขั้นสูงหรือไม่? [ปิด]


16

ฉันได้เรียนรู้ SQL เมื่อเร็ว ๆ นี้และฝึกฝนกับ MySQL / Postgres และ Oracle DB ในไม่ช้า ฉันยังค้นหาเว็บเพื่อศึกษา 'แผนที่ถนน' ของฐานข้อมูล แต่หาไม่เจอโชคไม่ดี

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

โปรดอธิบายวิธีการจัดวางทักษะที่แสดงด้านล่างเพื่อความก้าวหน้าของ Beginner -> Intermediate -> Advanced สำหรับนักพัฒนาระดับใดที่ควรรู้จักพวกเขา:

  • ตรงไหน
  • อัปเดตไวยากรณ์
  • ร่วม
  • แก้ไขและสร้างคำสั่ง
  • ตารางชั่วคราว
  • เคอร์เซอร์
  • ดัชนี
  • กุญแจต่างประเทศ
  • ข้อ จำกัด
  • การทำธุรกรรม
  • subqueries
  • จุดหมุน
  • ฟังก์ชันการรวม
  • โปรไฟล์
  • OLAP และ OLTP
  • ทริกเกอร์
  • แผนการดำเนินการ
  • คำแนะนำการดำเนินการ
  • ตัวนับประสิทธิภาพ
  • normalization

คำตอบ:


20

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

ที่กล่าวว่านี่เป็นเลย์เอาต์ทั่วไปที่ฉันจะไปด้วยและฉันก็เปิดรับความคิดเห็น / ความคิดจากคนอื่น ๆ ที่ฉันอาจผิด

ผู้เริ่ม

  • ที่ไหน clauses (ในระหว่าง ฯลฯ )
  • อัปเดตไวยากรณ์
  • Inner vs left vs right เข้าร่วมทำความเข้าใจและการใช้งาน
  • ไวยากรณ์สำหรับการแก้ไขและการสร้างโครงสร้าง
  • ตารางชั่วคราวและการใช้งาน
  • เคอร์เซอร์
  • แนวคิดพื้นฐานว่าดัชนีใดที่มีไว้สำหรับแม้ว่าจะไม่ใช่วิธีการทำงาน
  • การทำความเข้าใจเกี่ยวกับคีย์ต่างประเทศที่ใช้และวิธีแก้ไข (ลบแบบเรียงซ้อนเป็นต้น)
  • เข้าใจพื้นฐานของการทำธุรกรรม
  • เข้าใจข้อ จำกัด

สื่อกลาง

  • วิธีการทำงานของดัชนีความแตกต่างระหว่างการทำคลัสเตอร์ที่ไม่ทำคลัสเตอร์ ฯลฯ สิ่งที่หน้าคืออะไรและวิธีการจัดวาง
  • ความเข้าใจเกี่ยวกับเคียวรีย่อยและสามารถคิดผ่านการใช้พวกเขาในการรวมและ wheres
  • จุดหมุน
  • สามารถคิดผ่านการเข้าร่วมโต๊ะในตัวเองเมื่อมีความเกี่ยวข้อง
  • สามารถสร้างรายงานข้อมูลที่ซับซ้อนผ่านกลุ่มไบต์ด้วยฟังก์ชั่นรวม
  • สามารถทำโปรไฟล์พื้นฐานเพียงแค่ในความสามารถในการตรวจสอบ / แก้ไขจุดบกพร่องเช่นการอ่านบันทึก
  • ทำความเข้าใจความแตกต่างระหว่าง OLAP และ OLTP และเมื่อ / ที่ไหนที่จะใช้โครงสร้าง OLAP
  • รู้วิธีใช้ทริกเกอร์และไม่ใช้
  • ทำความเข้าใจกับการทำธุรกรรมและสามารถเลเยอร์พวกเขาจัดการความล้มเหลวในสแต็ก

สูง

  • สามารถอ่านแผนการดำเนินการและเข้าใจว่าส่วนต่างๆของแบบสอบถามมีผลอย่างไร
  • สามารถปรับแต่งแบบสอบถามด้วยคำแนะนำในการดำเนินการโดยไม่ทำให้ประสิทธิภาพการทำงานแย่ลง (คำแนะนำแบบขนานคำแนะนำดัชนีคำใบ้วนซ้ำและอื่น ๆ )
  • สามารถโพรไฟล์และใช้การติดตามเพื่อระบุและทำความเข้าใจสถิติของการประหารชีวิตภายใต้ภาระที่เกิดขึ้นจริง
  • รู้ว่าโครงสร้างข้อมูลอยู่ในดิสก์
  • สามารถใช้ตัวนับประสิทธิภาพและทำความเข้าใจกับโหลดและพฤติกรรมของฐานข้อมูลจากการตรวจสอบ
  • รู้วิธีการออกแบบลูกบาศก์ OLAP และทำเหมืองข้อมูลขั้นสูงด้วยหนึ่งก้อน
  • รู้วิธีใช้ทริกเกอร์และวิธีใช้อย่างปลอดภัยโดยมีความเสี่ยงน้อยที่สุด
  • รู้วิธีใช้ธุรกรรมแบบกระจายแม้ว่าจะมีเลเยอร์

นั่นคือทั้งหมดที่ฉันสามารถทำได้โดยถอดหัวของฉันออก โปรดแสดงความคิดเห็นที่กล่าวถึงคนอื่นที่ฉันพลาดหรือถ้าฉันใส่อะไรผิดที่ ฉันยังไม่ก้าวหน้าพอที่จะรู้เทคนิคขั้นสูงมากมายที่จะนำมาลง Heh


น่าสนใจเพียงเพื่อดูรายการสองรายการของเราเคียงข้างกัน
Chris Pitman

11

นี่คือมาตราส่วนที่ฉันใช้ขณะสัมภาษณ์ผู้สมัคร เห็นได้ชัดว่าเป็นความเห็นส่วนตัวของฉันเองเครื่องชั่งสามารถเปลี่ยนแปลงได้อย่างง่ายดาย:

ก่อนอื่นฉันกำลังมองหาทักษะฐานข้อมูลไม่ใช่เฉพาะ "SQL"

เริ่มต้น:

  • รู้ไวยากรณ์ SQL พื้นฐาน
  • สามารถเลือกและกรองข้อมูลข้ามหลายตารางได้
  • เข้าใจการเชื่อมต่อภายใน / ภายนอก / ข้าม
  • ความเข้าใจที่ชัดเจนของการทำให้เป็นมาตรฐานการทำดัชนีธุรกรรมการล็อก

กลาง:

  • เข้าใจถึงความแตกต่างระหว่างโพรซีเดอร์และสไตล์ที่ประกาศสำหรับ SQL
  • ประสบการณ์กับส่วนขยายฐานข้อมูล SQL อย่างน้อยหนึ่งรายการ (PSQL, TSQL และอื่น ๆ )
  • เข้าใจและสามารถออกแบบฐานข้อมูลในรูปแบบปกติที่สาม
  • ทำความเข้าใจและสามารถใช้การจัดทำดัชนี
  • เข้าใจการทำธุรกรรมและสามารถใช้พวกมันในฐานข้อมูลเดียว
  • รู้ว่าเมื่อใดและอย่างไรในการวิเคราะห์แผนการดำเนินการ

ขั้นสูง:

  • ทำความเข้าใจเกี่ยวกับเวลาและวิธีการทำให้ฐานข้อมูลผิดปกติ
  • ทำความเข้าใจวิธีตั้งค่าธุรกรรมแบบกระจายข้ามฐานข้อมูลและระบบรวม
  • สามารถตั้งค่าฐานข้อมูลสำหรับความพร้อมใช้งานสูงการกู้คืนข้อมูล ฯลฯ
  • ความเข้าใจที่ลึกซึ้งเกี่ยวกับการทำงานภายในของเครื่องยนต์ DB แต่ละตัว (อย่างน้อยสองตัว)
  • คะแนนพิเศษสำหรับการเปิดรับข้อมูลคลังสินค้าและการรายงานที่สำคัญ
  • คะแนนพิเศษสำหรับการเปิดเผยที่สำคัญกับตัวแปรของ NoSQL และชุดของเกณฑ์ที่มีเหตุผลสำหรับการใช้งานเมื่อใด

ตลกรายการของคุณค่อนข้างคล้ายกับของฉัน แม้ว่าฉันจะวางแผนปฏิบัติการไว้หนึ่งขั้นตอนมิฉะนั้นเราก็มีพื้นฐานเดียวกัน ฉันเกือบจะทำให้รูปแบบปกติที่ 3 อยู่ในระดับกลาง แต่ฉันคิดว่าการสร้างแบบจำลองข้อมูลไม่สามารถกำหนดให้กับผู้เริ่มต้น / ขั้นกลาง / ขั้นสูงได้มันเป็นพรสวรรค์ทางศิลปะที่มากจนเกินไป รู้วิธีการทำปกติที่ 3 คือทักษะการรู้ว่าเมื่อไหร่คือศิลปะ วิธีการที่เกี่ยวข้องและฉันเกือบจะใส่ลงในระดับกลางเช่นกันสำหรับ heh ที่
Jimmy Hoffa
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.