คุณยังไม่มีสินค้าในรถเข็น

สื่อการสอน SQL Server 2005

สื่อการสอน SQL Server 2005

รหัสสินค้า: P-PRO-05
ISBN: 9789749764909
สื่อการสอน SQL Server 2005 เนื้อหามากที่สุดในประเทศไทย โดย อ.ธงชัย พยุงภร

สถานะของสินค้า : สินค้าพร้อมส่ง

ราคาปกติ: 240 บาท

ราคาพิเศษ 216 บาท

ได้รับ 216 คะแนน เมื่อซื้อสินค้าชิ้นนี้

ISBN 9789749764909
รายละเอียดสินค้า

สื่อการสอนชุด "SQL Server 2005 QuickStart Tutorials" ที่ทางสำนักพิมพ์เอ็มไอเอส ร่วมกับ อ.ธงชัย พยุงภร ผลิตออกมานี้ เหมาะสำหรับผู้ใช้ทุกระดับ ตั้งแต่ระดับเบื้องต้นไปจนถึงระดับมืออาชีพ เนื่องจากมีเนื้อหาที่เจาะลึกอย่างละเอียดมากที่สุด ซึ่งเป็นอีกหนึ่งความภูมิใจที่ทีงานของเรา พร้อมที่จะนำเสนอให้กับคุณได้มีไว้เพื่อใช้ในการศึกษาต่อไปได้เป็นอย่างดี

เนื้อหาในซีดีแผ่นที่ 1

1. บทนำ และเนื้อหาใน CD-ROM ชุดนี้

  • เน้นเนื้อหา T-SQL ใหม่ ๆ ใน SQL 2005
  • เนื้อหาจะแตกต่างจาก CD-ROM Training ในชุดก่อนตรงในชุดก่อนหน้านี้เป็น SQL Server 2000 และ Visual Basic 6.0 แต่ในชุดนี้จะเป็น SQL Server 2005 กับ VB.NET ในชุด Visual Studio.NET 2005
  • เน้นในส่วนของการเขียน Stored Procedures และ Triggers
  • เน้นการเขียน CLR (Common Language Runtime) ใน SQL Server 2005
  • การเรียกใช้งานในด้านต่าง ๆ จาก VB.NET ไปยัง SQL Server 2005
  • ตัวอย่าง Databases ใน CD-ROM

2. ลำดับขั้นตอนในการติดตั้ง IIS, Visual Studio.NET และ SQL Server 2005

  • ให้ติดตั้ง IIS ก่อน เพราะจะมีส่วนของ Reporting Services ที่ต้องการใช้งานในส่วนของ Web Server
  • ติดตั้ง Visual Studio.NET 2005 และ SQL Server Express
  • ติดตั้ง SQL Server 2005 ให้เป็น Instance ในกรณีที่มี SQL Server Version อื่นก่อนหน้านี้

3. การ Connect Database โดยใช้ SQL Server Management Studio และการ Connect ในรูปแบบ Instances

  • การ Connect Database โดยใช้ SQL Server Management Studio แทน Query Analyzer เดิม
  • การ Connect SQL Server ในรูปแบบ Instance
  • ทดสอบ Query เพื่อดึงข้อมูล โดยใช้ New Query แล้วทดลองติดต่อ Database ดู
  • การ Attach Databases ตัวอย่าง : Northwind และ Pubs
  • ส่วนของ Databases ที่ใช้ Reporting Services

4. Registered Servers, Instances ของ SQL Server ในเครื่อง และ Windows Authentication

  • Registerd Servers เพื่อตรวจสอบ Instances ของ SQL Server ในเครื่อง
  • Instances ต่าง ๆ ในเครื่อง
  • Windows Authentication สำหรับ SQL Server Express

5. การใช้ row_number() over… เพื่อให้มีเลข Running Number และการใช้ use เพื่อเปลี่ยน Databases

  • การใช้ Use เพื่อเปลี่ยน Database
  • การ Comments ในส่วนของ SQL Statement
  • การใช้ Object Explorer ในการตรวจสอบ Objects ของ Databases
  • การใช้ Row_Number() Over…
  • ประโยชน์การใช้ Row_Number() ใน Web เพื่อแบ่งข้อมูลเป็นหน้า ๆ ช่วยในการเพิ่ม Performance
  • ความจำเป็นในการใช้ Order by ในส่วนต่าง ๆ

6. การใส่เงื่อนไข row_number() ในลักษณะ SubQuery

  • ถ้าใส่เงื่อนไขให้กับ Row_Number ตามเงื่อนไขที่ต้องการ จะผิด
  • การดึงข้อมูล Row_Number ตามช่วงที่ต้องการในลักษณะ Sub Query
  • การดึงข้อมูล Row_Number ในช่วง 1-50

7. การใช้ Common Table Expression (CTE) ในการ Filter row_number() ตามช่วงที่ต้องการ

  • การใช้ Common Table Expression (CTE) ในรูปแบบ With เพื่อดึงข้อมูล Row_Number() ตามช่วงที่ต้องการ
  • การใช้ CTE แทน SubQuery
  • ข้อควรระวังในการใช้ CTE

8. การตั้ง Alias ของ Tables เพื่อ Join กับ SubQuery ที่หาค่า Average ของราคาสินค้า

  • การเขียน SQL Statement เพื่อ inner join กับ SubQuery
  • การตั้ง Alias ให้กับ Tables และ SubQuery เพื่อใช้ในการ Join
  • ระวังการใช้ชื่อ Fields ที่ซ้ำกัน - SubQuery ที่สร้างขึ้นมีการหา Average ของราคาสินค้า
  • ข้อมูลที่เป็น Null จะไม่ได้มา Join กัน
  • การใช้ชื่อ Field ที่เป็น Alias ของ SubQuery

9. การใช้ Common Table Expression (CTE) แทนรูปแบบ SubQuery ที่หาค่า Average ของราคาสินค้า

  • การใช้ Common Table Expression แทน SubQuery
  • ข้อควรระวังในการอ้าง Fields ที่ซ้ำกัน
  • การใช้ Inner Join กับ CTE

10. การใช้ Ranking Functions อื่นๆ ได้แก่ Rank, Dense_Rank, NTile และข้อแตกต่างกันของแต่ละแบบ

  • ทบทวน inner Join โดยใช้ Alias ของ Tables
  • การใช้ Rank เพื่อจัดลำดับที่ ถ้าซ้ำกันจะข้าม
  • การใช้ Dense_Rank ถ้าซ้ำกัน ลำดับต่อไปจะไม่ข้าม
  • การใช้ NTile เพื่อแบ่งข้อมูลออกเป็นกลุ่ม ๆ ให้พอ ๆ กัน

11. Connection String ในการเขียน VB.NET เพื่อติดต่อกับ SQL Server แบบ OleDb

  • ทดสอบการเขียนโปรแกรมใน Windows Application โดยใช้ VB.NET
  • Connection String ที่ใช้เขียนติดต่อกับ SQL Server แบบ OLEDB
  • การใช้ OleDbDataAdapter และ DataTable
  • นำข้อมูลมาแสดงใน DataGridView
  • Connection String ในการติดต่อเข้า SQL Server ในลักษณะ Instance

12. การเขียน Connection String แบบอื่นๆ ในการติดต่อเข้า SQL Server และการเขียน Connection String แบบ Windows Authentication

  • การเขียน Connection String แบบอื่น ๆ
  • การอ้าง Server ในรูปแบบ (local)
  • Parameters ของ Connection String ในรูปแบบต่าง ๆ
  • การเขียน Connection String แบบ Windows Authentication

13. Connection String ในการติดต่อแบบ SqlClient แบบต่างๆ และการเลือกระหว่าง SqlClient และ OleDb

  • เปรียบเทียบการใช้และการเลือกระหว่าง OleDb และ SqlClient
  • Connection String ของ SqlClient
  • ข้อดีและข้อเสียของ SqlClient
  • เทคนิคในการอ้าง Object ของ SqlClient คล้ายกับ OleDb แต่เปลี่ยนเล็กน้อย

14. การสร้าง Views และการใช้ sp_helptext เพื่อตรวจสอบ SQL ของ Views

  • คำสั่งสร้าง View ใน SQL Server
  • การใช้ exec sp_helptext เพื่อตรวจสอบข้อความใน View ที่เขียนเป็น Sql Statement
  • ประโยชน์ในการสร้าง View

15. การสร้าง Class เพื่อเรียกใช้งาน Databases ได้ง่ายขึ้น และการใช้ Distinct เพื่อเลือกข้อมูลที่ไม่ซ้ำกันมาใส่ใน ComboBox

  • การวางตัวแปร Public ใน Module เพื่อใช้ทั้ง Project
  • การสร้าง Class สำหรับ SQL Server
  • การเปลี่ยน Startup Form ในการ Test โปรแกรมของ VB.NET
  • การใช้ Distinct เพื่อเลือกข้อมูลที่ไม่ซ้ำกัน
  • การใส่ข้อมูลเข้า ComboBox โดยการอ้าง DisplayMember และ ValueMember

16. การใช้ union เพื่อเพิ่มแถวว่างๆ ใน ComboBox และการเพิ่มแถว (All) โดยใช้ DataRow และ InsertAt เพื่อแทรกข้อมูลในแถวที่ต้องการ

  • การใช้ union เพื่อเพิ่มค่าคงที่ในข้อมูลที่ Select ได้
  • การใช้เทคนิค datarow เพิ่มแถวลงใน DataTable เพื่อให้ ComboBox มีบรรทัดว่าง 1 บรรทัด และ (All)
  • การใช้ InsertAt กับ Datarow เพื่อแทรกแถวข้อมูลในตำแหน่งที่ต้องการของ DataTable

17. การสร้าง DataTables และ Column ใหม่ในเครื่อง Client และการ Filter Data ระหว่าง ComboBox 2 ตัว ที่มีข้อมูลสัมพันธ์กัน

  • การสร้าง DataTable ใหม่ที่ Client
  • การ Add Column ให้กับ DataTable
  • ประโยชน์ของการสร้าง DataTable ใน Memory ของ Client
  • เขียนโปรแกรมเพื่อ Filter ข้อมูล ระหว่าง ComboBox 2 ตัว ที่มีข้อมูลสอดคล้องกัน

18. การเพิ่ม Performance โดยใช้ DataView เพื่อดึงข้อมูลมาที่ Client ไม่ต้องดึงจาก SQL Server ใหม่ทุกครั้ง

  • ปรับปรุงข้อมูล ComboBox 2 ตัวที่มีข้อมูลที่สัมพันธ์กัน โดยใช้ DataView
  • การสร้าง DataView จาก DataTable
  • ข้อแตกต่างของ DataView และ DataTable
  • ลดการดึงข้อมูลจาก Server ทุกครั้ง โดยใช้ DataView
  • การใช้ RowFilter ของ DataView
  • การใช้ ComboBox ในรูปแบบ Items.Add แทนที่จะใช้วิธีกำหนด DataSource
  • แต่ละแถวของ Dataview คือ DatarowView - แต่ละแถวของ DataTable คือ Datarow

19. การ Query ข้อมูลแบบมากกว่า 1 เงื่อนไข และแต่ละเงื่อนไขอาจใส่ค่า หรือไม่ใส่ค่าก็ได้

  • เทคนิค การ Query ข้อมูลมากกว่า 1 เงื่อนไข และแต่ละเงื่อนไข อาจมีค่าหรือไม่ก็ได้
  • ในกรณีที่ ComboBox ไม่ได้ใช้ DataSource ห้ามใช้ SelectedValue เพราะจะได้ค่า Nothing ให้ใช้ Text แทน
  • Query ข้อมูลจาก View ที่สร้างขึ้น เพราะลดการเขียน SQL ที่ยืดยาว

20. ข้อแตกต่างระหว่าง varchar, nvarchar, text, ntext และรูปแบบที่ปรับปรุงใน SQL Server 2005

  • ข้อแตกต่างระหว่าง Data Types ประเภท varchar, nvarchar, text และ ntext
  • ค่าสูงสุดของ varchar และ nvarchar ใน SQL Server 2000 และ SQL Server 2005
  • สาเหตุที่ต้องมี varchar(max) และ nvarchar(max) ใน SQL Server 2005

21. ข้อแตกต่างระหว่าง char, varchar, nvarchar และข้อควรระวังในการใช้ Functions ที่เกี่ยวกับ String

  • ข้อแตกต่างระหว่าง char, varchar และ nvarchar
  • ตัวอย่างระวังการใช้เกี่ยวกับ string และ function ที่เกี่ยวกับ string เพราะบางอย่าง limit ไว้ที่ 8000 ตัวอักษร และวิธีการแก้ไข
  • การประกาศตัวแปรใน SQL Server โดยใช้ declare และตัวแปรทุกตัวต้องขึ้นต้นด้วย @
  • ระวังเรื่องการต่อ string ที่จะตัดทีละ 8000 ตัวอักษร
  • การใช้ replicate, len และ substring และข้อควรระวังเมื่อใช้กับ varchar(max)

22. การเปลี่ยนชื่อ Fields อีกแบบใน Common Table Expressions

  • การเปลี่ยนชื่อ Field อีกแบบใน CTE (Common Table Expressions)
  • การอ้าง Relation กับชื่อ Field ใน CTE ต้องอ้างให้ถูกต้อง
  • การเปลี่ยนชื่อ Field แบบนี้เพื่อใช้ประโยชน์ในการ Recursive

23. การใช้ CTE แบบ Recursive ในงานที่มีการเก็บข้อมูลในลักษณะพนักงานคนนี้ มีใครเป็นหัวหน้า

  • การประยุกต์ใช้ CTE ในลักษณะ recursive
  • เทคนิคการอ้าง CTE แบบ recursive
  • ประยุกต์ใช้ในงานที่เก็บ EmployeeID, ManagerID ว่าพนักงานคนนี้มีใครเป็นหัวหน้า
  • การใช้ Union All - ระวังการใช้ Null ใน SQL Server

24. นำข้อมูล Recursive CTE มาแสดงระดับจากผู้บริหารชั้นสูงสุด จนถึงระดับล่างลงไปเรื่อยๆ จากข้อมูลที่ Self Relation ใน Tables ของตัวมันเอง

  • แสดงระดับ เพื่อให้ทราบผลของการ Recursive ว่าอยู่ระดับการทำงานที่เท่าไร
  • แสดงชื่อพนักงาน ชื่อหัวหน้า ระดับในแต่ละ Record โดยใช้ recursive CTE
  • ทบทวนการใช้ Cast เพื่อเปลี่ยนประเภทของตัวแปรให้อยู่ในรูปแบบเดียวกันกับข้อมูลที่มีอยู่

25. การสร้าง Stored Procedures ใน SQL Server และการประกาศตัวแปรสำหรับ Parameters

  • รูปแบบการเขียน Stored Procedures ใน SQL Server
  • Input Parameters ของ Stored Procedures
  • นำเรื่อง Row_Number() มาเขียน Stored Procedures
  • การสร้างและลบ Stored Procedures
  • การเรียกใช้ Stored Procedures

26. การสร้าง Stored Procedures แบบ Return Value และการนำค่าตัวแปรที่ Return มาใช้

  • การใช้และความหมายของ @@RowCount
  • การเปลี่ยนแปลง stored procedures โดยใช้ alter proc
  • การสร้าง Stored Procedures แบบ Return Value
  • วิธีการเรียกใช้ Stored Procedures ที่มีการ Return Value

27. การใช้ Output Parameters กับ Stored Procedures และข้อดีของการเขียน Stored Procedures

  • การสร้าง Output Parameter ให้กับ Stored Procedures
  • การเรียกใช้ output parameters ต้องระบุคำว่า output ให้กับตัวแปร
  • ผลของการเรียกใช้ จะได้ Multiple Resultset
  • เหตุผลของการเขียน Stored Procedures ที่ช่วยเพิ่ม Performance ของระบบ
  • การเขียน Statement ก่อน CTE จำเป็นต้องมี semicolon คั่น
  • การใช้ Aggregate Function : Count ให้ใช้คู่กับ * จะทำให้นับข้อมูลได้ถูกต้องกว่าที่ระบุเป็นชื่อ Field

28. เทคนิคการเขียน Stored Procedures อีกแบบ ที่ไม่ใช้ Return Value และ Output Parameters แต่ใช้ Multiple Recordsets

  • เทคนิคการ Assign ค่าเข้าตัวแปรจาก sql statement ซึ่งสามารถใช้ set หรือ select แล้วแต่กรณี
  • การเขียน Stored Procedures อีกแบบ โดยใช้ Multiple Recordsets
  • การนำตัวแปรมาตั้งเป็นชื่อ Field ใน Table ใหม่
  • การนับจำนวน Tables ที่ได้จาก Stored Procedure

29. การเรียกใช้ Stored Procedures จาก VB.NET โดยใช้ System Stored Procedures : sp_helptext และการใช้ StringBuilder

  • การเรียกใช้ Stored Procedure sp_HelpText เพื่อดู Sql Statement ของ View จาก VB.NET
  • การวน loop DataRow ของ DataTable
  • การวน loop DataRowView ของ DataView
  • การเรียกใช้ System Stored Procedures สามารถมี exec, execute หรือไม่มีก็ได้
  • การใช้ System.Text.StringBuilder ต่อ String แทนการต่อ String ทั่วไป เพื่อช่วยเพิ่ม Performance

30. การตรวจสอบ Stored Procedures ที่สร้างขึ้นว่าสร้างเมื่อไร เปลี่ยนแปลงเมื่อไร มีทั้งหมด 3 วิธี

  • การตรวจสอบรายการ Stored Procedures ที่สร้างขึ้น 3 วิธี
  • ใช้รูปแบบ sysobjects ในการตรวจสอบ
  • ใช้ information_schema ในการตรวจสอบ
  • ใช้ objects ของ sys ในการตรวจสอบ
  •  การตรวจสอบ sql statement ที่เขียนในแต่ละ Stored Procedures โดยใช้ sp_helptext

31. การตรวจสอบ Objects อื่น เช่น Tables, Views สามารถทำได้เช่นเดียวกับ Stored Procedures

  • การตรวจสอบ Objects ประเภทอื่น ๆ Tables, System Tables, Views, Triggers, Foreign Keys
  • สามารถทำการตรวจสอบได้เหมือนกับ Stored Procedures แต่เปลี่ยนรูปแบบของเงื่อนไข และ objects ที่เกี่ยวข้อง

เนื้อหาในซีดีแผ่นที่ 2

1. เตรียม Project และงานใหม่ใน CD-ROM แผ่นที่ 2

  • เตรียม Projects ใหม่สำหรับ CD Training ในแผ่นที่ 2
  • ทบทวนถึง Stored Procedures และการเรียกดู SQL Server Objects ต่อจากแผ่นแรก

2. รูปแบบของ Multiple Resultsets ใน SQL Server ซึ่งไม่มีใน Microsoft Access

  • รูปแบบของ Multiple Resultsets ใน SQL ที่ไม่มีใน Microsoft Access
  • การ Run ข้อมูลที่เป็น Batch แล้วได้ Multiple Resultsets
  • รูปแบบการเขียน SQL Statements หลาย ๆ คำสั่ง ทั้งในบรรทัดเดียวกัน หรือคั่นด้วย semicolon
  • ข้อดีของการเขียนแบบ Batch ทำให้ติดต่อ SQL Server ครั้งเดียว แต่ควรเลือกเฉพาะ Fields ที่ต้องการ และใส่เงื่อนไข where ที่ต้องการเท่านั้น
  • การ Run Stored Procedures ที่ได้ Multiple Resultsets

3. การเขียน VB.NET ในการดึงข้อมูล Multiple Resultsets มาในรูปแบบ Dataset และการอ้าง DataTable ใน Dataset

  • ดึงข้อมูลที่เป็น SQL Batch Statement มาในรูปแบบ Dataset ของ ADO.NET
  • Dataset ประกอบด้วย DataTables หลาย ๆ ตัว
  • ใช้ SQLDataAdapter Fill เข้า Dataset
  • การตรวจสอบจำนวน Tables ใน Dataset
  • การอ้าง DataTable แต่ละตัวใน Dataset

4. การดึง Multiple Resultsets จากการ Run Stored Procedures : sp_help

  • การใช้ sp_help เพื่อดูรายละเอียดของ table โครงสร้างของ Tables
  • จากการ run sp_help จะได้ทั้งหมด 9 tables
  • การตรวจสอบชื่อและจำนวนของ tables ใน Dataset
  • การดึงข้อมูลของแต่ละ DataTable มาใน Dataset มาแสดง
  • การวน loop DataTable ใน Dataset • 5. การดึงข้อมูลจาก Stored Procedures ที่สร้างขึ้นแบบที่ 1 และการดึงค่า Return Value และ Output Parameters มาแสดง
  • Stored Procedures ที่สร้างขึ้นมี Return Value และ Output Parameter
  • รูปแบบการเขียน SQL เพื่อดึงข้อมูล Return Value และ Output Parameters
  • การอ้างอิงไปที่ DataTable แต่ละตัว - การอ้างอิง DataRow ของ DataTable และการอ้าง Field ของ Return Value และ Output Parameter

6. การเรียกใช้ Stored Procedures แบบ SqlCommand และ CommandType (แบบที่ 2)

  • รู้จักกับ SqlConnection และ SqlCommand เพื่อเรียกใช้ Stored Procedure
  • การใช้ CommandTimeOut - การกำหนด CommandType ให้เป็นแบบ Stored Procedures
  • การใช้ SqlCommand ร่วมกับ SqlDataAdapter เพื่อ Fill เข้า DataTable

7. การสร้าง SqlParameters ให้กับ SqlCommand และการกำหนดประเภทของ SqlParameters

  • การสร้าง SqlParameters ให้กับ SqlCommand - การกำหนดประเภทและ Direction ของ SqlParameters
  • การกำหนดตัวแปรของ SqlParameters เมื่อไรถึงใช้ซ้ำ หรือไม่ซ้ำ
  • รูปแบบนี้ ข้อมูลที่ได้ไม่ได้เป็น Multiple Resultsets แต่ค่าจะเก็บในParameters
  • ข้อดีของการใช้ SqlParameter กับการเขียน SQL ทั่วไป
  • ชื่อของ SqlParameter ต้องขึ้นต้นด้วย @

8. ความสำคัญในการตั้งชื่อของ SqlParameters และการเรียกใช้ Stored Procedures แบบที่ 3

  • จำเป็นต้องตั้งชื่อ SqlParameters ให้เหมือนกับ Stored Procedures ที่ได้สร้างไว้
  • ตรวจสอบลำดับในการ Add SqlParameters ว่ามีผลอย่างไรหรือไม่
  • เรียกใช้ Stored Procedure ในลักษณะ CommandText แบบที่ 3
  • แบบนี้ชือของ SqlParameters จะเป็นยังไงก็ได้

9. การเรียกใช้ Stored Procedures ในรูปแบบ OleDb ในรูปแบบการใช้ call

  • การเรียก Stored Procedures แบบใช้ OleDb
  • รูปแบบการเขียนคล้าย SqlClient
  • รูปแบบ Parameters จะใช้ ? แทน @
  • ลำดับการ Add Parameters มีความสำคัญในแบบนี้
  • ใช้ call ในการเรียก Stored Procedure ซึ่งเป็นรูปแบบเฉพาะ OleDb

10. รูปแบบการใช้ in ในรูปแบบต่างๆ และการใช้งานร่วมกับ SubQuery

  • รูปแบบการใช้ IN
  • การใช้ IN ร่วมกับ SubQuery
  • ใช้ Inner Join แทน IN
  • การใช้ Estimated Execution Plan และ Performance
  • Performance ของ IN เมื่อเทียบกับ Inner Join

11. การใช้ not in และการใช้ left join เพื่อหาข้อมูลที่ไม่มีในอีก Tables หนึ่ง

  • การหาข้อมูลที่ไม่มีในอีก Table หนึ่ง (A-B)
  • ใช้เทคนิค Left Join เพื่อหาข้อมูลที่ไม่มีในอีก Table หนึ่ง
  • ข้อควรระวังในการใช้ IN และ Not IN
  • Performance ของ Not IN เมื่อเทียบกับ Left Join

12. การใช้ some หรือ any Operators เมื่อเทียบกับการใช้ in และการใช้ all

  • รูปแบบการเขียน SQL โดยใช้ Some หรือ Any Operator
  • ข้อแตกต่างจากการใช้ IN
  • สามารถใช้เครื่องหมาย >, < ได้ในกรณีที่ใช้ Some หรือ Any
  • การใช้ All แทน Left Join และ Not IN

13. การใช้ exists และรูปแบบที่ต่างจาก all, some, any, in ในการเขียน SQL Statements

  • รูปแบบการใช้ Exists
  • Exists เป็นการตรวจสอบว่ามีข้อมูลหรือไม่ ถ้าไม่มีข้อมูลจะได้ค่าเท็จ
  • ข้อแตกต่างในการเขียน SQL Statement เมื่อเทียบกับ All, Some, Any และ IN
  • การใช้ Not Exists แทน Not IN (A-B)

14. การใช้ set Operators ได้แก่ union, intersect และ except

  • รูปแบบการใช้ SET Operators ได้แก่ Union, Intersect และ Except
  • ข้อแตกต่างระหว่าง Union และ Union All
  • สามารถใช้ได้กับ Table และ View
  • จำนวน Fields ที่มา union ต้องเท่ากัน ประเภทเดียวกัน แต่ชื่อไม่จำเป็นต้องเหมือนกัน

15. การใช้ group by กับ over (partition by…) และข้อแตกต่างที่ดีกว่า เมื่อใช้ร่วมกับ CTE

  • การใช้ Group by เพื่อหา Count, Avg หรือ Aggregate Functions อื่น ๆ
  • การใช้ over (partition by…) ซึ่งเป็นเรื่องใหม่ใน SQL 2005
  • เปรียบเทียบการใช้ทั้งสองแบบ - ใช้งานร่วมกับ CTE

16. การใช้ over (partition by…) มากกว่า 1 Field เพื่อสรุปผลข้อมูลแยกตามปีและเดือน

  • การใช้ over (partition by…) สามารถ partition by ได้มากกว่า 1 Fields
  • แต่ละ Fields ที่ทำการ partition สามารถแตกต่างกันได้ไม่ต้องเหมือนกัน
  • สรุปผลข้อมูลยอดขาย แยกตามปีและเดือน เทียบสัดส่วนกับแต่ละ Order ID
  • การเขียนใช้งานร่วมกับ CTE

17. การใช้ Case ใน SQL Statements แบบเงื่อนไขเดียว และแบบหลายๆ เงื่อนไข

  • การใช้ Case ใน Sql Statement
  • รูปแบบการเขียน Case ใน SQL Statement
  • การใช้ Case แบบเงื่อนไขเดียว
  • การใช้ Case แบบหลายเงื่อนไข และในกรณีที่ข้อมูลเป็นช่วง

18. การใช้ Case กับ Aggregate Functions เพื่อ Group ข้อมูลแบบ Pivot Table

  • รูปแบบการเขียนเพื่อใช้กับ Aggregate Functions
  • เขียน SQL ให้ Group ข้อมูลยอดขายสินค้า แยกตามปีในแนว Column (Pivot Table)

19. สร้าง Stored Procedures เพื่อสรุปยอดขายสินค้าแยกตามเดือน โดยใส่ Parameters เป็นปี และจัดการให้มียอดรวมทั้งแนวตั้งและ Summary รวม

  • นำความรู้เรื่อง Case มาเขียน Stored Procedures
  • สร้าง Stored Procedures สรุปยอดขายสินค้า แยกตามเดือน โดยใส่ Parameter เป็น ปี
  • ทำยอดสรุปในแนวนอน
  • ทำยอดสรุปรวม โดยใช้ with Rollup

20. การใช้ with cube และ with rollup เพื่อสรุปยอดรวมจากการ group by

  • การใช้ Group By ร่วมกับ with Cube และ with Rollup
  • ข้อแตกต่างระหว่าง with Cube และ with Rollup
  • เปรียบเทียบการใช้เมื่อเทียบกับ over (partition by…)

21. ข้อจำกัดของ CTE เมื่อเขียนใน Stored Procedures ที่มีการใช้ order by

  • ปรับปรุง Stored Procedures ที่สรุปยอดขายสินค้าแยกตามเดือน ให้แสดงชื่อสินค้าด้วย
  • ข้อจำกัดของ CTE ที่ใช้ร่วมกับ Order By ที่เขียนใน Stored Procedures

22. การสร้าง, ลบ, แก้ไข Views และการ Encrypt Views เพื่อไม่ให้ผู้อื่นเห็น SQL Statements ของ Views นี้

  • เตรียม View สำหรับ PIVOT ในเรื่องต่อไป : โดยเลือก Fields ที่ต้องการจากการเชื่อมโยง 3 Tables
  • การสร้าง View ลบ View
  • สร้าง View แบบ Encrypt เพื่อไม่ให้ผู้อื่นเห็น SQL Statement ของ View เทคนิคนี้สามารถใช้กับ Stored Procedures ได้
  • exec sp_helptext เพื่อดู SQL Statement ของ View

23. นำข้อมูลจาก Views มาสร้าง Pivot Table แยกยอดสั่งซื้อตามปี โดยใช้ pivot ซึ่งเป็นคำสั่งใหม่ใน SQL Server 2005

  • รูปแบบในการเตรียมข้อมูลเพื่อใช้คำสั่ง PIVOT
  • จำกัด Fields ที่จำเป็นต้องใช้ในการทำ PIVOT
  • เมื่อใช้ PIVOT แล้วไม่ต้องสร้าง Group By
  • ส่วนของ Field ที่ต้องการนำมาเป็น Column จะอยู่ใน Statement หลัง For และค่าของแต่ละ Column ให้ใส่ภายใต้เครื่องหมายก้ามปู

24. การเลือก Fields ที่ต้องการจากการ Select ใน Pivot ซึ่งต่างจากที่เคยใช้ทั่วไป เปลี่ยนลำดับ Fields รวมถึงเปลี่ยนชื่อ Fields

  • การเลือกบาง Fields มาจากการใช้ PIVOT โดยไม่เอาทุก Fields
  • เทคนิคการเปลี่ยนชื่อ Fields ที่นำมาทำเป็น Column
  • ความจำเป็นในการอ้างชื่อ Fields ที่มาทำเป็น Column ต้องมีก้ามปูทุกครั้ง

25. ตัวอย่างการสร้าง Pivot อีกแบบ และการใช้ Functions : upper, left, datepart, datename - สามารถใช้ where และ order by กับ PIVOT Table ได้

  • รู้จักกับ datepart เพื่อดึงข้อมูลส่วนต่าง ๆ ของวันที่ออกมา
  • ใช้ datename เพื่อดึงข้อมูลชื่อเดือนออกมา
  • ฟังก์ชันเกี่ยวกับ string : upper, left เพื่อตัดเดือนเหลือ 3 ตัวอักษร
  • นำข้อมูลที่เตรียม มาสร้าง PIVOT Table เพื่อสรุปแยกข้อมูลยอดเงินขายสินค้า แยกตามเดือน และรายชื่อสินค้า

26. การนำข้อมูล Pivot Table มา Reverse กลับให้เป็นข้อมูลเหมือนเดิม โดยใช้ unpivot

  • เปลี่ยนข้อมูลบางอย่าง ที่เป็นสรุปผลอยู่แล้ว ซึ่งบางครั้งมาจาก Excel มาแปลงเป็น data ที่เราเก็บทั่วไป โดยใช้ UNPIVOT
  • รูปแบบการเขียนของ UNPIVOT
  • การตั้งชื่อ Field ให้กับ Column ที่ UNPIVOT

 27. การเรียงลำดับของ Fields ที่ unpivot และการใช้ Dynamic SQL แบบ exec แล้วตามด้วยวงเล็บ

  • การเรียงลำดับข้อมูลของ Fields ที่ UNPIVOT
  • การ run SQL จากตัวแปร string โดยใช้ exec เรียกรูปแบบนี้ว่า Dynamic SQL
  • การประกาศตัวแปร และการ assign ค่าเข้าตัวแปร
  • ค่าสูงสุดของ varchar และ nvarchar

28. การตรวจสอบ Fields ของ Table มีอะไรบ้างโดยใช้ sys.columns และ Object_ID

  • การตรวจสอบ Fields ของ Table ต่าง ๆ โดยใช้ exec sp_help
  • การตรวจสอบ Fields ของ Table ต่าง ๆ โดยใช้ sys.Columns
  • โครงสร้างของ Sys.Columns - ความหมายของ Object_ID และการนำไปใช้

29. นำความรู้ที่ได้มาเขียน unpivot เพื่อต่อ String ให้มี Fields ต่างๆ ที่ต้องการ โดยเรียกจาก VB.NET

  • ดึงข้อมูล Fields ต่าง ๆ ที่ต้องใช้สำหรับ UNPIVOT จาก VB.NET - ต่อ String โดยใช้ System.Text.StringBuilder
  • นำข้อมูลต่าง ๆ มาสร้าง String เป็น SQL Statement สำหรับ UNPIVOT

30. การใช้ Dynamic SQL แบบที่ 2 โดยใช้ Execute sp_executesql

  • การใช้ Dynamic SQL แบบที่ 2 โดยใช้ sp_ExecuteSQL
  • ตัวแปรจะเป็นประเภท varchar ไม่ได้ ต้องเป็น nvarchar

31. การ Execute sp_ExecuteSQL แบบมี Parameters

  • รูปแบบการประกาศตัวแปร - การส่ง parameters เข้า stored procedures แบบมีชื่อ Parameters ด้วย
  • การเปลี่ยน string ให้อยู่ในรูปแบบ nvarchar โดยใช้ N นำหน้า
  • รูปแบบการบอก DataTypes ของ Parameter
  • การส่งค่าตัวแปรเข้าไปใน Parameters ของ Sp_ExecuteSQL

32. การประยุกต์งาน Dynamic SQL เพื่อสร้าง Stored Procedures ในการนับจำนวน Records ของ Tables ใดๆ

  • ประยุกต์งาน Dynamic SQL เพื่อนับจำนวน Records ของ Tables ใด ๆ โดยนำมาสร้าง Stored Procedures

เนื้อหาในซีดีแผ่นที่ 3

1. เตรียม Project ใหม่สำหรับ CD-ROM แผ่นที่ 3 และการใช้ Top ที่สามารถใช้ตัวแปรได้, Set Rowcount

  • เตรียม Project ใหม่ และ Copy ไฟล์ที่จำเป็นสำหรับ CD-ROM แผ่นที่ 3
  • รูปแบบการใช้ Top โดยทั่วไป - รูปแบบการใช้ Top แล้วตามด้วยตัวแปร ซึ่งเป็นรูปแบบใหม่ใน 2005
  • เปรียบเทียบการเขียน SQL statement แบบเก่าและแบบใหม่จากการใช้ Top
  • การจำกัดจำนวน Record อีกแบบโดยใช้ Set Row Count

2. การใช้ Top ร่วมกับ Percent และการใช้ Top ร่วมกับ SubQuery หรือ Functions

  • รูปแบบการใช้ Top แบบ Percent
  • การใช้ Top ร่วมกับ SubQuery
  • การหา Average ของ SubQuery

3. การใช้ Cross Apply และ Outer Apply ร่วมกับ Top และรูปแบบที่แตกต่างจาก Inner Join และความหมายของ Compatibility Level

  • รูปแบบการเขียน Cross Apply ซึ่งเป็นรูปแบบใหม่ใน SQL 2005 เพื่อหาข้อมูล OrderID ล่าสุด 2 ตัวของลูกค้าแต่ละราย
  • รูปแบบการเขียนที่แตกต่างกับ Inner Join
  • การใช้ Top ร่วมกับ Cross Apply
  • การใช้ Outer Apply
  • การใช้ Common Table Expression ร่วมกับ Cross Apply
  • การตรวจสอบข้อมูลลูกค้าที่ไม่มีการสั่งซื้อ
  • การปรับ Compatitbility Level ให้เป็น SQL Server 2005

4. ความหมายและการทำงานของ Cross Apply ที่แตกต่างกับ Inner Join

  • อธิบายความหมายและรูปแบบการเขียนของ Cross Apply ที่แตกต่างกับ Inner Join
  • ขั้นตอนการทำงานของ Cross Apply

5. การสร้าง Functions ที่ Return ค่าเป็น Scalar และรูปแบบการนำไปใช้

  • รูปแบบการสร้าง Function ใน SQL Server
  • การกำหนด Parameter และ Return Value
  • ข้อแตกต่างระหว่าง Function และ Stored Procedures
  • การนำ Function ไปใช้ จำเป็นต้องระบุ owner ทุกครั้ง

6. การสร้างและการแก้ไข Functions และรูปแบบการใช้ตัวแปรแบบสะสมค่า

  • รูปแบบการสร้าง Function อีกแบบ - การแก้ไข Function
  • ตัวอย่างการใช้ตัวแปรใน Function แบบสะสมค่า

7. การสร้าง Functions ที่ Return เป็น Tables แบบ Single Statement และการใช้ Functions ที่สร้างขึ้นร่วมกับ Cross Apply

  • รูปแบบ Function ที่ Return เป็น Table แบบ Single Statement
  • การเรียกใช้ Function ที่ Return เป็น Table
  • การนำไปประยุกต์กับ Cross Apply

8. การสร้าง Functions ที่ Return เป็น Tables แบบ Multiple Statements และรูปแบบการใช้ IF

  • การสร้าง Function ที่ Return เป็น Table แต่ภายในมีหลาย Statements
  • รูปแบบการใช้ IF...และ Else
  • โครงสร้างในการเขียน Functions ที่ Return เป็น Table และการประกาศตัวแปร Table
  • การใช้ Function Left และการใช้ Like โดยมีเงื่อนไขว่าถ้าขึ้นต้นด้วย A-C ให้ Return ข้อมูล Top 3 แต่ถ้าเป็นตัวอักษรอื่นให้ Return ข้อมูล OrderID ที่เป็น Top 2

9. เทคนิคการจัดการ Queue โดยใช้ Output ซึ่งเป็นรูปแบบใหม่ใน SQL Server 2005 และการใช้ Object Deleted

  • ในรูปแบบการเขียน Stored Procedures สามารถใช้ output deleted.* ได้
  • การสร้างตัวแปรที่เป็น Table - สร้าง Stored Procudure ในการจัดการ Queue
  • การใช้ Delete ร่วมกับ Output เพื่อเก็บค่าที่ Delete ใส่ในตัวแปร Table

10. การค้นตำแหน่งของ String โดยใช้ patindex และ charindex

  • การค้นตำแหน่งของ String
  • ข้อแตกต่างระหว่างการใช้ CharIndex และ PatIndex
  • การใช้ PatIndex สามารถใช้สัญลักษณ์ % และ ก้ามปู ได้
  • CharIndex ไม่ต้องใช้สัญลักษณ์ %

11. การสร้าง Tables ที่มีการใส่กฎให้กับ Tables โดยการใช้ Check และเตรียม Tables เพื่อศึกษา Try…Catch ในการดัก Error

  • สร้าง Tables เพื่อเตรียมศึกษาการดัก Error
  • การตรวจสอบจำนวนเงินไม่ให้ต่ำกว่าที่กำหนดโดยใช้ Check
  • รูปแบบการดัก Error โดยใช้ Try…Catch
  • การสร้าง Table Error Log
  • การตรวจสอบผู้ใช้ที่ Login อยู่ขณะนี้

12. สร้าง Stored Procedures ที่มีการดัก Error โดยการใช้ Try…Catch

  • รูปแบบการใช้ Try…Catch ใน Stored Procedure
  • การเก็บข้อมูลที่มีการผิดพลาดใน Table ErrorLog
  • ใช้ได้เฉพาะ SQL 2005

13. รูปแบบการดัก Error แบบเก่าโดยใช้ @@error

  • การใช้ @@error เพื่อตรวจสอบ Error ที่เกิดขึ้น
  • แบบนี้ใช้ได้ทั้ง SQL 2000 และ SQL 2005
  • เปรียบเทียบรูปแบบการเขียนที่แตกต่างกัน

14. การสร้าง Databases ใหม่จากการ Design โดยสั่งจาก SQL Statements มาจาก VB.NET และความหมายของ Collation

  • การสร้าง Database จากการ Design
  • การสร้าง Database ใหม่จาก SQL Statement
  • การสร้าง Database จาก VB.NET เกิดเปิด SqlConnection และการสร้าง SqlCommand
  • การเปลี่ยน Database ที่ Connect จาก SqlConnection และการใช้ Use
  • การดัก Error ใน VB.NET

15. ตรวจสอบการทำงานของการสร้าง Databases ใหม่จาก VB.NET

  • ตรวจสอบการทำงานการสร้าง Database ใหม่จาก VB.NET
  • ตรวจสอบผลจากการสร้างว่าถูกต้องหรือไม่

16. การตรวจสอบ Databases ที่สร้างขึ้นจาก sysdatabases หรือ sys.databases และการใช้ db_id()

  • การตรวจสอบรายชื่อของ Databases โดยใช้ sysdatabases หรือ sys.databases
  • ความหมายและหน้าที่ของ master database
  • การอ้าง Table ข้าม Database
  • ความหมายของ db_id()

17. การเปลี่ยน Collation ของ Databases และการเปลี่ยน Options ต่างๆ ของ Databases โดยใช้คำสั่ง

  • คำสั่งในการเปลี่ยน Collation ของ Database
  • คำสั่งในการเปลี่ยน Options ต่าง ๆ ของ Database

18. การใช้ sp_helpdb และการลบ Databases ทิ้ง

  • การตรวจสอบคุณสมบัติของ Database โดยใช้ exec sp_helpdb
  • การลบ Database ทิ้งโดยใช้ drop database

19. การใช้ Dock และ Splitter ใน VB.NET เพื่อให้ผู้ใช้สามารถ Resize ได้ และ Object DataRow ของ DataTable

  • การใช้ Splitter และการกำหนด Dock ของ Controls ต่าง ๆ
  • ดึงข้อมูลว่า Databases อะไรบ้างมาแสดงใน ListBox
  • Object DataRow ของ DataTable

20. การแสดงข้อมูล Databases และรายชื่อ Tables ของ Databasesที่มีการ DoubleClick ใน VB.NET

  • การตรวจสอบขนาด Database และวันที่สร้าง จาก VB.NET และการอ้าง Objects จาก Dataset ที่ได้
  • การตรวจสอบรายชื่อ Tables จาก sys.tables และ Sysobjects
  • นำข้อมูลรายชื่อ Tables มาแสดงใน VB.NET

21. คำสั่งในการสร้าง Tables ที่มีรูปแบบต่างๆ : Identity, Timestamp, การสร้าง Primary Key และการตรวจสอบโครงสร้าง Tables

  • SQL Statement ในการสร้าง Table
  • Field ที่เป็น Identity
  • Field ประเภท Timestamp
  • การกำหนด Field ไม่ให้เป็น Null
  • การสร้าง Primary Key ให้กับ Field ในขณะที่สร้าง Table
  • การตรวจสอบโครงสร้างของ Table โดยใช้ sp_help

 22. ความหมายของ Identity Field และ Timestamp Field

  • ความหมายของ Field Identity
  • ประโยชน์ของ Timestamp Field
  • การตรวจสอบค่า identity โดยใช้ @@identity
  • การตรวจสอบ timestamp ล่าสุด โดยใช้ @@dbts

23. ประโยชน์ของ Identity Field และ Timestamp Field เพิ่มเติมการปรับให้ Identity Field เริ่มต้นที่ 1 ใหม่ และความหมายของ Truncate Table

  • การ Run เลขของ Identity เมื่อมี Error เกิดขึ้น
  • ประโยชน์ของ Timestamp Field ในกรณีที่ต้องการตรวจสอบ Record ที่มีการแก้ไข - การทำให้ Identity Field เริ่มต้นที่ 1 ใหม่
  • ความหมายของ Truncate Table ว่าต่างจาก Delete อย่างไร

24. การใช้ while loop, การใช้ Functions replicate และการใช้ set nocount

  • การใช้ While Loop ในการเขียน SQL Batch หรือ Stored Procedures
  • การใช้ Ascii เพื่อตรวจสอบ Ascii ของตัวอักษร - การใช้ Char เพื่อเปลี่ยน Ascii ให้เป็นตัวอักษร
  • การใช้ฟังก์ชัน Replicate - ความหมายของการใช้ Set NoCount

25. การใช้ Collate กับ where และ order by เพื่อคัดเลือกข้อมูลที่เป็นตัวอักษรตัวใหญ่เท่านั้น

  • การใช้ Collate กับ Order by ในรูปแบบต่าง ๆ เพื่อให้ลำดับของตัวอักษรตัวเล็กตัวใหญ่แตกต่างกัน
  • การใช้ Collate กับ Where เพื่อคัดเลือกข้อมูลที่เป็นตัวอักษรตัวใหญ่เท่านั้น

26. การเขียน SQL Statements กับ Fields ที่เป็น nvarchar สามารถระบุ N นำหน้าเพื่อให้ทราบว่าเป็น Unicode

  • ระวังการใช้กับ Field ข้อมูลประเภท NVarchar
  • ให้ระบุ N นำหน้ากับ String ต่าง ๆ เพื่อให้ทราบว่าเป็น Unicode

27. การแก้ปัญหาเกี่ยวกับข้อมูลประเภทวันที่ และการ Convert วันที่ในรูปแบบต่างๆ

  • ปัญหาของการ Query ข้อมูลประเภทวันที่ ทั้งการใช้ Where และการใช้ Group by
  • การ Convert Date ในรูปแบบต่าง ๆ - การแก้ไขปัญหากับ Field ประเภทวันที่

28. สร้าง Functions ที่เก็บข้อมูลเฉพาะวันที่เท่านั้น โดยไม่สนใจเวลา

  • สร้าง Function ที่เก็บข้อมูลเฉพาะวันที่เท่านั้น
  • จาก Function นี้ทำให้สะดวกในการใส่เงื่อนไข และการใช้ Group By
  • Function ที่สร้างขึ้นจะส่งวันที่และเวลาเข้าไป แต่จะตัดส่วนของเวลาทิ้งไป

29. การสร้าง Fields ใหม่ที่เกิดจากการคำนวณใน SQL Statements ทั่วไป และ Calculated Fields

  • การตั้งชื่อ Field ใหม่ที่เกิดจากการคำนวณมีทั้งหมด 3 วิธี
  • วิธีการสร้าง Calculated Field
  • ประโยชน์ของ Calculated Field

30. คำสั่งในการเพิ่ม-ลบ Column ต่างๆ ลงใน Tables และคำสั่งในการใส่กฎเกณฑ์ให้กับ Fields ต่างๆ

  • คำสั่งในการลบ Field
  • คำสั่งในการเพิ่ม Fields ต่าง ๆ
  • การใส่กฏเกณฑ์ให้กับ Field ใน Table

31. การเพิ่ม Constraints Check ให้กับ Fields และการใช้ sp_helpconstraint เพื่อตรวจสอบ Constraints ต่างๆ ใน Tables

  • การ Add Constraint Check ไปพร้อมกับ
จำนวนหนังสือ 1 เล่ม
เนื้อใน พิมพ์ 1 สี
จำนวนหน้า 152 หน้า
ขนาดรูปเล่ม 170 x 235 มิลลิเมตร
รูปแบบปก ปกอ่อน
น้ำหนัก 330.0000
ผู้เขียน ธงชัย พยุงภร

สื่อการสอนชุด "SQL Server 2005 QuickStart Tutorials" ที่ทางสำนักพิมพ์เอ็มไอเอส ร่วมกับ อ.ธงชัย พยุงภร ผลิตออกมานี้ เหมาะสำหรับผู้ใช้ทุกระดับ ตั้งแต่ระดับเบื้องต้นไปจนถึงระดับมืออาชีพ เนื่องจากมีเนื้อหาที่เจาะลึกอย่างละเอียดมากที่สุด ซึ่งเป็นอีกหนึ่งความภูมิใจที่ทีงานของเรา พร้อมที่จะนำเสนอให้กับคุณได้มีไว้เพื่อใช้ในการศึกษาต่อไปได้เป็นอย่างดี

เนื้อหาในซีดีแผ่นที่ 1

1. บทนำ และเนื้อหาใน CD-ROM ชุดนี้

  • เน้นเนื้อหา T-SQL ใหม่ ๆ ใน SQL 2005
  • เนื้อหาจะแตกต่างจาก CD-ROM Training ในชุดก่อนตรงในชุดก่อนหน้านี้เป็น SQL Server 2000 และ Visual Basic 6.0 แต่ในชุดนี้จะเป็น SQL Server 2005 กับ VB.NET ในชุด Visual Studio.NET 2005
  • เน้นในส่วนของการเขียน Stored Procedures และ Triggers
  • เน้นการเขียน CLR (Common Language Runtime) ใน SQL Server 2005
  • การเรียกใช้งานในด้านต่าง ๆ จาก VB.NET ไปยัง SQL Server 2005
  • ตัวอย่าง Databases ใน CD-ROM

2. ลำดับขั้นตอนในการติดตั้ง IIS, Visual Studio.NET และ SQL Server 2005

  • ให้ติดตั้ง IIS ก่อน เพราะจะมีส่วนของ Reporting Services ที่ต้องการใช้งานในส่วนของ Web Server
  • ติดตั้ง Visual Studio.NET 2005 และ SQL Server Express
  • ติดตั้ง SQL Server 2005 ให้เป็น Instance ในกรณีที่มี SQL Server Version อื่นก่อนหน้านี้

3. การ Connect Database โดยใช้ SQL Server Management Studio และการ Connect ในรูปแบบ Instances

  • การ Connect Database โดยใช้ SQL Server Management Studio แทน Query Analyzer เดิม
  • การ Connect SQL Server ในรูปแบบ Instance
  • ทดสอบ Query เพื่อดึงข้อมูล โดยใช้ New Query แล้วทดลองติดต่อ Database ดู
  • การ Attach Databases ตัวอย่าง : Northwind และ Pubs
  • ส่วนของ Databases ที่ใช้ Reporting Services

4. Registered Servers, Instances ของ SQL Server ในเครื่อง และ Windows Authentication

  • Registerd Servers เพื่อตรวจสอบ Instances ของ SQL Server ในเครื่อง
  • Instances ต่าง ๆ ในเครื่อง
  • Windows Authentication สำหรับ SQL Server Express

5. การใช้ row_number() over… เพื่อให้มีเลข Running Number และการใช้ use เพื่อเปลี่ยน Databases

  • การใช้ Use เพื่อเปลี่ยน Database
  • การ Comments ในส่วนของ SQL Statement
  • การใช้ Object Explorer ในการตรวจสอบ Objects ของ Databases
  • การใช้ Row_Number() Over…
  • ประโยชน์การใช้ Row_Number() ใน Web เพื่อแบ่งข้อมูลเป็นหน้า ๆ ช่วยในการเพิ่ม Performance
  • ความจำเป็นในการใช้ Order by ในส่วนต่าง ๆ

6. การใส่เงื่อนไข row_number() ในลักษณะ SubQuery

  • ถ้าใส่เงื่อนไขให้กับ Row_Number ตามเงื่อนไขที่ต้องการ จะผิด
  • การดึงข้อมูล Row_Number ตามช่วงที่ต้องการในลักษณะ Sub Query
  • การดึงข้อมูล Row_Number ในช่วง 1-50

7. การใช้ Common Table Expression (CTE) ในการ Filter row_number() ตามช่วงที่ต้องการ

  • การใช้ Common Table Expression (CTE) ในรูปแบบ With เพื่อดึงข้อมูล Row_Number() ตามช่วงที่ต้องการ
  • การใช้ CTE แทน SubQuery
  • ข้อควรระวังในการใช้ CTE

8. การตั้ง Alias ของ Tables เพื่อ Join กับ SubQuery ที่หาค่า Average ของราคาสินค้า

  • การเขียน SQL Statement เพื่อ inner join กับ SubQuery
  • การตั้ง Alias ให้กับ Tables และ SubQuery เพื่อใช้ในการ Join
  • ระวังการใช้ชื่อ Fields ที่ซ้ำกัน - SubQuery ที่สร้างขึ้นมีการหา Average ของราคาสินค้า
  • ข้อมูลที่เป็น Null จะไม่ได้มา Join กัน
  • การใช้ชื่อ Field ที่เป็น Alias ของ SubQuery

9. การใช้ Common Table Expression (CTE) แทนรูปแบบ SubQuery ที่หาค่า Average ของราคาสินค้า

  • การใช้ Common Table Expression แทน SubQuery
  • ข้อควรระวังในการอ้าง Fields ที่ซ้ำกัน
  • การใช้ Inner Join กับ CTE

10. การใช้ Ranking Functions อื่นๆ ได้แก่ Rank, Dense_Rank, NTile และข้อแตกต่างกันของแต่ละแบบ

  • ทบทวน inner Join โดยใช้ Alias ของ Tables
  • การใช้ Rank เพื่อจัดลำดับที่ ถ้าซ้ำกันจะข้าม
  • การใช้ Dense_Rank ถ้าซ้ำกัน ลำดับต่อไปจะไม่ข้าม
  • การใช้ NTile เพื่อแบ่งข้อมูลออกเป็นกลุ่ม ๆ ให้พอ ๆ กัน

11. Connection String ในการเขียน VB.NET เพื่อติดต่อกับ SQL Server แบบ OleDb

  • ทดสอบการเขียนโปรแกรมใน Windows Application โดยใช้ VB.NET
  • Connection String ที่ใช้เขียนติดต่อกับ SQL Server แบบ OLEDB
  • การใช้ OleDbDataAdapter และ DataTable
  • นำข้อมูลมาแสดงใน DataGridView
  • Connection String ในการติดต่อเข้า SQL Server ในลักษณะ Instance

12. การเขียน Connection String แบบอื่นๆ ในการติดต่อเข้า SQL Server และการเขียน Connection String แบบ Windows Authentication

  • การเขียน Connection String แบบอื่น ๆ
  • การอ้าง Server ในรูปแบบ (local)
  • Parameters ของ Connection String ในรูปแบบต่าง ๆ
  • การเขียน Connection String แบบ Windows Authentication

13. Connection String ในการติดต่อแบบ SqlClient แบบต่างๆ และการเลือกระหว่าง SqlClient และ OleDb

  • เปรียบเทียบการใช้และการเลือกระหว่าง OleDb และ SqlClient
  • Connection String ของ SqlClient
  • ข้อดีและข้อเสียของ SqlClient
  • เทคนิคในการอ้าง Object ของ SqlClient คล้ายกับ OleDb แต่เปลี่ยนเล็กน้อย

14. การสร้าง Views และการใช้ sp_helptext เพื่อตรวจสอบ SQL ของ Views

  • คำสั่งสร้าง View ใน SQL Server
  • การใช้ exec sp_helptext เพื่อตรวจสอบข้อความใน View ที่เขียนเป็น Sql Statement
  • ประโยชน์ในการสร้าง View

15. การสร้าง Class เพื่อเรียกใช้งาน Databases ได้ง่ายขึ้น และการใช้ Distinct เพื่อเลือกข้อมูลที่ไม่ซ้ำกันมาใส่ใน ComboBox

  • การวางตัวแปร Public ใน Module เพื่อใช้ทั้ง Project
  • การสร้าง Class สำหรับ SQL Server
  • การเปลี่ยน Startup Form ในการ Test โปรแกรมของ VB.NET
  • การใช้ Distinct เพื่อเลือกข้อมูลที่ไม่ซ้ำกัน
  • การใส่ข้อมูลเข้า ComboBox โดยการอ้าง DisplayMember และ ValueMember

16. การใช้ union เพื่อเพิ่มแถวว่างๆ ใน ComboBox และการเพิ่มแถว (All) โดยใช้ DataRow และ InsertAt เพื่อแทรกข้อมูลในแถวที่ต้องการ

  • การใช้ union เพื่อเพิ่มค่าคงที่ในข้อมูลที่ Select ได้
  • การใช้เทคนิค datarow เพิ่มแถวลงใน DataTable เพื่อให้ ComboBox มีบรรทัดว่าง 1 บรรทัด และ (All)
  • การใช้ InsertAt กับ Datarow เพื่อแทรกแถวข้อมูลในตำแหน่งที่ต้องการของ DataTable

17. การสร้าง DataTables และ Column ใหม่ในเครื่อง Client และการ Filter Data ระหว่าง ComboBox 2 ตัว ที่มีข้อมูลสัมพันธ์กัน

  • การสร้าง DataTable ใหม่ที่ Client
  • การ Add Column ให้กับ DataTable
  • ประโยชน์ของการสร้าง DataTable ใน Memory ของ Client
  • เขียนโปรแกรมเพื่อ Filter ข้อมูล ระหว่าง ComboBox 2 ตัว ที่มีข้อมูลสอดคล้องกัน

18. การเพิ่ม Performance โดยใช้ DataView เพื่อดึงข้อมูลมาที่ Client ไม่ต้องดึงจาก SQL Server ใหม่ทุกครั้ง

  • ปรับปรุงข้อมูล ComboBox 2 ตัวที่มีข้อมูลที่สัมพันธ์กัน โดยใช้ DataView
  • การสร้าง DataView จาก DataTable
  • ข้อแตกต่างของ DataView และ DataTable
  • ลดการดึงข้อมูลจาก Server ทุกครั้ง โดยใช้ DataView
  • การใช้ RowFilter ของ DataView
  • การใช้ ComboBox ในรูปแบบ Items.Add แทนที่จะใช้วิธีกำหนด DataSource
  • แต่ละแถวของ Dataview คือ DatarowView - แต่ละแถวของ DataTable คือ Datarow

19. การ Query ข้อมูลแบบมากกว่า 1 เงื่อนไข และแต่ละเงื่อนไขอาจใส่ค่า หรือไม่ใส่ค่าก็ได้

  • เทคนิค การ Query ข้อมูลมากกว่า 1 เงื่อนไข และแต่ละเงื่อนไข อาจมีค่าหรือไม่ก็ได้
  • ในกรณีที่ ComboBox ไม่ได้ใช้ DataSource ห้ามใช้ SelectedValue เพราะจะได้ค่า Nothing ให้ใช้ Text แทน
  • Query ข้อมูลจาก View ที่สร้างขึ้น เพราะลดการเขียน SQL ที่ยืดยาว

20. ข้อแตกต่างระหว่าง varchar, nvarchar, text, ntext และรูปแบบที่ปรับปรุงใน SQL Server 2005

  • ข้อแตกต่างระหว่าง Data Types ประเภท varchar, nvarchar, text และ ntext
  • ค่าสูงสุดของ varchar และ nvarchar ใน SQL Server 2000 และ SQL Server 2005
  • สาเหตุที่ต้องมี varchar(max) และ nvarchar(max) ใน SQL Server 2005

21. ข้อแตกต่างระหว่าง char, varchar, nvarchar และข้อควรระวังในการใช้ Functions ที่เกี่ยวกับ String

  • ข้อแตกต่างระหว่าง char, varchar และ nvarchar
  • ตัวอย่างระวังการใช้เกี่ยวกับ string และ function ที่เกี่ยวกับ string เพราะบางอย่าง limit ไว้ที่ 8000 ตัวอักษร และวิธีการแก้ไข
  • การประกาศตัวแปรใน SQL Server โดยใช้ declare และตัวแปรทุกตัวต้องขึ้นต้นด้วย @
  • ระวังเรื่องการต่อ string ที่จะตัดทีละ 8000 ตัวอักษร
  • การใช้ replicate, len และ substring และข้อควรระวังเมื่อใช้กับ varchar(max)

22. การเปลี่ยนชื่อ Fields อีกแบบใน Common Table Expressions

  • การเปลี่ยนชื่อ Field อีกแบบใน CTE (Common Table Expressions)
  • การอ้าง Relation กับชื่อ Field ใน CTE ต้องอ้างให้ถูกต้อง
  • การเปลี่ยนชื่อ Field แบบนี้เพื่อใช้ประโยชน์ในการ Recursive

23. การใช้ CTE แบบ Recursive ในงานที่มีการเก็บข้อมูลในลักษณะพนักงานคนนี้ มีใครเป็นหัวหน้า

  • การประยุกต์ใช้ CTE ในลักษณะ recursive
  • เทคนิคการอ้าง CTE แบบ recursive
  • ประยุกต์ใช้ในงานที่เก็บ EmployeeID, ManagerID ว่าพนักงานคนนี้มีใครเป็นหัวหน้า
  • การใช้ Union All - ระวังการใช้ Null ใน SQL Server

24. นำข้อมูล Recursive CTE มาแสดงระดับจากผู้บริหารชั้นสูงสุด จนถึงระดับล่างลงไปเรื่อยๆ จากข้อมูลที่ Self Relation ใน Tables ของตัวมันเอง

  • แสดงระดับ เพื่อให้ทราบผลของการ Recursive ว่าอยู่ระดับการทำงานที่เท่าไร
  • แสดงชื่อพนักงาน ชื่อหัวหน้า ระดับในแต่ละ Record โดยใช้ recursive CTE
  • ทบทวนการใช้ Cast เพื่อเปลี่ยนประเภทของตัวแปรให้อยู่ในรูปแบบเดียวกันกับข้อมูลที่มีอยู่

25. การสร้าง Stored Procedures ใน SQL Server และการประกาศตัวแปรสำหรับ Parameters

  • รูปแบบการเขียน Stored Procedures ใน SQL Server
  • Input Parameters ของ Stored Procedures
  • นำเรื่อง Row_Number() มาเขียน Stored Procedures
  • การสร้างและลบ Stored Procedures
  • การเรียกใช้ Stored Procedures

26. การสร้าง Stored Procedures แบบ Return Value และการนำค่าตัวแปรที่ Return มาใช้

  • การใช้และความหมายของ @@RowCount
  • การเปลี่ยนแปลง stored procedures โดยใช้ alter proc
  • การสร้าง Stored Procedures แบบ Return Value
  • วิธีการเรียกใช้ Stored Procedures ที่มีการ Return Value

27. การใช้ Output Parameters กับ Stored Procedures และข้อดีของการเขียน Stored Procedures

  • การสร้าง Output Parameter ให้กับ Stored Procedures
  • การเรียกใช้ output parameters ต้องระบุคำว่า output ให้กับตัวแปร
  • ผลของการเรียกใช้ จะได้ Multiple Resultset
  • เหตุผลของการเขียน Stored Procedures ที่ช่วยเพิ่ม Performance ของระบบ
  • การเขียน Statement ก่อน CTE จำเป็นต้องมี semicolon คั่น
  • การใช้ Aggregate Function : Count ให้ใช้คู่กับ * จะทำให้นับข้อมูลได้ถูกต้องกว่าที่ระบุเป็นชื่อ Field

28. เทคนิคการเขียน Stored Procedures อีกแบบ ที่ไม่ใช้ Return Value และ Output Parameters แต่ใช้ Multiple Recordsets

  • เทคนิคการ Assign ค่าเข้าตัวแปรจาก sql statement ซึ่งสามารถใช้ set หรือ select แล้วแต่กรณี
  • การเขียน Stored Procedures อีกแบบ โดยใช้ Multiple Recordsets
  • การนำตัวแปรมาตั้งเป็นชื่อ Field ใน Table ใหม่
  • การนับจำนวน Tables ที่ได้จาก Stored Procedure

29. การเรียกใช้ Stored Procedures จาก VB.NET โดยใช้ System Stored Procedures : sp_helptext และการใช้ StringBuilder

  • การเรียกใช้ Stored Procedure sp_HelpText เพื่อดู Sql Statement ของ View จาก VB.NET
  • การวน loop DataRow ของ DataTable
  • การวน loop DataRowView ของ DataView
  • การเรียกใช้ System Stored Procedures สามารถมี exec, execute หรือไม่มีก็ได้
  • การใช้ System.Text.StringBuilder ต่อ String แทนการต่อ String ทั่วไป เพื่อช่วยเพิ่ม Performance

30. การตรวจสอบ Stored Procedures ที่สร้างขึ้นว่าสร้างเมื่อไร เปลี่ยนแปลงเมื่อไร มีทั้งหมด 3 วิธี

  • การตรวจสอบรายการ Stored Procedures ที่สร้างขึ้น 3 วิธี
  • ใช้รูปแบบ sysobjects ในการตรวจสอบ
  • ใช้ information_schema ในการตรวจสอบ
  • ใช้ objects ของ sys ในการตรวจสอบ
  •  การตรวจสอบ sql statement ที่เขียนในแต่ละ Stored Procedures โดยใช้ sp_helptext

31. การตรวจสอบ Objects อื่น เช่น Tables, Views สามารถทำได้เช่นเดียวกับ Stored Procedures

  • การตรวจสอบ Objects ประเภทอื่น ๆ Tables, System Tables, Views, Triggers, Foreign Keys
  • สามารถทำการตรวจสอบได้เหมือนกับ Stored Procedures แต่เปลี่ยนรูปแบบของเงื่อนไข และ objects ที่เกี่ยวข้อง

เนื้อหาในซีดีแผ่นที่ 2

1. เตรียม Project และงานใหม่ใน CD-ROM แผ่นที่ 2

  • เตรียม Projects ใหม่สำหรับ CD Training ในแผ่นที่ 2
  • ทบทวนถึง Stored Procedures และการเรียกดู SQL Server Objects ต่อจากแผ่นแรก

2. รูปแบบของ Multiple Resultsets ใน SQL Server ซึ่งไม่มีใน Microsoft Access

  • รูปแบบของ Multiple Resultsets ใน SQL ที่ไม่มีใน Microsoft Access
  • การ Run ข้อมูลที่เป็น Batch แล้วได้ Multiple Resultsets
  • รูปแบบการเขียน SQL Statements หลาย ๆ คำสั่ง ทั้งในบรรทัดเดียวกัน หรือคั่นด้วย semicolon
  • ข้อดีของการเขียนแบบ Batch ทำให้ติดต่อ SQL Server ครั้งเดียว แต่ควรเลือกเฉพาะ Fields ที่ต้องการ และใส่เงื่อนไข where ที่ต้องการเท่านั้น
  • การ Run Stored Procedures ที่ได้ Multiple Resultsets

3. การเขียน VB.NET ในการดึงข้อมูล Multiple Resultsets มาในรูปแบบ Dataset และการอ้าง DataTable ใน Dataset

  • ดึงข้อมูลที่เป็น SQL Batch Statement มาในรูปแบบ Dataset ของ ADO.NET
  • Dataset ประกอบด้วย DataTables หลาย ๆ ตัว
  • ใช้ SQLDataAdapter Fill เข้า Dataset
  • การตรวจสอบจำนวน Tables ใน Dataset
  • การอ้าง DataTable แต่ละตัวใน Dataset

4. การดึง Multiple Resultsets จากการ Run Stored Procedures : sp_help

  • การใช้ sp_help เพื่อดูรายละเอียดของ table โครงสร้างของ Tables
  • จากการ run sp_help จะได้ทั้งหมด 9 tables
  • การตรวจสอบชื่อและจำนวนของ tables ใน Dataset
  • การดึงข้อมูลของแต่ละ DataTable มาใน Dataset มาแสดง
  • การวน loop DataTable ใน Dataset • 5. การดึงข้อมูลจาก Stored Procedures ที่สร้างขึ้นแบบที่ 1 และการดึงค่า Return Value และ Output Parameters มาแสดง
  • Stored Procedures ที่สร้างขึ้นมี Return Value และ Output Parameter
  • รูปแบบการเขียน SQL เพื่อดึงข้อมูล Return Value และ Output Parameters
  • การอ้างอิงไปที่ DataTable แต่ละตัว - การอ้างอิง DataRow ของ DataTable และการอ้าง Field ของ Return Value และ Output Parameter

6. การเรียกใช้ Stored Procedures แบบ SqlCommand และ CommandType (แบบที่ 2)

  • รู้จักกับ SqlConnection และ SqlCommand เพื่อเรียกใช้ Stored Procedure
  • การใช้ CommandTimeOut - การกำหนด CommandType ให้เป็นแบบ Stored Procedures
  • การใช้ SqlCommand ร่วมกับ SqlDataAdapter เพื่อ Fill เข้า DataTable

7. การสร้าง SqlParameters ให้กับ SqlCommand และการกำหนดประเภทของ SqlParameters

  • การสร้าง SqlParameters ให้กับ SqlCommand - การกำหนดประเภทและ Direction ของ SqlParameters
  • การกำหนดตัวแปรของ SqlParameters เมื่อไรถึงใช้ซ้ำ หรือไม่ซ้ำ
  • รูปแบบนี้ ข้อมูลที่ได้ไม่ได้เป็น Multiple Resultsets แต่ค่าจะเก็บในParameters
  • ข้อดีของการใช้ SqlParameter กับการเขียน SQL ทั่วไป
  • ชื่อของ SqlParameter ต้องขึ้นต้นด้วย @

8. ความสำคัญในการตั้งชื่อของ SqlParameters และการเรียกใช้ Stored Procedures แบบที่ 3

  • จำเป็นต้องตั้งชื่อ SqlParameters ให้เหมือนกับ Stored Procedures ที่ได้สร้างไว้
  • ตรวจสอบลำดับในการ Add SqlParameters ว่ามีผลอย่างไรหรือไม่
  • เรียกใช้ Stored Procedure ในลักษณะ CommandText แบบที่ 3
  • แบบนี้ชือของ SqlParameters จะเป็นยังไงก็ได้

9. การเรียกใช้ Stored Procedures ในรูปแบบ OleDb ในรูปแบบการใช้ call

  • การเรียก Stored Procedures แบบใช้ OleDb
  • รูปแบบการเขียนคล้าย SqlClient
  • รูปแบบ Parameters จะใช้ ? แทน @
  • ลำดับการ Add Parameters มีความสำคัญในแบบนี้
  • ใช้ call ในการเรียก Stored Procedure ซึ่งเป็นรูปแบบเฉพาะ OleDb

10. รูปแบบการใช้ in ในรูปแบบต่างๆ และการใช้งานร่วมกับ SubQuery

  • รูปแบบการใช้ IN
  • การใช้ IN ร่วมกับ SubQuery
  • ใช้ Inner Join แทน IN
  • การใช้ Estimated Execution Plan และ Performance
  • Performance ของ IN เมื่อเทียบกับ Inner Join

11. การใช้ not in และการใช้ left join เพื่อหาข้อมูลที่ไม่มีในอีก Tables หนึ่ง

  • การหาข้อมูลที่ไม่มีในอีก Table หนึ่ง (A-B)
  • ใช้เทคนิค Left Join เพื่อหาข้อมูลที่ไม่มีในอีก Table หนึ่ง
  • ข้อควรระวังในการใช้ IN และ Not IN
  • Performance ของ Not IN เมื่อเทียบกับ Left Join

12. การใช้ some หรือ any Operators เมื่อเทียบกับการใช้ in และการใช้ all

  • รูปแบบการเขียน SQL โดยใช้ Some หรือ Any Operator
  • ข้อแตกต่างจากการใช้ IN
  • สามารถใช้เครื่องหมาย >, < ได้ในกรณีที่ใช้ Some หรือ Any
  • การใช้ All แทน Left Join และ Not IN

13. การใช้ exists และรูปแบบที่ต่างจาก all, some, any, in ในการเขียน SQL Statements

  • รูปแบบการใช้ Exists
  • Exists เป็นการตรวจสอบว่ามีข้อมูลหรือไม่ ถ้าไม่มีข้อมูลจะได้ค่าเท็จ
  • ข้อแตกต่างในการเขียน SQL Statement เมื่อเทียบกับ All, Some, Any และ IN
  • การใช้ Not Exists แทน Not IN (A-B)

14. การใช้ set Operators ได้แก่ union, intersect และ except

  • รูปแบบการใช้ SET Operators ได้แก่ Union, Intersect และ Except
  • ข้อแตกต่างระหว่าง Union และ Union All
  • สามารถใช้ได้กับ Table และ View
  • จำนวน Fields ที่มา union ต้องเท่ากัน ประเภทเดียวกัน แต่ชื่อไม่จำเป็นต้องเหมือนกัน

15. การใช้ group by กับ over (partition by…) และข้อแตกต่างที่ดีกว่า เมื่อใช้ร่วมกับ CTE

  • การใช้ Group by เพื่อหา Count, Avg หรือ Aggregate Functions อื่น ๆ
  • การใช้ over (partition by…) ซึ่งเป็นเรื่องใหม่ใน SQL 2005
  • เปรียบเทียบการใช้ทั้งสองแบบ - ใช้งานร่วมกับ CTE

16. การใช้ over (partition by…) มากกว่า 1 Field เพื่อสรุปผลข้อมูลแยกตามปีและเดือน

  • การใช้ over (partition by…) สามารถ partition by ได้มากกว่า 1 Fields
  • แต่ละ Fields ที่ทำการ partition สามารถแตกต่างกันได้ไม่ต้องเหมือนกัน
  • สรุปผลข้อมูลยอดขาย แยกตามปีและเดือน เทียบสัดส่วนกับแต่ละ Order ID
  • การเขียนใช้งานร่วมกับ CTE

17. การใช้ Case ใน SQL Statements แบบเงื่อนไขเดียว และแบบหลายๆ เงื่อนไข

  • การใช้ Case ใน Sql Statement
  • รูปแบบการเขียน Case ใน SQL Statement
  • การใช้ Case แบบเงื่อนไขเดียว
  • การใช้ Case แบบหลายเงื่อนไข และในกรณีที่ข้อมูลเป็นช่วง

18. การใช้ Case กับ Aggregate Functions เพื่อ Group ข้อมูลแบบ Pivot Table

  • รูปแบบการเขียนเพื่อใช้กับ Aggregate Functions
  • เขียน SQL ให้ Group ข้อมูลยอดขายสินค้า แยกตามปีในแนว Column (Pivot Table)

19. สร้าง Stored Procedures เพื่อสรุปยอดขายสินค้าแยกตามเดือน โดยใส่ Parameters เป็นปี และจัดการให้มียอดรวมทั้งแนวตั้งและ Summary รวม

  • นำความรู้เรื่อง Case มาเขียน Stored Procedures
  • สร้าง Stored Procedures สรุปยอดขายสินค้า แยกตามเดือน โดยใส่ Parameter เป็น ปี
  • ทำยอดสรุปในแนวนอน
  • ทำยอดสรุปรวม โดยใช้ with Rollup

20. การใช้ with cube และ with rollup เพื่อสรุปยอดรวมจากการ group by

  • การใช้ Group By ร่วมกับ with Cube และ with Rollup
  • ข้อแตกต่างระหว่าง with Cube และ with Rollup
  • เปรียบเทียบการใช้เมื่อเทียบกับ over (partition by…)

21. ข้อจำกัดของ CTE เมื่อเขียนใน Stored Procedures ที่มีการใช้ order by

  • ปรับปรุง Stored Procedures ที่สรุปยอดขายสินค้าแยกตามเดือน ให้แสดงชื่อสินค้าด้วย
  • ข้อจำกัดของ CTE ที่ใช้ร่วมกับ Order By ที่เขียนใน Stored Procedures

22. การสร้าง, ลบ, แก้ไข Views และการ Encrypt Views เพื่อไม่ให้ผู้อื่นเห็น SQL Statements ของ Views นี้

  • เตรียม View สำหรับ PIVOT ในเรื่องต่อไป : โดยเลือก Fields ที่ต้องการจากการเชื่อมโยง 3 Tables
  • การสร้าง View ลบ View
  • สร้าง View แบบ Encrypt เพื่อไม่ให้ผู้อื่นเห็น SQL Statement ของ View เทคนิคนี้สามารถใช้กับ Stored Procedures ได้
  • exec sp_helptext เพื่อดู SQL Statement ของ View

23. นำข้อมูลจาก Views มาสร้าง Pivot Table แยกยอดสั่งซื้อตามปี โดยใช้ pivot ซึ่งเป็นคำสั่งใหม่ใน SQL Server 2005

  • รูปแบบในการเตรียมข้อมูลเพื่อใช้คำสั่ง PIVOT
  • จำกัด Fields ที่จำเป็นต้องใช้ในการทำ PIVOT
  • เมื่อใช้ PIVOT แล้วไม่ต้องสร้าง Group By
  • ส่วนของ Field ที่ต้องการนำมาเป็น Column จะอยู่ใน Statement หลัง For และค่าของแต่ละ Column ให้ใส่ภายใต้เครื่องหมายก้ามปู

24. การเลือก Fields ที่ต้องการจากการ Select ใน Pivot ซึ่งต่างจากที่เคยใช้ทั่วไป เปลี่ยนลำดับ Fields รวมถึงเปลี่ยนชื่อ Fields

  • การเลือกบาง Fields มาจากการใช้ PIVOT โดยไม่เอาทุก Fields
  • เทคนิคการเปลี่ยนชื่อ Fields ที่นำมาทำเป็น Column
  • ความจำเป็นในการอ้างชื่อ Fields ที่มาทำเป็น Column ต้องมีก้ามปูทุกครั้ง

25. ตัวอย่างการสร้าง Pivot อีกแบบ และการใช้ Functions : upper, left, datepart, datename - สามารถใช้ where และ order by กับ PIVOT Table ได้

  • รู้จักกับ datepart เพื่อดึงข้อมูลส่วนต่าง ๆ ของวันที่ออกมา
  • ใช้ datename เพื่อดึงข้อมูลชื่อเดือนออกมา
  • ฟังก์ชันเกี่ยวกับ string : upper, left เพื่อตัดเดือนเหลือ 3 ตัวอักษร
  • นำข้อมูลที่เตรียม มาสร้าง PIVOT Table เพื่อสรุปแยกข้อมูลยอดเงินขายสินค้า แยกตามเดือน และรายชื่อสินค้า

26. การนำข้อมูล Pivot Table มา Reverse กลับให้เป็นข้อมูลเหมือนเดิม โดยใช้ unpivot

  • เปลี่ยนข้อมูลบางอย่าง ที่เป็นสรุปผลอยู่แล้ว ซึ่งบางครั้งมาจาก Excel มาแปลงเป็น data ที่เราเก็บทั่วไป โดยใช้ UNPIVOT
  • รูปแบบการเขียนของ UNPIVOT
  • การตั้งชื่อ Field ให้กับ Column ที่ UNPIVOT

 27. การเรียงลำดับของ Fields ที่ unpivot และการใช้ Dynamic SQL แบบ exec แล้วตามด้วยวงเล็บ

  • การเรียงลำดับข้อมูลของ Fields ที่ UNPIVOT
  • การ run SQL จากตัวแปร string โดยใช้ exec เรียกรูปแบบนี้ว่า Dynamic SQL
  • การประกาศตัวแปร และการ assign ค่าเข้าตัวแปร
  • ค่าสูงสุดของ varchar และ nvarchar

28. การตรวจสอบ Fields ของ Table มีอะไรบ้างโดยใช้ sys.columns และ Object_ID

  • การตรวจสอบ Fields ของ Table ต่าง ๆ โดยใช้ exec sp_help
  • การตรวจสอบ Fields ของ Table ต่าง ๆ โดยใช้ sys.Columns
  • โครงสร้างของ Sys.Columns - ความหมายของ Object_ID และการนำไปใช้

29. นำความรู้ที่ได้มาเขียน unpivot เพื่อต่อ String ให้มี Fields ต่างๆ ที่ต้องการ โดยเรียกจาก VB.NET

  • ดึงข้อมูล Fields ต่าง ๆ ที่ต้องใช้สำหรับ UNPIVOT จาก VB.NET - ต่อ String โดยใช้ System.Text.StringBuilder
  • นำข้อมูลต่าง ๆ มาสร้าง String เป็น SQL Statement สำหรับ UNPIVOT

30. การใช้ Dynamic SQL แบบที่ 2 โดยใช้ Execute sp_executesql

  • การใช้ Dynamic SQL แบบที่ 2 โดยใช้ sp_ExecuteSQL
  • ตัวแปรจะเป็นประเภท varchar ไม่ได้ ต้องเป็น nvarchar

31. การ Execute sp_ExecuteSQL แบบมี Parameters

  • รูปแบบการประกาศตัวแปร - การส่ง parameters เข้า stored procedures แบบมีชื่อ Parameters ด้วย
  • การเปลี่ยน string ให้อยู่ในรูปแบบ nvarchar โดยใช้ N นำหน้า
  • รูปแบบการบอก DataTypes ของ Parameter
  • การส่งค่าตัวแปรเข้าไปใน Parameters ของ Sp_ExecuteSQL

32. การประยุกต์งาน Dynamic SQL เพื่อสร้าง Stored Procedures ในการนับจำนวน Records ของ Tables ใดๆ

  • ประยุกต์งาน Dynamic SQL เพื่อนับจำนวน Records ของ Tables ใด ๆ โดยนำมาสร้าง Stored Procedures

เนื้อหาในซีดีแผ่นที่ 3

1. เตรียม Project ใหม่สำหรับ CD-ROM แผ่นที่ 3 และการใช้ Top ที่สามารถใช้ตัวแปรได้, Set Rowcount

  • เตรียม Project ใหม่ และ Copy ไฟล์ที่จำเป็นสำหรับ CD-ROM แผ่นที่ 3
  • รูปแบบการใช้ Top โดยทั่วไป - รูปแบบการใช้ Top แล้วตามด้วยตัวแปร ซึ่งเป็นรูปแบบใหม่ใน 2005
  • เปรียบเทียบการเขียน SQL statement แบบเก่าและแบบใหม่จากการใช้ Top
  • การจำกัดจำนวน Record อีกแบบโดยใช้ Set Row Count

2. การใช้ Top ร่วมกับ Percent และการใช้ Top ร่วมกับ SubQuery หรือ Functions

  • รูปแบบการใช้ Top แบบ Percent
  • การใช้ Top ร่วมกับ SubQuery
  • การหา Average ของ SubQuery

3. การใช้ Cross Apply และ Outer Apply ร่วมกับ Top และรูปแบบที่แตกต่างจาก Inner Join และความหมายของ Compatibility Level

  • รูปแบบการเขียน Cross Apply ซึ่งเป็นรูปแบบใหม่ใน SQL 2005 เพื่อหาข้อมูล OrderID ล่าสุด 2 ตัวของลูกค้าแต่ละราย
  • รูปแบบการเขียนที่แตกต่างกับ Inner Join
  • การใช้ Top ร่วมกับ Cross Apply
  • การใช้ Outer Apply
  • การใช้ Common Table Expression ร่วมกับ Cross Apply
  • การตรวจสอบข้อมูลลูกค้าที่ไม่มีการสั่งซื้อ
  • การปรับ Compatitbility Level ให้เป็น SQL Server 2005

4. ความหมายและการทำงานของ Cross Apply ที่แตกต่างกับ Inner Join

  • อธิบายความหมายและรูปแบบการเขียนของ Cross Apply ที่แตกต่างกับ Inner Join
  • ขั้นตอนการทำงานของ Cross Apply

5. การสร้าง Functions ที่ Return ค่าเป็น Scalar และรูปแบบการนำไปใช้

  • รูปแบบการสร้าง Function ใน SQL Server
  • การกำหนด Parameter และ Return Value
  • ข้อแตกต่างระหว่าง Function และ Stored Procedures
  • การนำ Function ไปใช้ จำเป็นต้องระบุ owner ทุกครั้ง

6. การสร้างและการแก้ไข Functions และรูปแบบการใช้ตัวแปรแบบสะสมค่า

  • รูปแบบการสร้าง Function อีกแบบ - การแก้ไข Function
  • ตัวอย่างการใช้ตัวแปรใน Function แบบสะสมค่า

7. การสร้าง Functions ที่ Return เป็น Tables แบบ Single Statement และการใช้ Functions ที่สร้างขึ้นร่วมกับ Cross Apply

  • รูปแบบ Function ที่ Return เป็น Table แบบ Single Statement
  • การเรียกใช้ Function ที่ Return เป็น Table
  • การนำไปประยุกต์กับ Cross Apply

8. การสร้าง Functions ที่ Return เป็น Tables แบบ Multiple Statements และรูปแบบการใช้ IF

  • การสร้าง Function ที่ Return เป็น Table แต่ภายในมีหลาย Statements
  • รูปแบบการใช้ IF...และ Else
  • โครงสร้างในการเขียน Functions ที่ Return เป็น Table และการประกาศตัวแปร Table
  • การใช้ Function Left และการใช้ Like โดยมีเงื่อนไขว่าถ้าขึ้นต้นด้วย A-C ให้ Return ข้อมูล Top 3 แต่ถ้าเป็นตัวอักษรอื่นให้ Return ข้อมูล OrderID ที่เป็น Top 2

9. เทคนิคการจัดการ Queue โดยใช้ Output ซึ่งเป็นรูปแบบใหม่ใน SQL Server 2005 และการใช้ Object Deleted

  • ในรูปแบบการเขียน Stored Procedures สามารถใช้ output deleted.* ได้
  • การสร้างตัวแปรที่เป็น Table - สร้าง Stored Procudure ในการจัดการ Queue
  • การใช้ Delete ร่วมกับ Output เพื่อเก็บค่าที่ Delete ใส่ในตัวแปร Table

10. การค้นตำแหน่งของ String โดยใช้ patindex และ charindex

  • การค้นตำแหน่งของ String
  • ข้อแตกต่างระหว่างการใช้ CharIndex และ PatIndex
  • การใช้ PatIndex สามารถใช้สัญลักษณ์ % และ ก้ามปู ได้
  • CharIndex ไม่ต้องใช้สัญลักษณ์ %

11. การสร้าง Tables ที่มีการใส่กฎให้กับ Tables โดยการใช้ Check และเตรียม Tables เพื่อศึกษา Try…Catch ในการดัก Error

  • สร้าง Tables เพื่อเตรียมศึกษาการดัก Error
  • การตรวจสอบจำนวนเงินไม่ให้ต่ำกว่าที่กำหนดโดยใช้ Check
  • รูปแบบการดัก Error โดยใช้ Try…Catch
  • การสร้าง Table Error Log
  • การตรวจสอบผู้ใช้ที่ Login อยู่ขณะนี้

12. สร้าง Stored Procedures ที่มีการดัก Error โดยการใช้ Try…Catch

  • รูปแบบการใช้ Try…Catch ใน Stored Procedure
  • การเก็บข้อมูลที่มีการผิดพลาดใน Table ErrorLog
  • ใช้ได้เฉพาะ SQL 2005

13. รูปแบบการดัก Error แบบเก่าโดยใช้ @@error

  • การใช้ @@error เพื่อตรวจสอบ Error ที่เกิดขึ้น
  • แบบนี้ใช้ได้ทั้ง SQL 2000 และ SQL 2005
  • เปรียบเทียบรูปแบบการเขียนที่แตกต่างกัน

14. การสร้าง Databases ใหม่จากการ Design โดยสั่งจาก SQL Statements มาจาก VB.NET และความหมายของ Collation

  • การสร้าง Database จากการ Design
  • การสร้าง Database ใหม่จาก SQL Statement
  • การสร้าง Database จาก VB.NET เกิดเปิด SqlConnection และการสร้าง SqlCommand
  • การเปลี่ยน Database ที่ Connect จาก SqlConnection และการใช้ Use
  • การดัก Error ใน VB.NET

15. ตรวจสอบการทำงานของการสร้าง Databases ใหม่จาก VB.NET

  • ตรวจสอบการทำงานการสร้าง Database ใหม่จาก VB.NET
  • ตรวจสอบผลจากการสร้างว่าถูกต้องหรือไม่

16. การตรวจสอบ Databases ที่สร้างขึ้นจาก sysdatabases หรือ sys.databases และการใช้ db_id()

  • การตรวจสอบรายชื่อของ Databases โดยใช้ sysdatabases หรือ sys.databases
  • ความหมายและหน้าที่ของ master database
  • การอ้าง Table ข้าม Database
  • ความหมายของ db_id()

17. การเปลี่ยน Collation ของ Databases และการเปลี่ยน Options ต่างๆ ของ Databases โดยใช้คำสั่ง

  • คำสั่งในการเปลี่ยน Collation ของ Database
  • คำสั่งในการเปลี่ยน Options ต่าง ๆ ของ Database

18. การใช้ sp_helpdb และการลบ Databases ทิ้ง

  • การตรวจสอบคุณสมบัติของ Database โดยใช้ exec sp_helpdb
  • การลบ Database ทิ้งโดยใช้ drop database

19. การใช้ Dock และ Splitter ใน VB.NET เพื่อให้ผู้ใช้สามารถ Resize ได้ และ Object DataRow ของ DataTable

  • การใช้ Splitter และการกำหนด Dock ของ Controls ต่าง ๆ
  • ดึงข้อมูลว่า Databases อะไรบ้างมาแสดงใน ListBox
  • Object DataRow ของ DataTable

20. การแสดงข้อมูล Databases และรายชื่อ Tables ของ Databasesที่มีการ DoubleClick ใน VB.NET

  • การตรวจสอบขนาด Database และวันที่สร้าง จาก VB.NET และการอ้าง Objects จาก Dataset ที่ได้
  • การตรวจสอบรายชื่อ Tables จาก sys.tables และ Sysobjects
  • นำข้อมูลรายชื่อ Tables มาแสดงใน VB.NET

21. คำสั่งในการสร้าง Tables ที่มีรูปแบบต่างๆ : Identity, Timestamp, การสร้าง Primary Key และการตรวจสอบโครงสร้าง Tables

  • SQL Statement ในการสร้าง Table
  • Field ที่เป็น Identity
  • Field ประเภท Timestamp
  • การกำหนด Field ไม่ให้เป็น Null
  • การสร้าง Primary Key ให้กับ Field ในขณะที่สร้าง Table
  • การตรวจสอบโครงสร้างของ Table โดยใช้ sp_help

 22. ความหมายของ Identity Field และ Timestamp Field

  • ความหมายของ Field Identity
  • ประโยชน์ของ Timestamp Field
  • การตรวจสอบค่า identity โดยใช้ @@identity
  • การตรวจสอบ timestamp ล่าสุด โดยใช้ @@dbts

23. ประโยชน์ของ Identity Field และ Timestamp Field เพิ่มเติมการปรับให้ Identity Field เริ่มต้นที่ 1 ใหม่ และความหมายของ Truncate Table

  • การ Run เลขของ Identity เมื่อมี Error เกิดขึ้น
  • ประโยชน์ของ Timestamp Field ในกรณีที่ต้องการตรวจสอบ Record ที่มีการแก้ไข - การทำให้ Identity Field เริ่มต้นที่ 1 ใหม่
  • ความหมายของ Truncate Table ว่าต่างจาก Delete อย่างไร

24. การใช้ while loop, การใช้ Functions replicate และการใช้ set nocount

  • การใช้ While Loop ในการเขียน SQL Batch หรือ Stored Procedures
  • การใช้ Ascii เพื่อตรวจสอบ Ascii ของตัวอักษร - การใช้ Char เพื่อเปลี่ยน Ascii ให้เป็นตัวอักษร
  • การใช้ฟังก์ชัน Replicate - ความหมายของการใช้ Set NoCount

25. การใช้ Collate กับ where และ order by เพื่อคัดเลือกข้อมูลที่เป็นตัวอักษรตัวใหญ่เท่านั้น

  • การใช้ Collate กับ Order by ในรูปแบบต่าง ๆ เพื่อให้ลำดับของตัวอักษรตัวเล็กตัวใหญ่แตกต่างกัน
  • การใช้ Collate กับ Where เพื่อคัดเลือกข้อมูลที่เป็นตัวอักษรตัวใหญ่เท่านั้น

26. การเขียน SQL Statements กับ Fields ที่เป็น nvarchar สามารถระบุ N นำหน้าเพื่อให้ทราบว่าเป็น Unicode

  • ระวังการใช้กับ Field ข้อมูลประเภท NVarchar
  • ให้ระบุ N นำหน้ากับ String ต่าง ๆ เพื่อให้ทราบว่าเป็น Unicode

27. การแก้ปัญหาเกี่ยวกับข้อมูลประเภทวันที่ และการ Convert วันที่ในรูปแบบต่างๆ

  • ปัญหาของการ Query ข้อมูลประเภทวันที่ ทั้งการใช้ Where และการใช้ Group by
  • การ Convert Date ในรูปแบบต่าง ๆ - การแก้ไขปัญหากับ Field ประเภทวันที่

28. สร้าง Functions ที่เก็บข้อมูลเฉพาะวันที่เท่านั้น โดยไม่สนใจเวลา

  • สร้าง Function ที่เก็บข้อมูลเฉพาะวันที่เท่านั้น
  • จาก Function นี้ทำให้สะดวกในการใส่เงื่อนไข และการใช้ Group By
  • Function ที่สร้างขึ้นจะส่งวันที่และเวลาเข้าไป แต่จะตัดส่วนของเวลาทิ้งไป

29. การสร้าง Fields ใหม่ที่เกิดจากการคำนวณใน SQL Statements ทั่วไป และ Calculated Fields

  • การตั้งชื่อ Field ใหม่ที่เกิดจากการคำนวณมีทั้งหมด 3 วิธี
  • วิธีการสร้าง Calculated Field
  • ประโยชน์ของ Calculated Field

30. คำสั่งในการเพิ่ม-ลบ Column ต่างๆ ลงใน Tables และคำสั่งในการใส่กฎเกณฑ์ให้กับ Fields ต่างๆ

  • คำสั่งในการลบ Field
  • คำสั่งในการเพิ่ม Fields ต่าง ๆ
  • การใส่กฏเกณฑ์ให้กับ Field ใน Table

31. การเพิ่ม Constraints Check ให้กับ Fields และการใช้ sp_helpconstraint เพื่อตรวจสอบ Constraints ต่างๆ ใน Tables

  • การ Add Constraint Check ไปพร้อมกับ

เขียนรีวิวสินค้าของคุณเอง

คุณกำลังรีวิว: สื่อการสอน SQL Server 2005

คุณจะให้คะแนนสินค้านี้อย่างไร? *

  1 2 3 4 5
คุณภาพสินค้า
ราคาเหมาะสม
เนื้อหาครบถ้วน
การจัดส่ง
บริการจากร้านค้า

คุณอาจจะสนใจในสินค้าดังต่อไปนี้

expand_less

กำลังดำเนินการ กรุณารอสักครู่...

{{var product.name}}
ได้ถูกเพิ่มเข้าไปยังตะกร้าสินค้าของคุณแล้ว



เลือกซื้อสินค้าต่อ
ดูตะกร้าสินค้า

นำ "{{var product.name}}" ออกจากตะกร้าสินค้าของคุณแล้ว