วันพุธที่ 29 มีนาคม พ.ศ. 2566

ผลการเรียนครั้งที่15

 ความคืบหน้าของโครงงาน

ได้เรียบเรียงเนื้อหาในโครงงานและใส่รายละเอียดได้เกือบ 50%

1. ปรึกษาหารือภายในกลุ่ม

2. เก็บรวบรวมรายละเอียดและวิเคราะห์

3. กำหนดเป้าหมายและวัตถุประสงค์ขอบเขตฐานข้อมูล





ผลการเรียนรู้ครั้งที่ 16

 ความคืบหน้าของโครงงาน

ได้เรียบเรียงเนื้อหาในโครงงานและใส่รายละเอียดได้เกือบ 80%

1. ได้เก็บข้อมูลอะไรบ้างในฐานข้อมูลต้องการสืบค้นข้อมูลอะไรบ้าง ต้องการแสดงรายงานอะไรบ้าง

2. ออกแบบฐานข้อมูลตามความต้องการที่ผ่านการวิเคราะห์แล้ว





ผลการเรียนรู้ครั้งที่ 14

ความคืบหน้าของโครงงาน

1. เริ่มประชุมเรื่องที่จะเลือกหัวข้อในการทำโครงงาน

2. เลือกหัวข้อการทำโครงงาน

นักศึกษาได้ไปสังเกตการณ์สอนสัปดาห์แรก

ได้สอบถามครูพี่เลี้ยงเกี่ยวกับระบบฐานข้อมูลที่เราต้องการศึกษา 

รวยรวมเนื้อหาของระบบฐานข้อมูล


ผลการเรียนรู้ครั้งที่ 12

แนวทางการพัฒนาระบบฐานข้อมูล

--------------------



    ระบบฐานข้อมูล (Database System) นับเป็นเครื่องมือพื้นฐานที่มี บทบาทสำคัญอย่างยิ่งสำหรับระบบสารสนเทศแบบต่างๆ ที่ใช้คอมพิวเตอร์ ในการประมวลผล เนื่องจากฐานข้อมูลเป็นส่วนที่ใช้จัดเก็บข้อมูลนำเข้า (Input) ของทุกระบบสารสนเทศ ดังนั้น การออกแบบระบบสารสนเทศ จึงจำเป็นต้องให้ความสำคัญต่อการออกแบบฐานข้อมูลด้วย ฐานข้อมูลที่ได้ รับการออกแบบอย่างเหมาะสมจะสามารถตอบสนองต่อความต้องการของ ผู้ใช้งานภายในหน่วยงานต่างๆ ได้เป็นอย่างดีซึ่งจะทำให้การดำเนินงาน มีประสิทธิภาพดียิ่งขึ้น เป็นผลตอบแทนที่คุ้มค่าต่อการลงทุนเพื่อพัฒนา ระบบฐานข้อมูลภายในองค์กร
       
          
1.ขั้นตอนการพัฒนาระบบงาน
    การพัฒนาระบบงานโดยทั่วไป มีขั้นตอนการดำเนินงาน ดังนี้ 
    1.1 วางแผนงาน/โครงการ เป็นขั้นตอนแรกในการพัฒนาระบบงาน โดยเริ่มจากการศึกษาความเป็นไปได้
    1.2 กำหนดขอบเขตการดำเนินการ เป็นการระบุความจำเป็นในการ พัฒนาระบบงานใหม่อย่างคร่าวๆ   
   1.3 การรวบรวมและวิเคราะห์ความต้องการ (Re0uirement Collection and Analysis) โดยกำหนดปัญหา   และเงื่อนไขของผู้ใช้งาน เพื่อให้ทราบ ปัญหาของระบบงานเดิม และความต้องการของระบบงานใหม่ 
   1.4 การออกแบบ (Design) ในการพัฒนาระบบงานประกอบด้วย การออกแบบระบบฐานข้อมูลและการออกแบบระบบงานประยุกต     
   1.5 การทดสอบระบบ และนำระบบไปใช้งาน ระบบงานจะต้องได้รับ การทดสอบในทุกๆ ด้าน ที่จะสามารถทำการทดสอบได้เพื่อให้เกิดความแน่ใจ ว่าระบบงานจะทำงานได้ถูกต้องและเป็นไปตามความต้องการ  
   1.6 การบำรุงรักษา เป็นขั้นตอนที่ไม่เกี่ยวข้องกับการพัฒนาระบบ สารสนเทศ เนื่องจากเป็นการดำเนินการเมื่อมีการนำระบบไปใช้งานจริงแล้ว

2.บุคลากรในการออกแบบฐานข้อมูล
ในการออกแบบฐานข้อมูล แต่ละองค์กรจะกำหนดให้มีผู้รับผิดชอบ ทำหน้าที่ในการออกแบบฐานข้อมูล โดยจำนวนบุคลากรที่ทำหน้าที่ดังกล่าว จะแตกต่างกันไปในแต่ละองค์กร ขึ้นอยู่กับความซับซ้อน ขอบข่ายของ ระบบงาน และขนาดขององค์กร
    2.1 ผู้บริหารฐานข้อมูล (Data Base Administrator: DBA) และ ผู้บริหารข้อมูล (Data Administrator: DA) 
    2.2 นักวิเคราะห์ระบบ (Systems Analysts) และนักเขียนโปรแกรม (Programmer)
    2.3 ผู้ใช้(End User) 

3.ขั้นตอนการออกแบบฐานข้อมูล
วัตถุประสงค์หลักในการออกแบบระบบฐานข้อมูล คือ การสร้าง ฐานข้อมูลที่มีประสิทธิภาพเพื่อตอบสนองความต้องการของผู้ใช้งานเป็นการ กำหนดโครงสร้างของฐานข้อมูลเพื่อให้เกิดความถูกต้อง สะดวก และรวดเร็ว การวิเคราะห์และออกแบบระบบคือการหา ความต้องการ (Requirement) ของระบบ ที่จะทำการพัฒนาขึ้นว่าต้องการประสิทธิภาพ ในการทำงานอย่างไรบ้าง โดยการวิเคราะห์ และออกแบบระบบฐานข้อมูลประกอบด้วย 3 ขั้นตอน ดังนี้
    3.1 การออกแบบฐานข้อมูลในระดับแนวคิด (Conceptual Database Design) 
    3.2 การออกแบบฐานข้อมูลในเชิงตรรกะ (Logical Database Design) 
    3.3 การออกแบบฐานข้อมูลในระดับกายภาพ (Physical Database Design)

4.วงจรชีวิตของการพัฒนาระบบฐานข้อมูล
ในการพัฒนาระบบสารสนเทศนั้น ผู้พัฒนาระบบจะต้องดำเนินการ ตามขั้นตอนต่างๆ ที่กำหนดไว้ในวงจรชีวิตในการพัฒนาระบบงาน (System Development LifeCycle : SDLC) แต่เนื่องจากระบบสารสนเทศประกอบด้วย ส่วนการประมวลผล และส่วนของข้อมูล ดังนั้น ในการพัฒนาระบบสารสนเทศ จึงต้องดำเนินการพัฒนาทั้งในส่วนของการออกแบบระบบงานประยุกต์ และ ส่วนของการออกแบบระบบฐานข้อมูลควบคู่กันไป ซึ่งผู้พัฒนาระบบสารสนเทศ จะดำเนินการตามขั้นตอนต่างๆ ของการพัฒนาระบบงานตามวงจรชีวิตของ การพัฒนาระบบงานเป็นหลัก แต่ถ้าการดำเนินการภายในขั้นตอนนั้นๆ เกี่ยวกับ การพัฒนาในส่วนของข้อมูลแล้ว ผู้พัฒนาต้องดำเนินการตาม ขั้นตอนของวงจรชีวิตของการพัฒนาระบบฐานข้อมูล (Database Life Cycle : DBLC) เนื่องจากในการพัฒนาระบบสารสนเทศนั้น ส่วนแรกที่จะ ต้องออกแบบและพัฒนาขึ้นก่อน คือ ส่วนของ ข้อมูล ซึ่งข้อมูลที่ถูกออกแบบไว้จะถูกใช้เป็น ข้อมูลนำเข้า (Input) และส่วนแสดงผล(Output) ของระบบงานประยุกต์ 24แนวทางการพัฒนาระบบฐานข้อมูล วงจรชีวิตของการพัฒนาระบบฐานข้อมูล เป็นขั้นตอนที่กำหนดขึ้น เพื่อใช้เป็นแนวทางในการพัฒนาระบบฐานข้อมูล ซึ่งประกอบด้วยขั้นตอน ต่างๆ ดังนี้
  4.1 การศึกษาเบื้องต้นเพื่อจัดทำฐานข้อมูล (Database Initial Study)
  4.2 การออกแบบฐานข้อมูล (Database Design) 
  4.3 การจัดทำและนำข้อมูลเข้าฐานข้อมูล (Implementation and Loading)
  4.4 การทดสอบและประเมินผล (Testing and Evaluation) 
  4.5 การนำข้อมูลไปใช้งาน (Operation)
  4.6 การบำรุงรักษาฐานข้อมูล (Maintenance and Evolution)

5. การติดตามและควบคุมการใช้งานฐานข้อมูล
ความปลอดภัยของระบบฐานข้อมูล (Database Security) เป็น การป้องกันผู้ไม่มีสิทธิเข้ามาใช้หรือแก้ไขข้อมูล และความสามารถในการ ป้องกันข้อมูลให้ถูกต้อง ครบถ้วน สมบูรณ์ เช่น ข้อมูลที่ถูกเปลี่ยนแปลง ให้ผิดพลาดได้โดยง่าย แสดงว่าข้อมูลมีความปลอดภัยต่ำ เป็นต้น ทั้งนี้ ความปลอดภัยของระบบฐานข้อมูลมีความสำคัญต่อความสำเร็จขององค์กร เป็นอย่างมาก ผู้บริหารฐานข้อมูลจึงจำเป็นที่จะต้องรักษาฐานข้อมูลให้ปลอดภัย เพื่อลดปัจจัยเสี่ยงที่จะทำให้ฐานข้อมูลเกิดความเสียหาย โดยมีวัตถุประสงค์ เพื่อให้สามารถรักษาข้อมูลให้เป็นความลับได้(Secrecy) เพื่อให้ข้อมูล แนวทางการพัฒนาระบบฐานข้อมูล 33 ในระบบฐานข้อมูลมีความถูกต้องครบถ้วน สมบูรณ์ (Integrity) เพื่อให้มีฐานข้อมูลพร้อม ใช้งานอยู่เสมอ (Availability) และเพื่อลด ความเสี่ยง (RiskAssessment) ในค่าใช้จ่ายที่จะ เกิดขึ้นจากการเสียหายของข้อมูล การติดตามตรวจสอบและควบคุมการใช้งาน ฐานข้อมูลเป็นการควบคุมความปลอดภัยให้กับข้อมูล (Security Control) ซึ่งเป็นทรัพยากรที่มีความสำคัญต่อการพัฒนาองค์กรนั้น สามารถกระทำได้ หลายแนวทาง  
   5.1 การตรวจสอบเบื้องต้น 
   5.2 การติดตามและตรวจสอบการใช้งานฐานข้อมูล
   5.3 การควบคุมการใช้งานฐานข้อมูล


ผลการเรียนรู้ครั้งที่ 13

 นักศึกษาได้ไปสังเกตการณ์สอนสัปดาห์แรก

ได้สอบถามครูพี่เลี้ยงเกี่ยวกับระบบฐานข้อมูลที่เราต้องการศึกษา

ผลการเรียนรู้ครั้งที่ 11


👉คำสั่ง IN

 IN อนุญาตให้คุณระบุหลายค่าในส่วนคำสั่ง WHERE
 IN เป็นคำย่อสำหรับหลายเงื่อนไขหรือ

         ตัวอย่าง

          SELECT * FROM Customers
         WHERE Country IN ('Germany', 'France', 'UK');

SELECT * FROM Customers
              WHERE Country NOT IN ('Germany', 'France', 'UK');



👉คำสั่ง JOIN
 JOIN ใช้เพื่อรวมแถวจากสองตารางขึ้นไป โดยยึดตามคอลัมน์ที่เกี่ยวข้องกันระหว่างตารางเหล่านั้น

          ตัวอย่าง
         SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
         FROM Orders
         INNER JOIN Customers
         ON Orders.CustomerID=Customers.CustomerID;

ผลการเรียนรู้ที่10 (การใช้คำสั่ง)


Select Top : เป็นคำสั่งที่ใช้ในการระบุจำนวน เรคอด ที่เราต้องการจะดู

ตัวอย่าง 

SELECT TOP number|percent column_name(s) *(s)= สามารถทำได้หลายๆคอลลัม*

FROM table_name WHERE condition;

ตัวอย่าง 

SELECT * FROM Customers FETCH FIRST 3 ROWS ONLY;

👉 Min And Max : Min หาค่าน้อยที่สุด และ Max หาค่ามากที่สุด ในคอลลัม 

**จะใช้ข้อมูลที่เป็นตัวเลขเท่านั้น**

ตัวอย่าง 

SELECT MIN(column_name)  FROM table_name  WHERE condition;

SELECT MIN(Price) AS SmallestPrice FROM Products;

*As = หาเจอแล้วเป็นคอลลัมใหม่,ชื่อเทียม*

ตัวอย่าง

SELECT MAX(column_name) FROM table_name WHERE condition;

SELECT MAX(Price) AS LargestPrice FROM Products;

ตัวอย่าง

ถ้าหากอยากทราบว่าราคานั้นอยู่ในคอลลัมไหน

Select * from [Products] where price = 263.3; *263.3=ค่าที่รันก่อนหน้า*

Select * from [Products] where price >= 50 and 100;

👉 Count,AVG,SUM

                                    


👉 Count : นับจำนวน ต้องอยู่ก่อน from

ตัวอย่าง

SELECT COUNT(ProductID) FROM Products;

Select Count * from products where price = 18; ค่าที่อยู่ระหว่าง 50>=100

👉 AVG : ค่าเฉลี่ย ต้องเป็นตัวเลขเท่านั้น

ตัวอย่าง

SELECT AVG(Price)FROM Products;

👉 SUM : การหาผลรวม ต้องเป็นตัวเลขเท่านั้น

ตัวอย่าง

SELECT SUM(Quantity) FROM OrderDetails;

👉 Like : ใช้เพื่อค้นหารูปแบบที่ระบุในคอลลัม

เครื่องหมาย 

a% = ขึ้นต้นด้วย a ด้านหลังตัวอักษรอะไรก็ได้

%a = ด้านหน้าตัวอักษรอะไรก็ได้ แต่ด้านหลังต้องเป็น a

%a% = ด้านหน้าและด้านด้านหลังตัวอักษรอะไรก็ได้ แต่ตรงกลางต้องเป็น a

* เช่น ตามหาคำที่ขึ้นด้วยอักษร a *

% = อักขระ 0 หนึ่งตัวหรือหลายตัวหรือไม่มีก็ได้

() = หนึ่งตัวอักขระเดียว

_ = หนึ่งอักขระเท่านั้น

_ _ = อักขระ 2 ตัว

ตัวอย่าง

                           


ตัวอย่าง

SELECT * FROM Customers WHERE CustomerName LIKE 'a%';

ตัวอย่าง

SELECT * FROM Customers  WHERE CustomerName LIKE '%a';

ตัวอย่าง

SELECT * FROM Customers WHERE CustomerName LIKE '%or%';

Wildcards : สัญลักษณ์อย่างใดอย่างหนึ่ง (คล้ายกับ Like)

ตัวอย่าง

SELECT * FROM Customers WHERE City LIKE 'ber%';

ตัวอย่าง

SELECT * FROM Customers WHERE City LIKE '%es%';

👉 IN : แทน or 

ถ้า or 

ตัวอย่าง

SELECT * FROM Customers WHERE Country IN ('Germany', 'France', 'UK');

ตัวอย่าง

SELECT * FROM Customers WHERE Country IN (SELECT Country FROM Suppliers);

วันพุธที่ 8 มีนาคม พ.ศ. 2566

ผลการเรียนรู้ครั้งที่ 9

ผลการเรียนรู้ที่9 (การใช้SQL)
INSERT INTO : เพิ่มข้อมูลลงไปในฐาน (สามารถทำได้ครั้งละ 1 เรคอด ถ้าหากจะทำหลายเรคอดต้องทำเป็นวนลูป ส่วนใหญ่ไม่นิยมใช้) 
ตัวอย่าง 
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); 
ตัวอย่าง
 INSERT INTO Customers (CustomerName, City, Country) VALUES ('Cardinal', 'Stavanger', 'Norway'); *VALUES : ค่าที่จะเพิ่มเข้าไป 
** Null Values : เช็คค่าว่าง -Is null = ไม่มี 
(ตรวจที่ว่าง แล้วไม่มีที่ว่าง) 
-Is not null = มี (ตรวจแล้วมีค่า) 
ตัวอย่าง 
SELECT column_names FROM table_name WHERE column_name IS NULL;
 ตัวอย่าง
 SELECT CustomerName, ContactName, Address FROM Customers WHERE Address IS NULL; Update : ปรับปรุงหรือแก้ไขข้อมูล
 - การแก้ไขข้อมูลที่มีอยู่แล้ว หรือปรับปรุงจากข้อมูล โดยยึดหลักจากข้อมูลเดิมที่มีอยู่แล้วมาแก้ไข 
ตัวอย่าง 
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
 ตัวอย่าง 
UPDATE Customers SET ContactName='Juan' WHERE Country='Mexico';
 ตัวอย่าง
 UPDATE Customers SET ContactName = 'Alfred Schmidt', City= 'Frankfurt' WHERE CustomerID = 1; Delete : การลบข้อมูล 
-ใช้คำสั่ง Delete เมื่อต้องการลบข้อมูลทั้งเรคอด(ลบทั้งแถว)
 -ถ้าหากว่ามีชื่อซ้ำจะลบหมดเลย พอลบออกเสร็จแล้วจะขึ้น Rows affected : 1 หรือ 1 = แสดงค่าที่ลบออก -ไม่สามารถกู้คืนได้ 
ตัวอย่าง 
DELETE FROM table_name WHERE condition;
 ตัวอย่าง DELETE FROM Customers WHERE CustomerName='Alfreds Futterkiste';

ผลการเรียนรู้ครั้งที่ 8 (การใช้คำสั่ง SQL)

การใช้คำสั่ง SQL


👉 Select : แสดงข้อมูลตารางที่ต้องการ

ตัวอย่าง

SELECT column1, column2, ...

FROM table_name;

👉 Select * : แสดงข้อมูลทุกตารางและคอลัมที่ต้องการ

ตัวอย่าง

SELECT * FROM table_name;

👉 From : แสดงตารางที่มีเขตข้อมูลที่ปรากฎอยู่ในส่วนคำสั่ง Select

👉 Where : เปรียบเทียบ หรือระบุเขตข้อมูลที่ใช้เลือกระเบียนที่จะรวมอยู่ในผลลัพธ์

👉 SQL And , or , not (Combined = เชื่อมโยงหรือเชื่อมเงื่อน)

ตัวอย่าง 

Select * From

Where Country = 'Germany' And City = 'Berlin';

👉 Order By : จัดเรียงข้อมูล 

 - ASC = น้อยไปมาก

ตัวอย่าง

SELECT * FROM Customers

ORDER BY Country ASC;

  - DESC = มากไปน้อย

ตัวอย่าง

SELECT * FROM Customers

ORDER BY Country DESC;

👉 INSERT INTO : เพิ่มข้อมูลลงไปในฐาน 

(สามารถทำได้ครั้งละ 1 เรคอด ถ้าหากจะทำหลายเรคอดต้องทำเป็นวนลูป ส่วนใหญ่ไม่นิยมใช้)

ตัวอย่าง

INSERT INTO table_name (column1, column2, column3, ...)

VALUES (value1, value2, value3, ...);

ตัวอย่าง

INSERT INTO Customers (CustomerName, City, Country)

VALUES ('Cardinal', 'Stavanger', 'Norway');

** VALUES : ค่าที่จะเพิ่มเข้าไป **

👉 Null Values : เช็คค่าว่าง

-Is null = ไม่มี (ตรวจที่ว่าง แล้วไม่มีที่ว่าง)

-Is not null = มี (ตรวจแล้วมีค่า)

ตัวอย่าง

SELECT column_names

FROM table_name

WHERE column_name IS NULL;

ตัวอย่าง

SELECT CustomerName, ContactName, Address

FROM Customers

WHERE Address IS NULL;

👉 Update : ปรับปรุงหรือแก้ไขข้อมูล

- การแก้ไขข้อมูลที่มีอยู่แล้ว หรือปรับปรุงจากข้อมูล โดยยึดหลักจากข้อมูลเดิมที่มีอยู่แล้วมาแก้ไข

ตัวอย่าง

UPDATE table_name

SET column1 = value1, column2 = value2, ...

WHERE condition;

ตัวอย่าง

UPDATE Customers

SET ContactName='Juan'

WHERE Country='Mexico';

ตัวอย่าง

UPDATE Customers

SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'

WHERE CustomerID = 1;

👉 Delete : การลบข้อมูล

-ใช้คำสั่ง Delete เมื่อต้องการลบข้อมูลทั้งเรคอด(ลบทั้งแถว) 

-ถ้าหากว่ามีชื่อซ้ำจะลบหมดเลย พอลบออกเสร็จแล้วจะขึ้น Rows affected : 1 หรือ 1 = แสดงค่าที่ลบออก

-ไม่สามารถกู้คืนได้

ตัวอย่าง

DELETE FROM table_name WHERE condition;

ตัวอย่าง

DELETE FROM Customers WHERE CustomerName='Alfreds Futterkiste';

👉 Select Top : เป็นคำสั่งที่ใช้ในการระบุจำนวน เรคอด ที่เราต้องการจะดู

ตัวอย่าง 

SELECT TOP number|percent column_name(s) *(s)= สามารถทำได้หลายๆคอลลัม*

FROM table_name

WHERE condition;

ตัวอย่าง 

SELECT * FROM Customers

FETCH FIRST 3 ROWS ONLY;

👉 Min And Max : Min หาค่าน้อยที่สุด และ Max หาค่ามากที่สุด ในคอลลัม 

**จะใช้ข้อมูลที่เป็นตัวเลขเท่านั้น**

ตัวอย่าง 

SELECT MIN(column_name)

FROM table_name

WHERE condition;

SELECT MIN(Price) AS SmallestPrice

FROM Products;

*As = หาเจอแล้วเป็นคอลลัมใหม่,ชื่อเทียม*

ตัวอย่าง

SELECT MAX(column_name)

FROM table_name

WHERE condition;

SELECT MAX(Price) AS LargestPrice

FROM Products;

ตัวอย่าง

ถ้าหากอยากทราบว่าราคานั้นอยู่ในคอลลัมไหน

Select * from [Products] where price = 263.3; *263.3=ค่าที่รันก่อนหน้า*

Select * from [Products] where price >= 50 and 100;

👉 Count,AVG,SUM


👉 Count : นับจำนวน ต้องอยู่ก่อน from
SELECT COUNT(ProductID)
FROM Products;
Select Count * from products where price = 18; ค่าที่อยู่ระหว่าง 50>=100
👉 AVG : ค่าเฉลี่ย ต้องเป็นตัวเลขเท่านั้น
SELECT AVG(Price)
FROM Products;
👉 SUM : การหาผลรวม ต้องเป็นตัวเลขเท่านั้น
SELECT SUM(Quantity)
FROM OrderDetails;