วันอาทิตย์ที่ 25 พฤศจิกายน พ.ศ. 2555

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


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


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

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

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


องค์ประกอบของระบบฐานข้อมูล
องค์ประกอบของระบบฐานข้อมูลประกอบด้วย 5 องค์ประกอบ
 1.ฮาร์ดแวร์ เครื่องคอมพิวเตอร์หรืออุปกรณ์ต่อพ่วงต่างๆ
 2.ซอฟต์แวร์ ชุดคำสั่งที่สามารถทำให้คอมพิวเตอร์สามารถทำงานได้ แบ่งออกเป็น 2 ประเภทคือ
2.1ซอฟต์แวร์ระบบ
2.2ซอฟต์แวร์ประยุกต์  
 3.ข้อมูล ข้อมูลที่ใช้บนระบบฐานข้อมูล
 4.บุคลากร บุคลากรที่เกี่ยวข้องกับฐานข้อมูลแบ่งได้ 3 กลุ่ม คือ
4.1ผู้บริหารและผู้จัดการฐานข้อมูล มีหน้าที่สำคัญคือการจัดการกับฐานข้อมูลควบคุมระบบรักษาความปลอดภัยของฐานข้อมูลวางแผนป้องกันความผิดพลาดอันอาจจะก่อให้เกิดความเสียหายกับระบบฐานข้อมูล
4.2 ผู้ออกแบบฐานข้อมูล มีหน้าที่ในการรับผิดชอบเกี่ยวกับการออกแบบฐานข้อมูลให้ทำงานได้อย่างมีประสิทธิภาพ
4.3นักวิเคราะห์ระบบ ออกแบบวิเคราะห์ระบบและออกแบบโปรแกรมประยุกต์ที่แสดงถึงขั้นตอนในการทำงานของโปรแกรมประยุกต์การออกแบบอินเตอร์เฟช เพื่อติดต่อกับผู้ใช้งาน
4.4นักเขียนโปรแกรม ทำหน้าที่เขียนโปรแกรมประยุกต์ด้วยภาษาคอมพิวเตอร์ตามที่นักวิเคราะห์ระบบได้ออกแบบไว้ให้สามารถติดต่อและเข้าใช้ฐานข้อมูลได้
 5.ผู้ใช้งาน แบ่งออกเป็น 2 กลุ่มคือ
5.1 ผู้ใช้งานระดับปฏิบัติการ เป็นกลุ่มผู้ใช้งานที่มีความเกี่ยวข้องกับการเพิ่มแก้ไขลบข้อมูลที่จะป้อนเข้าสู่ระบบฐานข้อมูล
5.2ผู้ใช้งานระดับบริหาร เป็นกลุ่มที่ใช้ข้อมูลของระบบฐานข้อมูลเพื่อไปใช้เป็นแนวทางในการตัดสินใจเชิงธุรกิจหรือตามวัตถุประสงค์ของหน่วยงานอาจไม่มีส่วนเกี่ยวข้องกับการบันทึกเพิ่มแก้ไขข้อมูลโดยตรง

ชนิดของฐานข้อมูล
แบ่งได้ 3 แบบ
1.ฐานข้อมูลเชิงชั้น
2.ฐานข้อมูลแบบเครื่อข่าย
3.ฐานข้อมูลแบบสัมพัมธ์

ตัวอย่าง
1.โรงพยาบาล ตัวอย่างเช่น โรงพยาบาลจะจัดเก็บฐานข้อมูลของผู้ใช้บริการเพื่อให้ง่ายต่อการเข้าถึงข้อมูลของผู้มารับบริการ
2.โรงเรียน ตัวอย่างเช่น โรงเรียนจะจัดเก็บฐานข้อมูลของ นักเรียน , ครู , อาจารย์, เจ้าหน้าที่  เพื่อให้ง่ายต่อการเข้าถึงข้อมูล งานทะเบียน ข้อมูลนักเรียน  ข้อมูลครู  ข้อมูลเจ้าหน้าที่ เป็นต้น
3.ห้างร้านต่างๆ ตัวอย่างเช่น การจัดทำฐานข้อมูลของสินค้าในคลังสินค้าว่ามีสินค้าอะไรเข้าใหม่หรือจำหน่ายออกไป
4.ธนาคาร ตัวอย่างเช่น การจัดระบบฐานข้อมูลของลูกค้าที่มาใช้บริการธุระกรรมทางการเงินของธนาคารเพื่อให้ง่ายต่อการให้บริการเพราะธนาคารจะมีฐานข้อมูลของลูกค้าอยู่แล้ว


ประโยชน์ของฐานข้อมูล
1.  สามารถลดความซ้ำซ้อนของข้อมูล  โดยไม่จำเป็นต้องจัดเก็บข้อมูลที่ซ้ำซ้อนกันไว้ในระบบแฟ้มข้อมูลของแต่ละหน่วยงานเหมือนเช่นเดิม  แต่สามารถนำข้อมูลมาใช้ร่วมกันได้
เช่น เมื่อต้องการติดต่อขอต่อภาษีรถยนต์ทางสำนักงานขนส่งก็สามารถใช้ข้อมูลในบัตรประชาชนของเราได้เพื่อลดความซ้ำซ้อนของข้อมูล
2.  สามารถหลีกเลี่ยงความขัดแย้งของข้อมูล  เนื่องจากไม่ต้องจัดเก็บข้อมูลที่ซ้ำซ้อนกันในหลายแฟ้มข้อมูล  ดังนั้นการแก้ไขข้อมูลในแต่ละชุดจะไม่ก่อให้เกิดค่าที่แตกต่างกันได้
เช่น สามารถนำข้อมูลที่มีอยู่ในฐานข้อมูลมาใช้ได้โดยไม่ขัดแย้งกับแฟ้มอื่นเพราะข้อมูลจะถูกรวบรวมไว้แล้ว
3.  แต่ละหน่วยงานในองค์กรสามารถใช้ข้อมูลร่วมกันได้
เช่น เมื่อเราไปทำธุระกรรมทางการเงินของธนาคารอีกสาขาหนึ่ง  ธนาคารก็สามารถถึงข้อมูลจากสาขาใหญ่ได้
4.  สามารถกำหนดให้ข้อมูลมีรูปแบบที่เป็นมาตรฐานเดียวกันได้  เพื่อให้ผู้ใช้ข้อมูลในฐานข้อมูลชุดเดียวกัน  สามารถเข้าใจและสื่อสารถึงความหมายเดียวกัน
เช่น เมื่อบริษัทลูกต้องการข้อมูลของราคาสินค้าก็สามารถตรวจสอบจากบริษัทแม่ได้เพื่อให้ราคาเป็นมาตราฐานเดี่ยวกัน
5.  สามารถกำหนดระบบความปลอดภัยให้กับข้อมูลได้  โดยกำหนดระดับความสามารถในการเรียกใช้ฐานข้อมูลของผู้ใช้แต่ละคน ให้แตกต่างกันตามความรับผิดชอบ
เช่น  เพื่อไม่ให้บุคคลภายนอกได้ข้อมูลที่เป็นความลับของบริษัท
6.  สามารถรักษาความถูกต้องของข้อมูลได้  โดยระบุกฎเกณฑ์ในการควบคุมความผิดพลาดที่อาจเกิดขึ้นจากการป้องข้อมูลผิด
เช่น เมื่อมีฐานข้อมูลเพียงแห่งเดียวก็ง่ายต่อการตรวจสอบข้อมูลให้มีความถูกต้อง
7.  สามารถตอบสนองต่อความต้องการใช้ข้อมูลในหลายรูปแบบ
เช่น ข้อมูลแต่ละแฟ้มจะสนับสนุนการทำงานขององค์กรหรือบริษัทอยุ่แล้ว
8.  ทำให้ข้อมูลเป็นอิสระจากโปรแกรมที่ใช้งานข้อมูลนั้น ซึ่งส่งผลให้ผู้พัฒนาโปรแกรมสามารถแก้ไขโครงสร้างของข้อมูล โดยไม่กระทบต่อโปรแกรมที่เรียกใช้งานข้อมูลนั้น
เช่น ผู้ดูแลสามารถแก้ไขอับเดทข้อมูลได้โดยไม่กระทบต่อฐานข้อมูล

ตัวอย่าง


ร้านขายหนังสือผ่านระบบอินเทอร์เน็ตมีขอบเขตการจัดเก็บข้อมูลของระบบงานดังนี้
Ø  ข้อมูลประเภทหนังสือ ข้อมูลที่จัดเก็บประกอบด้วย รหัสประเภทหนังสือ , ชื่อประเภท
Ø  ข้อมูลหนังสือแต่ละรายการ ข้อมูลที่จัดเก็บประกอบด้วย รหัสISBN , ชื่อเรื่องหนังสือ , ราคา , ปีที่ผลิต , ครั้งที่พิมพ์ , รูปภาพ
Ø  ข้อมูลผู้แต่งหนังสือ ข้อมูลที่จัดเก็บประกอบด้วย รหัสผู้แต่ง , ชื่อผู้แต่ง , อีเมลล์ของผู้แต่ง
Ø  ข้อมูลสำนักพิมพ์ ข้อมูลที่จัดเก็บประกอบด้วย รหัสสำนักพิมพ์ , ที่อยู่ , โทรศัพท์ , เว็บไซต์ , อีเมลล์
Ø  ข้อมูลลูกค้าที่เข้ามาซื้อหนังสือในเว็บไซต์ของร้านจะต้องมีการลงทะเบียนเพื่อเป็นสมาชิกของร้านก่อนจึงจะสามารถสั่งซื้อหนังสือในร้านได้  โดยข้อมูลที่จัดเก็บในการลงทะเบียนประกอบด้วย  รหัสลูกค้า , ชื่อ , อีเมลล์ , ที่อยู่(ประกอบด้วย บ้านเลขที่ , ถนน , ตำบล , อำเภอ , จังหวัด , รหัสไปรษณีย์) , โทรศัพท์ , ชื่อเข้าใช้ระบบ , รหัสผ่าน
Ø  ข้อมูลการสั่งซื้อ ข้อมูลที่จัดเก็บประกอบด้วย รหัสการสั่งซื้อ , วันที่สั่งซื้อ , วันที่ส่งสินค้า , ยอดรวม(คำนวณจากราคารวมของหนังสือแต่ละรายการในใบสั่งซื้อ) , ภาษีมูลค่าเพิ่ม(คำนวณร้อยละ 7 จากยอดซื้อ)

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

การใช้



ตัวอย่างโครงสร้างตารางของฐานข้อมูล   BookForSales
CREATE TABLE BookType(
BTypeID CHAR(5) NOT NULL,
BTypeName VARCHAR(30),
PRIMARY KEY (BTypeID));

CREATE TABLE Customer(
CID CHAR(5) NOT NULL,
CName VARCHAR(30),
CEmail VARCHAR(50),
CUser VARCHAR(12),
CPwd VARCHAR(12),
CPhone VARCHAR(10),
CAddr VARCHAR(40),
CStreet VARCHAR(30),
CTumbon VARCHAR(30),
CAmpher VARCHAR(30),
CProvince VARCHAR(30),
CZipcode INT,
PRIMARY KEY (CID));

CREATE TABLE ORDERS(
OID CHAR(10) NOT NULL,
ODate DATE,
CSend DATE,
CID CHAR(5) NOT NULL,
FOREIGN KEY (CID) REFERENCES Customer (CID),
PRIMARY KEY (OID));

CREATE TABLE Publisher(
PubID CHAR(5) NOT NULL,
PubName VARCHAR(30),
PubEmail VARCHAR(50),
PubWeb VARCHAR(50),
PubAddr VARCHAR(60),
PubTel VARCHAR(10),
PRIMARY KEY (PubID));

CREATE TABLE Book(
ISBN CHAR(15) NOT NULL,
BName VARCHAR(50),
Price FLOAT,
Edition INT,
Published INT,
Picture VARCHAR(35),
BTypeID CHAR(5) NOT NULL,
PubID CHAR(5) NOT NULL,
FOREIGN KEY (BTypeID) REFERENCES BookType (BTypeID),
FOREIGN KEY (PubID) REFERENCES Publisher (PubID),
PRIMARY KEY (ISBN));

CREATE TABLE ORDERS_Book(
ISBN CHAR(15) NOT NULL,
OID CHAR(10) NOT NULL,
Qty INT,
Sum FLOAT,
FOREIGN KEY (ISBN) REFERENCES Book (ISBN),
FOREIGN KEY (OID) REFERENCES ORDERS (OID),
PRIMARY KEY (ISBN,OID));

CREATE TABLE Author(
AuID CHAR(3) NOT NULL,
AuName VARCHAR(40),
AuEmail VARCHAR(50),
PRIMARY KEY (AuID));

CREATE TABLE Author_Book(
ISBN CHAR(15) NOT NULL,
AuID CHAR(3) NOT NULL,
FOREIGN KEY (AuID) REFERENCES Author (AuID),
FOREIGN KEY (ISBN) REFERENCES Book (ISBN),
PRIMARY KEY (ISBN,AuID));




ตัวอย่างข้อมูล









การแสดงข้อมูล

คำสั่งภาษา SQL
SELECT  book.ISBNbook.BNamebook.Pricebook.BTypeID,
  booktype.BTypeNamebook.PubIDpublisher.PubName
FROM
  booktype INNER JOIN  book ON book.BTypeID = booktype.BTypeID INNER JOIN
  publisher ON book.PubID = publisher.PubID;



ผลลัพธ์
เขียนโปรแกรมด้วย PHP + MySQL
<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=windows-874">
<title> php 
ติดต่อฐานข้อมูล Mysql </title>
</head>
<?  
  
    $host="localhost";
      $user="root";    //  คือ..............................................................................
       $password="naravit";  //  คือ ..............................................................................
       $db="BookForSales";
       $conn=mysql_connect($host,$user,$password);  // ติดต่อเครื่อง Server
       mysql_db_query($db,'set names tis620');  // ติดต่อฐานข้อมูล
     // mysql_select_db("dataemployee",$conn);   
         $sql = SELECT  book.ISBNbook.BNamebook.Pricebook.BTypeID,
  booktype.BTypeNamebook.PubIDpublisher.PubName
FROM
  booktype INNER JOIN  book ON book.BTypeID = booktype.BTypeID INNER JOIN
  publisher ON book.PubID = publisher.PubID ";
       $result = mysql_query($sql,$conn);
     while($row = mysql_fetch_array($result))
       {

        
echo $row['ISBN'] , " &nbsp &nbsp" , $row['Bname'] , " " , $row['Price'], " " , $row['BTypeID'] ," " , $row['BTypeName'] , " " , $row['PubID'] , " " , $row['PubName'] ;
        echo "<br>";
       }
 ?>
</body>
</html>

อ้างอิง
http://www.chandra.ac.th/office/ict/document/it/it04/page01.html
http://www.sirikitdam.egat.com/WEB_MIS/103_116/01.html
http://www.getdd.net/basiccom/48-databaseorg.html
http://mpnn2551.net46.net/Subjects/DBMS32042014/dataBaseIntro.html

ไม่มีความคิดเห็น:

แสดงความคิดเห็น