แสดงบทความที่มีป้ายกำกับ ปี 2565 แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ ปี 2565 แสดงบทความทั้งหมด

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

ผลการเรียนรู้ที่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;


วันพุธที่ 1 กุมภาพันธ์ พ.ศ. 2566

ผลการเรียนรู้ครั้งที่ 7 (พัฒนาระบบฐานข้อมูล)

พัฒนาระบบฐานข้อมูล

                         ปัจจัยสำคัญประการหนึ่ง คือ การได้ข้อมูลที่ถูกต้อง ครบถ้วนและรวดเร็ว โดยใช้ระบบสารสนเทศเป็นเครื่องมอในการแปลงข้อมูลให้อยู่ในรูปแบบของสารสนเทศ ที่พร้อมใช้งานได้ทันที่โดยข้อมูลต้องมีความถูกต้อง
                 
  •   ระบบสารสนเทศ
             -ระบบสารสนเทศเพื่อการจัดการ (Mis)
             -ระบบสารสนเทศ สำหรับผู้บริหาร (EIS)

  •    ขั้นตอนการพัฒนาระบบงาน 
             1.เทคนิค
             2.ความรู้
             3.ความเป็นไปได้ทางเศรษฐกิจ

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

 


บุคลากรที่เกี่ยวข้องกับงานระบบฐานข้อมูล 
    • ผู้จัดการฐานข้อมูล
    • นักออกแบบฐานข้อมูล 
    • กลุ่มผู้ใช้ 
    • นักวิเคราะห์ระบบและนักเขียนโปรแกรมประยุกต์
    • ผู้ออกแบบและพัฒนาระบบจัดการฐานข้อมูล 
   การควบคุมฐาน  -ทางกาย
                                 -การเข้าถึงข้อมูล
                  DBLC   : วงจรชีวิตของการพัฒนาระบบฐานข้อมูล
  • ศึกษาเบื้องต้นเพื่อจัดทำฐานข้อมูล  ---> ดูกฏระบเบียบ
*DATA     DICTIIONATY คือ meta data  =ข้อมูลของข้อมูล
                                                     คือ รหัสหนังสือ,คีย์เวิดหลักของหนังสือ
      •  meta data เพื่อช่วยให้นักวิเคราะห์ระบบ  นักโปรแกรมให้เข้าาใจเนื้อหาข้อมูลตรงกัน
   องค์ประกอบ 
     - มีชื่อ  ตัวอย่าง student (เก็บอะไร เพื่อ........)
  •     -แล้วบอกคำนิยามของชื่อนั้น  ตัวอย่าง เพศ ช / ญ


วันอาทิตย์ที่ 8 มกราคม พ.ศ. 2566

ผลการเรียนรู้ครั้งที่ 6 (การสร้างแบบจำลองความสัมพันธ์ของข้อมูล)

  การสร้างแบบจำลองความสัมพันธ์ของข้อมูล

- Peter Chen คือ คนที่พัฒนาแบบจำลอง E-R Diagram

- มุมมองในการออกแบบฐานข้อมูลและสร้างฐานข้อมูลเชิงสัมพันธ์

- จัดทำแบบจำลองด้วย E-R Diagram ด้วย ซอฟต์แวร์ Diagram Drawio 

คำศัพท์

- Data ดิชั่นนารี = คอยอธิบายในแต่ช่อง 

- Entity , Relation (ตาราง) 

-Attribute (คอลลัมหรือฟิวล์)

-Record(เรคอร์ดหรือแถว)

-Foreign Key(คีย์ที่ตามคีย์เพื่อจับคู่และสร้างความสัมพันธ์)

-Character(ตัวเลขหรือจำนวนเต็ม)

ลักษณะ

(0:1) =มีหรือไม่มีก็ได้

(1:1) = มีข้อมูล เช่น รหัสนักศึกษา , สาขา

(0:N) = เป็นหนี้ต่อกลุ่ม หรือไม่มีก็ได้

(1:N) = หนึ่งต่อกลุ่ม

(M:1) = กลุ่มต่อหนึ่ง

(M:M) = กลุ่มมต่อกลุ่ม แล้วต้องแยกให้เป็น หนึ่งต่อกลุ่ม (เรียกว่า Week Entity ส่วนมากจะเก็บรหัส)

ER Model

- Entity (ตาราง) : แทนที่สิ่งหนึ่งสิ่ง ซึ่งอาจจะเป็นทั้งคน วัตถุ สิ่งของ

    Week Entity : เกิดขึ้นเองไม่ได้ มันจะต้องมี 2 สิ่งมาทำปฏิกิริยาก่อนถึงจะเกิดขึ้น

- Attribute : ใช้แสดงคุณสมบัติของ Entity เช่น ชื่อ นามสกุล

- Key : Attribute ที่มีค่าบรรจุอยู่มากกว่าหนึ่งค่า

- Derived attribute : Attribute ที่มีค่าของมันได้มาจากการคำนวณของ Attribute อื่น

- Composite : Attribute ที่สามารถแยกออกเป็นย่อย ๆ ได้หลาย Attribute

วันอังคารที่ 27 ธันวาคม พ.ศ. 2565

ผลการเรียนรู้ครั้งที่ 5 (Function Dependency (FDs))

  Function Dependency (FDs)


💛 FD : Determinant (ตัวกำหนดค่า) - attribute 👉 Dependency - Attribute

 ถ้าหากเราใส่ รหัสบัตรประชาชนใน   Determinant มันจะแสดง ชื่อ,ชั้นปี,เอกหรือสาขา (Dependency)

* Fully Function Dependency 

* Multi - Value Dependency (MVDs) : สามารถบอกค่าได้ 2 Attribute [➡➡]

💛 รูปแบบบรรทัดฐานระดับที่ 2 (2NF)

นิยาม Relation นั้นจะต้องอยู่ในรูปแบบ 1 NF และ Non-Attribute ทุกตัวต้องขึ้นกับคีย์หลักอย่างแท้จริง

รูปแบบบรรทัดฐานระดับที่ 3 (3NF) คีย์คู่แข่ง เช่น รหัสสมัคร ⇿ เลขประจำตัวผู้เสียภาษี

วันพุธที่ 21 ธันวาคม พ.ศ. 2565

ผลการเรียนรู้ครั้งที่ 4 (รูปแบบบรรทัดฐานที่ 3 (3NF)" Function Dependency (FDs))

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

 "รูปแบบบรรทัดฐานที่ 3 (3NF)" Function Dependency (FDs)


"รูปแบบบรรทัดฐานที่ 3 (3NF)" Function Dependency (FDs)

ฟังก์ชั่นการขึ้นต่อกัน (Functional Dependency : FD) ฟังก์ชั่นการขึ้นต่อกัน เป็นการอธิบายถึงความสัมพันธ์ระหว่างค่าของ แอตทริบิวต์ ที่อยู่ใน รีเลชั่นเดียวกัน โดยแอตทริบิวต์หรือกลุ่มแอตทริบิวต์ที่สามารถระบุค่าของแอตทริบิวต์อื่น ๆ ในทูเพิล เดียวกันได้ จะเรียกว่า "ดีเทอร์มิแนนท์" (Determinant) และแอตทริบิวต์ ที่ถูกระบุ ค่าถึงเรียกว่า "ดีเพนเดนซี่" (Dependency) ตัวอย่างเช่น รีเลชั่นนักศึกษาที่มี รหัสนักศึกษา เป็นค่าคีย์จะ สามารถระบุค่าอื่น ๆ ได้เช่น เมื่อระบุรหัสนักศึกษา จะได้ค่าในแอตทริบิวต์ ชื่อ, สาขา, ห้อง และชั้นปี ออกมา เป็นต้น การเขียนฟังก์ชั่นการขึ้นต่อกัน สามารถเขียนโดยใช้ สัญลักษณ์

👉ตัวอย่างเช่น Determinant --> Dependency รหัสนักศึกษา --> ชื่อ, สาขา, ห้อง, ชั้นปีจากตัวอย่างด้านบน รหัสนักศึกษา คือ ดีเทอร์ มิแนนท์ และส่วน ชื่อ, สาขา, ห้อง, ชั้นปี คือ ดีเพนเดนซี่ ในการพิจารณาว่ารีเลชั่นว่าอยู่ใน รูปแบบนอร์มอลระดับใดนั้น จะพิจารณาจากฟังก์ชั่นการ ขึ้นต่อกัน

📋ประเภทของฟังก์ชั่นการขึ้นต่อกัน แบ่งออกเป็น 4 ประเภท คือ

1) ฟังก์ชั่นการขึ้นต่อกัน ที่เกิดจาก ความสัมพันธ์ระหว่างดีเทอร์มิแนนท์ และดีเพนเดนซี่ อย่าง ละ 1 ค่า เช่น ความสัมพันธ์ ระหว่าง รหัสนักศึกษา และชื่อนักศึกษา ดังนี้

👉รหัสนักศึกษา --> ชื่อนักศึกษา Std_ID --> Std_Name 

2) ฟังก์ชั่นการขึ้นต่อกัน ที่เกิดจากความสัมพันธ์ระหว่างดีเทอร์มิแนนท์ 1 ค่า กับดีเพนเดนซี่ หลายค่า เช่น ความสัมพันธ์ระหว่าง รหัสนักศึกษา และข้อมูลของนักศึกษา (เช่น ชื่อ, นามสกุล, วันเดือนปีเกิด เป็นต้น) ดังนี้ 👉รหัสนักศึกษา --> ชื่อ, นามสกุล, วันเดือนปีเกิด Std_ID --> FirstName, LastName, BirthDate 

3) ฟังก์ชั่นการขึ้นต่อกัน ที่มีความสัมพันธ์ 2 ทาง โดยที่ทั้งดีเทอร์มิแนนท์และ ดีเพนเดนซี่ ต่างก็สามารถทำหน้าที่ของแต่ละฝ่ายได้ เช่น ความสัมพันธ์ระหว่าง รหัสนักศึกษา และ เลขบัตรประชาชน ที่ต่างก็ไม่มีข้อมูลซ้ำกันเลย และสามารถทำหน้าที่เป็นดีเทอร์มิแนนท์ เช่นเดียวกัน ดังนี้ 

👉รหัสนักศึกษา --> เลขบัตรประชาชน Std_ID --> Std_Pin เลขบัตรประชาชน --> รหัสนักศึกษา Std_Pin --> Std_ID รหัสนักศึกษา <--> เลขบัตรประชาชน Std_ID <--> Std_Pin 


4) ฟังก์ชั่นการขึ้นต่อกัน ที่ต้องใช้ดีเทอร์มิแนนท์ มากกว่า 1 ค่าเพื่อระบุถึงดีเพนเดนซี่ เช่น ความสัมพันธ์ระหว่าง รหัสนักศึกษา, รหัสวิชา และ ห้องเรียน ดังนี้

 👉รหัสนักศึกษา, รหัสวิชา --> ห้องเรียน Std_ID, Course_ID --> Room 

วันเสาร์ที่ 10 ธันวาคม พ.ศ. 2565

ผลการเรียนรู้ครั้งที่ 3 ( การออกแบบฐานข้อมูลเชิงสัมพันธ์)

     สรุปผลการเรียนรู้ที่ 3

 การออกแบบฐานข้อมูลเชิงสัมพันธ์

คำศัพท์

Relation = ตาราง (Table)

 Attribute = ชื่อของคอลัมน์

 Tuple = แถวของ relation 1 แถว 

Determinant = ตัวกําหนดค่า

Dependency = ค่าที่ขึ้นอยู่กับ  Determinant

 Candidate key = คีย์คู่แข่ง  

Redundancy = ความซํ้าซ้อนของข้อมูล

 Composition key = คีย์ร่วม

 Repeating groups = กลุ่มข้อมูลซํ้า

ฐานข้อมูลเชิงสัมพันธ์

คือ การจัดเก็บข้อมูลในลักษณะที่เป็นกลุ่มของข้อมูลที่มีความสัมพันธ์กัน ในฐานข้อมูลหนึ่งๆ สามารถที่จะมีตารางตั้งแต่ 1 ตารางเป็นต้นไป และในแต่ละตารางนั้นก็สามารถมีได้หลายคอลัมน์ (Column) หลายแถว (Row) 

ตัวอย่างเช่น  เราต้องการเก็บข้อมูลพนักงาน ในตารางของข้อมูลพนักงานก็จะประกอบด้วยคอลัมน์ ที่อธิบายรหัสพนักงานชื่อ นามสกุล เงินเดือน ตำแหน่ง ฝ่าย เป็นต้น 

                         

Normalisation คือ การปรับข้อมูลให้เป็นรูปแบบบรรทัดฐานเพื่อลดความซํ้าซ้อนในการเก็บข้อมูล ช่วยให้เกิดประสิทธิภาพในการจัดเก็บข้อมูลในฐานข้อมูล รวมทั้งเพิ่มความถูกต้องและลดปัญหาต่างๆที่จะเกิดขึ้นในภายหลัง
การทําให้เป็นบรรทัดฐาน (Normal Form) เป็นกระบวนการวิเคราะห์ ภาวการณ์พึ่งพิงซึ่งกันและกันของคอลัมน์หรือ แอตทริบิวต์(Attribute Interdependency) ในแต่ละตารางสัมพันธ์ (Relation) โดยทดสอบเปรียบเทียบกับ เกณฑ์ของการเป็นรูปแบบบรรทัดฐาน (Normal for m criteria) ซึ่งที่ใช้งานกันทั่วไป
 มีทั้งหมด 6 ระดับ หรือ 6รูปแบบบรรทัดฐาน ได้แก่ 
รูปแบบบรรทัดฐานที่ 1 (1NF) 
รูปแบบบรรทัดฐานที่ 2 (2NF) 
รูปแบบบรรทัดฐานที่ 3 (3NF)
รูปแบบบรรทัดฐาน BCNF 
รูปแบบบรรทัดฐานที่ 4 (4NF) 
รูปแบบบรรทัดฐานที่ 5 (5NF)
เป็นขั้นตอนการวิเคราะห์ และออกแบบตาราง ในฐานข้อมูลให้ลดความซํ ้าซ้อนของข้อมูลในตาราง ความขัดแย้งของ และง่ายต่อการจัดการตาราง และ ข้อมูลในตาราง เช่น ลบ แก้ไข ตามหลักการของ RDB (Relational Database)

ความจำเป็นในการกระทำ Normalization

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

ถ้าเราจัดเก็บข้อมูลในลักษณะนี้ก็จะไม่ถูกต้องเนื่องจากว่ามันจะผิดกฏเกณฑ์ในเรื่องของระบบฐานข้อมูลเชิงสัมพันธ์โดยเฉพาะถ้าเรากำเนิดให้รหัสผู้สอนด้วยหลายแผนไม่ได้การเก็บข้อมูลในลักษณะนี้จะมองว่าแต่ล้ะแถวๆจะเก็บข้อมูล  เช่น อาจารย์วิชามีกำเนิดแต่บันทัดถัดไประบบจะมองว่าใครจะสอนวิชาต่อไปเพราะไม่มีชื่อ เป็นต้น

ระดับของNormalization
การทำ Normalization จะแบ่งเป็น 5 ระดับ แต่โดยทั่วไปมักกระทำเพียง 3 ระดับหรือ 4 ระดับ ก็จัดว่าเพียงพอคือ เริ่มจาก
•ระดับที่ 1 กำจัดกลุ่มข้อมูลที่ซ้ำกัน (Repeating Group)
•ระดับที่ 2 กำจัดการขึ้นต่อกันเพียงบางส่วน (partial Dependency)
•ระดับที่ 3 กำจัดการจึ้นต่อกันแบบสืบทอด (Transitive Dependency)
•ระดับที่ 4 กำจัดการจึ้นต่อกันแบบหลายค่า (Multi values Dependency)
ความเข้าใจเกี่ยวกับการกระทำ Normalization 
มันไม่ใช่ขั้นตอนทีจะต้องทำมันเป็นการตรวจสอบการออกแบบโครงสร้างการจัดเก็บข้อมูลมากกว่าเมื่อออกแบบโครงสร้างจัดเก็บข้อมูลมาแล้วก็จะมาดูด้วยการ Normalization เพื่อตรวจสอบให้เกิดความมั่นใจว่าโครงสร้างข้อมูลทีออกแบบข้อมูลมีความถูกต้องสมบูรณ์หรือไม่
เนื่องจาก Normalization เป็นการตรวจสอบการออกแบบโครงสร้างการจัดเก็บข้อมูล เพื่อให้เกิดความมั่นใจว่าโครงสร้างข้อมูลที่ออกแบบข้อมูลมีความถูกต้องสมบูรณ์
เพราะฉะนั้นการทำนอร์มอลไลส์ จึงไม่จำเป็นทำที่ละขั้นหรือที่ละระดับโดยถ้าผู้ออกแบบมีความเชี่ยวชาญ ตารางข้อมูลที่ออกแบบมาอาจเป็น Normal Form ระดับที่ 3 โดยไม่ต้องผ่านระดับที่ 1 หรือ ระดับที่ 2 มาก่อนก็ได้ 




วันจันทร์ที่ 5 ธันวาคม พ.ศ. 2565

ผลการเรียนรู้ครั้งที่ 2 ( สถาปัตยกรรมระบบฐานข้อมูล)

สรุปผลการเรียนรู้ที่ 2

     สถาปัตยกรรมระบบฐานข้อมูล

                         


สถาปัตยกรรมฐานข้อมูลนี้จะถูก แบ่งออกเป็น 3 ระดับ

1. ระดับความคิด (Conceptual Level) เป็นระดับการกำหนดรูปแบบข้อมูล ขนาดของข้อมูล และความสัมพันธ์ระหว่างข้อมูลใช้วิเคราะห์ความต้องการสารสนเทศเป็นระดับกาออกแบบฐานข้อมูล

2. ระดับภายนอก (External Level) เป็นระดับการกำหนดโครวสร้างข้อมูลสำหรับผู้ใช้ใช้เก็บข้อมูลจริงกล่าวถึงมุมมอง ที่มีต่อข้อมูลของผู้ใช้แต่ละคน 

3.ระดับภายใน (Internal Level) เป็นระดับของการจัดเก็บข้อมูลในหน่วยเก็บข้อมูลจริง ๆ ซึ่งเกี่ยวข้องกับโครงสร้างทางกายภาพของข้อมูล ผู้ใช้แต่ละคนมีการมองภาพของข้อมูลที่แตกจ่างกัน




แบบจำลองฐานข้อมูลมี 3 แบบ

1. แบบจำลองลำดับชั้น มาจากโครงสร้างต้นไม้ (Hierarchical Model) แบบลำดับ

    โครงสร้างฐานข้อมูลแบบลำดับขั้น 

จะมีลักษณะคล้ายต้นไม้ทีว่ำหัวลง

ลักษณะคล้ายๆโครงสร้างต้นไม้ (Tree Structure) มีการสืบทอดเป็นลำดับชั้น โหนดสูงสุดจะเรียกว่าราก (Root) โหนดระดับล่างลงมาจะเรียกว่า (Leaves) เรียกฐานข้อมูลในระดับนี้อีกชื่อหนึ่งว่าซิกเมนต์ (Segment) เปรียบได้กับเรคอร์ดในระบบแฟ้มข้อมูล เซกเมนต์ที่อยู่ระดับล่างลงไปก็คือเซกเมนต์ก่อนหน้า ความสัมพันธ์เป็นแบบ 1:M กล่าวคือ โหนดบนจะแตกโหนดลูกได้หลายๆโหนด ในขณะที่โหนดลูกจะมีโหนดบนเพียงโหนดเดียวเท่านั้น

โดยลักษณะของฐานข้อมูลจะประกอบไปด้วย

1. แบบหนึ่งต่อหนึ่ง : นักศึกษาหนึ่งคนจะมีสูติบัตรเพียงใบเดียวเท่านั้น และสูติบัตรหนึ่งใบก็เป็นของนักศึกษาได้เพียงหนึ่งคนเท่านั้นเช่นกัน 

2.แบบหนึ่งต่อกลุ่ม : นักษา 1 คนสามารถลงทะเบียนได้หลายวิชา หรือ 1 หลักสูตรมีนักศึกษาลงทะเบียนได้หลายคน

3.ไม่มีแบบกลุ่มต่อกลุ่ม 

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

3. แบบจำลองเชิงสัมพันธ์มาจากพีชคณิตเชิงสัมพันธ์ (Relational Model) แบบเชิงสัมพันธ์
รูปแบบเชิงสัมพันธ์เป็นรูปแบบที่คนมักนิยมใช้
    พัฒนาการของบันทึกจัดเก็บข้อมูลเริ่มต้นจากจัดเก็บแบบแฟ้มลำดับ (Sequential file) ก่อนจะมีการพัฒนาแบบจำลองฐานข้อมูล (Database) แบบต่าง ๆ

ข้อดีและข้อเสียของแฟ้มลำดับ

ข้อดี : เรียบร้อย

ข้อเสีย : การเรียกค้นหาทำได้ยาก , ข้อมูลซับซ้อน

แบบจำลองลำดับชั้น (Hierarchical models) 

ข้อดี : ลดความซับซ้อนได้บางส่วน

ข้อเสีย : แอพลิเคชั่นไม่เป็นอิสระจากข้อมูล


แบบจำลองเครือข่าย (Network models) 

ข้อดี : สามารถแก้ไขปัญหาความซับซ้อนได้

ข้อเสีย : แอพลิเคชั่นไม่เป็นอิสระจากข้อมูล


แบบจำลองเชิงสัมพันธ์ (Relational models)

ข้อดี : โครงสร้างเรียบร้อย , มีภาษา SQL เป็นเครื่องมือ

ข้อเสีย : เกิดความซับซ้อนในฟิลด์ที่เป็นคีย์

วันพฤหัสบดีที่ 24 พฤศจิกายน พ.ศ. 2565

ผลการเรียนรู้ครั้งที่ 1 (ข้อมูลและสารสนเทศ)

 สรุปผลการเรียนรู้ที่ 1 

 ข้อมูลและสารสนเทศ
                      

    -ข้อมูล"Data"  หมายถึง ข้อเท็จจริง วัตถุ หรือเหตุการณ์ที่เกิดขึ้น ข้อมูลเหล่านี้จัดเป็นข้อมูลดิบการประมวลผลหรือทีเรียกกันง่ายๆคือข้อมูลที่ยัง ไม่ได้ผ่านกํารประมวลผล
 -สารสนเทศ"Information" หมายถึง ข้อมูลที่ ผ่านการประมวลผลมาแล้ว โดยสรุปเป็นรายงานทางสารสนเทศในรูปแบบต่าง ๆ ที่สามารถนำไปใช้ประกอบการตัดสินใจด้านใดด้านหนึ่งที่สามารถนำไปใช้ประยุกต์ใช้ได้ 

โครงสร้างแฟ้มข้อมูล File Structure
       โครงสร้างแฟ้มข้อมูล ประกอบด้วย โครงสร้างพื้นฐานที่ลำดับจากหน่วยที่เล็กที่สุด แล้วนำมารวมเข้าด้วยกันเพื่อกลายเป็นหน่วยที่ใหญ่ขึ้นตามลำดับ


-File ไฟล์ คือ กลุ่มของเรคคอร์ดที่สัมพันธ์กัน เช่น แฟ้มประวัตินักศึกษา จะประบอกด้วยเรคคอร์ดของนักศึกษาทั้งหมดในมหาลัย ดังนั้นหนึ่งไฟล์จะต้องมีอย่างน้อยหนึ่งเรคคอร์ด เพื่อใช้การใช้งานข้อมูล เป็นต้น


-Record เรคอร์ด คือกลุ่มของฟิลด์ที่สัมพันธ์กัน เช่น ในหนึ่งเรคคอร์ดประกอบด้วยฟิลด์ต่างๆที่เกี่ยวข้องเป็นชุด เช่น เรคคอร์ดประวัตินักศึกษา ประกอบด้วย
-ฟิลด์
-รหัสนักศึกษา
-ชื่อ-สกุล     
                           
-Field ฟิลด์ คือ เป็นการนำหลายๆ ไบต์มารวมเข้าด้วยกันจนกลายเป็นฟิลด์ เช่น  ฟิลด์ name ใช้แทน
ชื่อ-นามสกุลนักศึกษา และฟิลด์ คะแนนที่ได้ ใช้เก็บคะแนนที่ได้ของนักศึกษา เป็นต้น

-Bit บิต คือ หน่วยที่เล็กทีสุด ประกอบไปด้วยเลขฐานสองใช้แทนค่าหน่วยที่เล็กทีสุดของข้อมูลคอมพิวเตอร์ โดยหน่วยที่ใช้จะมีค่า 0 และ 1เท่านั้นไม่สามารถแทนค่าหลายตัวได้

-Byte ไบต์ คือ การนำเอาบิตหลายๆบิตมาเรียงกันเป็นไบต์ ซึ่ง 1 ไบต์ มี 8 บิต จึงสามารถสร้างรหัสแทนข้อมูลขึ้นมาเพื่อใช้แทนตัวอักขระให้แตกต่างกันได้ถึง 256 อักขระด้วยกัน ไบต์ไม่สามารถสื่อข้อมูลได้อย่างมีความหมาย
   
ชนิดของข้อมูล
  ข้อมูลที่จัดเก็บลงในแฟ้มข้อมูลหรือฐานข้อมูล นอกจากจะเป็นแบบข้อความแล้ว ยังมีเสียงประกอบคำบรรยาย โดยชนิดของข้อมูลยังแบ่งออกเป็นรูปแบบต่าง ๆ ได้แก่
  •       1. ข้อมูลชนิดข้อความ  เป็นข้อมูลที่ประกอบด้วยอักขระต่างๆ นำมารวมกันเป็นคำหรือประโยคเพื่อสื่อความหมายแทนสิ่งๆ หนึ่ง โดยไม่มีรูปแบบที่ชัดเจนและแน่นอน เช่น ชื่อนักศึกษา และที่อยู่ของนักศึกษา เป็นต้น
  •        2. ข้อมูลที่เป็นรูปแบบ   เป็นข้อมูลที่ประกอบด้วยตัวอักขระต่าง ๆ รูปแบบแน่นอน ถูกกำหนดในรูปของรหัส ทำให้ไม่สิ้นเปลืองเนื้อที่ในการจัดเก็บตัวอย่างเช่น รหัสสาขา “CS” ใช้แทนสาขาวิทยาการคอมพิวเตอร์ เป็นต้น
  •        3. ข้อมูลรูปภาพ   การแทนข้อมูลด้วยรูปภาพในปัจจุบันจึงเป็นเรื่องที่ง่ายขึ้นมาก ข้อมูลรูปภาพนิยมนำมาใช้เสริมร่วมกันกับข้อมูลแบบข้อความเพื่อให้มีความสมบูรณ์ยิ่งขึ้น เช่น ข้อมูลประวัตินักศึกษา เป็นต้น
  •         4. ข้อมูลชนิดเสียง   เป็นไฟล์ข้อมูลชนิดหนึ่งที่ใช้จัดเก็บเสียงแบบดิจิตอล เช่น การแปลงเสียงพูดของมนุษย์หรือเสียงดนตรี ซึ่งเป็ นแบบแอนะล็อก ให้กลายเป็นไฟล์ดิจิตอล ตัวอย่างเช่น ไฟล์ประเภทMIDI หรือไฟล์ดิจิตอลทั่ว ๆ ไป
ระบบแฟ้มข้อมูล
  • วิธีดั้งเดิม  จัดเก็บเอกสารลงในแฟ้มเอกสาร ซึ่งแฟ้มเอกสารเหล่านี้แต่ละแผนจัดเก็บกันเอง เมื่อเวลาผ่านไปเอกสารมีจำนวนมากขึ้น ดังนั้น การค้นหาเอกสารในแฟ้มเอกสารจึงเป็นไปด้วยความลำบากและต้องใช้เวลานานมาม  
  • ยุคแรก วิธีการจัดเก็บยังคงคล้ายคลึงกับการจัดเก็บแฟ้มเอกสารด้วยมือเพียงแต่ต่างกันตรงที่เป็นการจัดเก็บข้อมูลลงในคอมพิวเตอร์ที่เรียกว่าแฟ้มข้อมูล หรือที่เรียกกันว่าไฟล์ โดยแต่ละไฟล์ไม่เกี่ยวข้อง สัมพันธ์กัน
  • กระทั่งปีค.ศ.1960   เข้าสู่ยุคการประมวลผลข้อมูลด้วยคอมพิวเตอร์ได้ถือกำเนิดภาษา COBOLขึ้นมา ซึ่งจัดเป็นภาษารุ่นที่3 ที่ จำเป็นต้องพึ่งพาโปรแกรมเมอร์ในการเขียนโปรแกรมเพื่อจัดการเก็บแฟ้มข้อมูลในระบบ
               

 ระบบฐานข้อมูล (Database System)


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

 ระบบการจัดการฐานข้อมูล (Database Management System) หรือ DBMS
คือซอฟต์แวร์จัดการฐานข้อมูลที่ทำหน้าที่เป็นตัวกลางในการโต้ตอบระหว่างผู้ใช้กับฐานข้อมูล โดยผู้ใช้สามารถโต้ตอบสื่อสารกับฐานข้อมูลได้โดยตรงผ่านชุดคำสั่ง SQL หรือนำชุดคำสั่ง SQL ไปผนวกลงในโปรแกรมประยุกต์เพื่อใช้งานร่วมกันกับโปรแกรมที่เขียนขึ้นก็ได้
                
           DBMS จะถูกใช้เป็นเครื่องมืออำนวยความสะดวกต่อผู้ใช้ตามรายละเอียด ดังนี้
  • ภาษาที่จัดอยู่ในกลุ่ม DDL จะนำมาใช้เพื่อสร้างฐานข้อมูลกำหนดโครงสร้างและชนิดข้อมูล
  • ภาษที่จัดอยู่ในกลุ่ม DML จะนำมาใช้เพื่อจัดการกับข้อมูลในฐานข้อมูล ไม่ว่าจะเป็นการเพิ่มกปรับปรุงการลบและการเรียกดูข้อมูล
  • ภาษาที่จัดอยู่ในกลุ่ม DCL จะนำมาใช้ควบคุมฐานข้อมูล เช่น คำสั่งกำหนดสิทธิ์หรือยกเลิกสิทธิ์ในการเข้าถึงฐานข้อมูลซึ่งคำสั่งทั้งหลายเหล่านี้มักเขียนขึ้นด้วยภาษามาตรฐานที่เรียกว่า SQL

แหล่งเรียนรู้เพิ่มเติม 
อ้างอิง
https://www.lib.ru.ac.th/journal/islamic-culture/marid1.html