Database for Everyone
Piti Champeethong (A.K.A Lutfy)
FB: fb.com/digitaloldschooljourney
Agenda
Morning Session Afternoon Session
- Normalization คืออะไร มี
อะไรบาง
- Workshop design
database
- Import data
- SQL101
- Trigger
- Stored Procedure
- User Defined Function
- Workshop query report
- Conclusion
Normalization
1NF - Eliminate Repeating Groups (Make a separate table for each
set of related attributes, and give each table a primary key)
2NF - A relation is in second normal form if it is in 1NF and
every non key attribute is fully functionally dependent on the
primary key.
3NF - A relation is in second normal form if it is in 2NF and
Every non-prime attribute of R is non-transitively dependent
on every key of R (Relation Table)
1NF (First Normal Form)
2NF (Second Normal Form)
3NF (Second Normal Form)
Azure Data Studio
https://bit.ly/2S4vdBV
Import data
- Setup extension from https://bit.ly/2CoUtgT
- Convert excel or any sources to CSV
- Import CSV by extension into database
Structure Query Language
[SELECT] - [FROM] - [WHERE] - [GROUP BY] - [HAVING] - [ORDER BY]
- SELECT FirstName, LastName FROM Employee
- SELECT * FROM Employee
- SELECT FirstName FROM Employee ORDER BY FirstName
- SELECT FirstName FROM Employee WHERE Department=’HR’
- SELECT FIrstName
FROM Employee
WHERE Department=’HR’
ORDER BY FirstName
JOIN Operator
SELECT FirstName, DepartmentName
FROM Employee
INNER JOIN Department ON EmployeeId.DepId = Department.DepId
SELECT FirstName, DepartmentName
FROM Employee
INNER JOIN Department ON EmployeeId.DepId = Department.DepId
INNER JOIN ControlManager ON ControlManager.MgrId =
Employee.MgrId
INNER JOIN
sLeft table Right table
INNER JOIN Ex:
INNER JOIN SQL:
SELECT ชื่อพนักงาน, แผนก
FROM ขอมูลพนักงาน as emp
INNER JOIN ขอมูลแผนก as dep
ON emp.รหัสแผนก = dep.รหัสแผนก
LEFT|RIGHT JOIN
s Right tableLeft table Left table Right table
LEFT JOIN Ex:
LEFT JOIN SQL:
SELECT รหัสพนักงาน, ชื่อพนักงาน, วันที่ลางาน
FROM ขอมูลพนักงาน as emp
LEFT JOIN ขอมูลการลางาน as leave
ON emp.รหัสพนักงาน = leave.รหัสพนักงาน
Query Processor
1. FROM
2. ON
3. JOIN
4. WHERE
5. GROUP BY
6. WITH CUBE or WITH
ROLLUP
7. HAVING
8. SELECT
9. DISTINCT
10. ORDER BY
11. TOP
Aggregation
1. COUNT - นับจํานวนแถวทั้งหมด (records)
2. MIN - หาคาที่ตํ่าที่สุด (minimize)
3. MAX - หาคามากที่สุด (maximize)
4. SUM - หาผลรวม (summation)
5. AVG - หาคาเฉลี่ย (average)
Trigger
การเขียนคําสั่ง T-SQL เพื่อสรางฟงกชั่นใหแทรกการทํา
งานในตารางขอมูล ใหทํางานบางอยางแบบอัตโนมัติ
Use-Case:
เมื่อผูใชลบขอมูลใดๆ ใหคัดลอกขอมูลที่ถูกลบเหลานั้น
ไปเก็บไวอีกตาราง
Stored Procedure
การเขียนคําสั่ง T-SQL เพื่อสรางฟงกชั่นเก็บเอาไวใช
สําหรับจัดการขอมูลตางๆ เพื่องานตอการเรียกมาใชใหม
Use-Case:
สรางฟงกชั่นเพื่อใชสําหรับเพิ่ม แกไข ลบ เรียกขอมูล
ตางๆ จากตารางเพื่อลด network traffic และขั้นตอนการ
ตรวจสอบขอมูล
Without SP
DB
Parser
Algibrizing
​Optimizer
Execution
Send query string
Receive results
ทุกครั้งที่มีการ request จะตองรันคําสั่ง 4 step ใน DB
With SP
DB
Parser
Algibrizing
​Optimizer
Execution
Send SP
Receive results
ทําแตขึ้นตอน Execution อยางเดียว เนื่องจากตอนสราง
SP ไดมีการตรวจสอบ 3 ขั้นตอนแรกไปแลว
Reference
- www.dofactory.com
- www.datacamp.com
- https://docs.microsoft.com/en-us/sql/azure-data-s
tudio/
Our sponsors

More Related Content

PPT
แสตก
PPT
สแตกและคิว (Stack & queue)
PPT
โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)
PDF
Present Unit 5-6 (BC0212)
PDF
PDF
Unit 4 normalazation
PPT
Normalization
PPT
นอร์มัลไลเซชัน Normalization
แสตก
สแตกและคิว (Stack & queue)
โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)
Present Unit 5-6 (BC0212)
Unit 4 normalazation
Normalization
นอร์มัลไลเซชัน Normalization

Similar to Database101 (20)

PPT
Spat Db 4 Db Design Analysis
PDF
Ite 237 midterm guide
PPTX
บทที่ 5
PPT
Database architecture
PPT
นอร์มัลไลเซชัน
PDF
Database Review for Midterm Exam
PDF
06.2 logical database design [normalization]
PDF
หน่วยการเรียนรู้ที่ 7 การสร้างแบบสอบถามวิชา การจัดการฐานข้อมูล
PPT
Weka introducing
PDF
Normalization
PDF
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
DOCX
นอมัลไลเซชั่น ( Normalization )1nf-3nf
PPT
Spat Db 3 Intro Sql
PDF
บทที่ 1 ความรู้พื้นฐานระบบฐานข้อมูล
PDF
การจัดการฐานข้อมูล
PDF
การจัดการฐานข้อมูล
PPTX
PPT
Db chapter3
PDF
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
Spat Db 4 Db Design Analysis
Ite 237 midterm guide
บทที่ 5
Database architecture
นอร์มัลไลเซชัน
Database Review for Midterm Exam
06.2 logical database design [normalization]
หน่วยการเรียนรู้ที่ 7 การสร้างแบบสอบถามวิชา การจัดการฐานข้อมูล
Weka introducing
Normalization
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
นอมัลไลเซชั่น ( Normalization )1nf-3nf
Spat Db 3 Intro Sql
บทที่ 1 ความรู้พื้นฐานระบบฐานข้อมูล
การจัดการฐานข้อมูล
การจัดการฐานข้อมูล
Db chapter3
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
Ad

Database101

  • 1. Database for Everyone Piti Champeethong (A.K.A Lutfy) FB: fb.com/digitaloldschooljourney
  • 2. Agenda Morning Session Afternoon Session - Normalization คืออะไร มี อะไรบาง - Workshop design database - Import data - SQL101 - Trigger - Stored Procedure - User Defined Function - Workshop query report - Conclusion
  • 3. Normalization 1NF - Eliminate Repeating Groups (Make a separate table for each set of related attributes, and give each table a primary key) 2NF - A relation is in second normal form if it is in 1NF and every non key attribute is fully functionally dependent on the primary key. 3NF - A relation is in second normal form if it is in 2NF and Every non-prime attribute of R is non-transitively dependent on every key of R (Relation Table)
  • 8. Import data - Setup extension from https://bit.ly/2CoUtgT - Convert excel or any sources to CSV - Import CSV by extension into database
  • 9. Structure Query Language [SELECT] - [FROM] - [WHERE] - [GROUP BY] - [HAVING] - [ORDER BY] - SELECT FirstName, LastName FROM Employee - SELECT * FROM Employee - SELECT FirstName FROM Employee ORDER BY FirstName - SELECT FirstName FROM Employee WHERE Department=’HR’ - SELECT FIrstName FROM Employee WHERE Department=’HR’ ORDER BY FirstName
  • 10. JOIN Operator SELECT FirstName, DepartmentName FROM Employee INNER JOIN Department ON EmployeeId.DepId = Department.DepId SELECT FirstName, DepartmentName FROM Employee INNER JOIN Department ON EmployeeId.DepId = Department.DepId INNER JOIN ControlManager ON ControlManager.MgrId = Employee.MgrId
  • 11. INNER JOIN sLeft table Right table
  • 13. INNER JOIN SQL: SELECT ชื่อพนักงาน, แผนก FROM ขอมูลพนักงาน as emp INNER JOIN ขอมูลแผนก as dep ON emp.รหัสแผนก = dep.รหัสแผนก
  • 14. LEFT|RIGHT JOIN s Right tableLeft table Left table Right table
  • 16. LEFT JOIN SQL: SELECT รหัสพนักงาน, ชื่อพนักงาน, วันที่ลางาน FROM ขอมูลพนักงาน as emp LEFT JOIN ขอมูลการลางาน as leave ON emp.รหัสพนักงาน = leave.รหัสพนักงาน
  • 17. Query Processor 1. FROM 2. ON 3. JOIN 4. WHERE 5. GROUP BY 6. WITH CUBE or WITH ROLLUP 7. HAVING 8. SELECT 9. DISTINCT 10. ORDER BY 11. TOP
  • 18. Aggregation 1. COUNT - นับจํานวนแถวทั้งหมด (records) 2. MIN - หาคาที่ตํ่าที่สุด (minimize) 3. MAX - หาคามากที่สุด (maximize) 4. SUM - หาผลรวม (summation) 5. AVG - หาคาเฉลี่ย (average)
  • 19. Trigger การเขียนคําสั่ง T-SQL เพื่อสรางฟงกชั่นใหแทรกการทํา งานในตารางขอมูล ใหทํางานบางอยางแบบอัตโนมัติ Use-Case: เมื่อผูใชลบขอมูลใดๆ ใหคัดลอกขอมูลที่ถูกลบเหลานั้น ไปเก็บไวอีกตาราง
  • 20. Stored Procedure การเขียนคําสั่ง T-SQL เพื่อสรางฟงกชั่นเก็บเอาไวใช สําหรับจัดการขอมูลตางๆ เพื่องานตอการเรียกมาใชใหม Use-Case: สรางฟงกชั่นเพื่อใชสําหรับเพิ่ม แกไข ลบ เรียกขอมูล ตางๆ จากตารางเพื่อลด network traffic และขั้นตอนการ ตรวจสอบขอมูล
  • 21. Without SP DB Parser Algibrizing ​Optimizer Execution Send query string Receive results ทุกครั้งที่มีการ request จะตองรันคําสั่ง 4 step ใน DB
  • 22. With SP DB Parser Algibrizing ​Optimizer Execution Send SP Receive results ทําแตขึ้นตอน Execution อยางเดียว เนื่องจากตอนสราง SP ไดมีการตรวจสอบ 3 ขั้นตอนแรกไปแลว
  • 23. Reference - www.dofactory.com - www.datacamp.com - https://docs.microsoft.com/en-us/sql/azure-data-s tudio/