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

การเขียนโปรแกรม PHP

การเขียนโปรแกรมจะมีอยู่ 2 แบบ

 1.Windows based Application (Desktop Application) 

 2. Web based Apllication

                              


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

2. Web based คือโปรแกรมที่ทำงานบนเว็บเซิร์ฟเวอร์โดยรันผ่านโปรแกรมเว็บบราวเซอร์ทั่วไป เช่น Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari ฯลฯ ไม่ต้องติดตั้งโปรแกรมหรือสคริปต์ที่พัฒนาขึ้นในแต่ละเครื่อง เพราะจะเรียกใช้งานผ่านเซิร์ฟเวอร์ด้วยเว็บเบราเซอร์ต่างๆ เหมาะสำหรับระบบจัดการข้อมูล และรายงานต่างๆ แต่ไม่เหมาะกับการควบคุมฮาร์ดแวร์เช่นลิ้นชักเก็บเงิน หรือฮาร์ดแวร์อื่นๆ ที่ระบบ Windows based สามารถสั่งงานได้

ดูจากข้อมูลแล้วแน่นอนว่า PHP ต้องอยู่ในหมวดการเขียนโปรแกรมแบบ Web based เพราะเราจะเก็บสคริปต์ทั้งหมดที่เขียนขึ้นมาไว้ที่เซิร์ฟเวอร์ที่เดียว และให้ผู้ใช้งานเรียกข้อมูลผ่านเว็บเบราเซอร์ต่างๆ มาแสดงผลที่หน้าจอนั่นเอง

เหตุผลที่ PHP ได้รับความนิยม



                                 


1. เป็นของฟรี ว่ากันว่าสุดยอดของ Web Server ในฝันของผู้ใช้ที่รู้จักคุณค่าของเงินก็คือ ระบบปฏิบัติการ Linux, โปรแกรมเว็บ Apache, โปรแกรมฐานข้อมูล MySQL, และ Server Site Script อย่าง PHP เพราะทุกอย่างฟรีหมด

2. มีความเร็ว อะไรที่เกิดมาทีหลังย่อมได้เปรียบ คำพูดนี้ดูเหมือนจะเป็นจริงเสมอ เพราะ PHP นำเอาข้อดีของทั้ง C, Perl และ Java มาผนวกเข้าด้วยกัน ทำให้ทำงานได้รวดเร็วกว่า CGI หรือแม้แต่ ASP และมีประสิทธิภาพ โดยเฉพาะเมื่อใช้กับ Apache Server เพราะไม่ต้องใช้โปรแกรมจากภายนอก

3. Open Source การพัฒนาของโปรแกรมไม่ได้ยึดติดกับบุคคลหรือกลุ่มคนเล็กๆ แต่เปิดโอกาสให้โปรแกรมเมอร์ทั่วไปได้เข้ามาช่วยกันพัฒนา ทำให้มีคนใช้งานจำนวนมาก และพัฒนาได้เร็วขึ้น

4. Crossable Platform ใช้ได้กับหลายๆระบบปฏิบัติการไม่ว่าบน Windows,Unix, Linux หรืออื่นๆ โดยแทบจะไม่ต้องเปลี่ยนแปลงโค้ดคำสั่งเลย

5. เรียนรู้ง่าย เนื่องจาก PHP ฝังเข้าไปใน HTML และใช้โครงสร้างและไวยากรณ์ภาษาง่ายๆ

6. ใช้ร่วมกับ XML ได้ทันที

7. ใช้ร่วมกับ Database ได้เกือบทุกยี่ห้อ ดังกล่าวไปแล้วข้างต้น

8. ใช้กับระบบแฟ้มข้อมูลได้

9. ใช้ร่วมกับข้อมูลตัวอักษรได้อย่างมีประสิทธิภาพ

10. ใช้กับโครงสร้างข้อมูลได้ทั้งแบบ Scalar, Array, Associative array

11. ใช้กับการประมวลผลภาพได้

ประโยชน์ที่ได้รับจากจาก PHP



                       




              ในปัจจุบัน Web Site ต่างๆได้มีการพัฒนาในด้านต่างๆ อย่างรวดเร็ว เช่น เรื่องของความสวยงามและแปลกใหม่ การบริการข่าวสารข้อมูลที่ทันสมัย เป็นสื่อกลางในการติดต่อ และสิ่งหนึ่งที่กำลังได้รับความนิยม เป็นอย่างมากซึ่ง ถือได้ว่าเป็นการปฏิวัติรูปแบบการขายของก็คือ E-commerce ซึ่งเจ้าของสินค้าต่างๆ ไม่จำเป็นต้องมีร้านค้าจริงและไม่จำเป็นต้องจ้างคนขายของอีกต่อไป ร้านค้าและตัวสินค้านั้น จะไปปรากฏอยู่บน Web Site แทน และการซื้อขายก็เกิดขึ้นบนโลกของ Internet แล้ว PHP ช่วยเราให้เป็นเจ้าของร้านบน Internet ได้อย่างไร PHP เป็นภาษาสคริปต์ที่มีความสามารถสูง สำหรับการพัฒนา Web Site และความสามารถที่โดดเด่นอีกประการหนึ่งของ PHP คือ database enabled web page ทำให้เอกสารของ HTML สามารถที่จะเชื่อมต่อกับระบบฐานข้อมูล (database) ได้อย่างมีประสิทธิภาพและรวดเร็ว จึงทำให้ความต้องการในเรื่องการจัดรายการสินค้าและรับรายการสั่งของตลอดจนการจัดเก็บ ข้อมูลต่างๆ ที่สำคัญผ่านทาง Internet เป็นไปได้อย่างง่ายดาย



รายการระบบฐานข้อมูลที่ PHP สามารถเชื่อมต่อได้คือ

Oracle, Sybase, mSQL, MySQL, SOLID, ODBC, PostgreSQL, Adabas D, FilePro, Velocis, Informix, dbase, Unix dbm

ประวัติความเป็นมาของ PHP


                                 


            PHP ย่อมาจาก Professional Home Page ซึ่งเป็นภาษาจำพวก Script Language คำสั่งต่างๆ จะเก็บอยู่ในไฟล์ที่เรียกว่า สคริปต์ (Scrip) และเวลาใช้งานต้องอาศัยตัวแปรชุดคำสั่ง ซึ่งทำงานโดยการสั่งงานจากเว็บเพจ แต่ไปประมวลผลที่ Web Server สำหรับแสดงเว็บเพจอย่างหนึ่ง ที่จัดอยู่ในกลุ่ม Server Side Script และจะทำงานในฝั่ง Server แล้วส่งการแสดงผลมายัง Browser ของตัว Client นอกจากนี้มันยังเป็น Script ที่ Embed บน HTML อีกด้วย ส่วนเลขที่ต่อท้ายก็หมายถึงรุ่น (version) นั่นเอง และกำลังเป็นที่นิยมกันมากในหมู่นักสร้างเว็บทั่วโลก ตัวอย่างของภาษาสคริปต์ก็ เช่น Java Script, Perl, ASP (Active Server Page) เป็นต้น

              PHP ถือกำเนิดในปี 1994 เดิมทีเป็นเพียงโปรแกรมเล็กๆ ที่นาย Rasmus Lerdorf นำมาใช้งานสำหรับทำ เว็บเพจ resume ของเขา โดยตอนแรกใช้ภาษา Perl แต่กลับพบว่ามันทำงานค่อนข้างช้า จึงได้ลงมือเขียนขึ้นใหม่เองด้วยไวยากรณ์ภาษา C และให้ชื่อว่า "Personal Home Page Tools" ขณะเดียวกันก็ได้พัฒนาส่วนติดต่อกับฐานข้อมูลที่เรียกว่า Form Intepreter (FI) เมื่อเขามีของดีอยู่กับตัวใครๆที่มาเยี่ยมเว็บไซต์ของเขาต่างก็ขอสำเนาโปรแกรมดังกล่าว เพื่อเอากลับไปใช้งานเองบ้าง จนมีคนรู้จักกันดี นี่อาจจะนับเป็น PHP รุ่นที่ 1 ก็น่าจะได้ หลังจากใช้งานไประยะหนึ่งผู้ใช้ก็ร้องขอ นาย Rasmus Lerdorf ให้ขยายความสามารถของโปรแกรมให้มากขึ้น จนใกล้เคียงกับการใช้ CGI (Commom Gateway Interface)ใน Web Server กลายเป็น PHP/FI รุ่นที่ 2


               แต่ก็อีกนั่นแหละเมื่อ PHP เป็นที่นิยมของชนหมู่มาก นาย Rasmus Lerdorf คนเดียวก็ดูเหมือนจะพัฒนาคนเดียวไม่ไหว โชคดีที่ได้ผู้ร่วมงานที่ก้าวเข้ามา ช่วยปรับปรุง เปลี่ยนแปลงกันแบบขนานใหญ่ คือ นาย Zeev Suraski กับ Andi Gutmans ชาวอิสราเอลที่ Lerdorf ถึงกับเอ่ยปากชมว่าเป็นสุดยอดจริงๆ ทั้งสองคนเอา PHP ของ Lerdorf มาเขียนใหม่หมดเลยด้วย C++ และได้อีกสามหนุ่มคือ Stig Bakken,Shane Caraveo และJim Winstrad มาเป็นทีมงานที่สร้าง PHP3 โดยนาย Stig Bakken รับผิดชอบเกี่ยวกับความสามารถในการสนับสนุน Oracle, Shane Caraveo ดูแล PHP บน Windows 9x/NT และ Jim Winstrad คอยตรวจสอบข้อบกพร่องต่างๆอีกครั้ง


               ตอนนี้ Zeev Suraski กับ Andi Gutmans ปัจจุบันร่วมกันพัฒนาต่อเป็น PHP4 โดยตั้งชื่อว่า Zend ซึ่งเป้าหมายคือชิงความเป็นเลิศเหนือ ASP โดยที่ Zend จะเป็น complie script เลย ไม่ใช่ embed script interprete ซึ่งจะทำให้ run ได้เร็วกว่า จะเหมือนกับ concept ของ advance ASP ที่ใช้ VB6 สร้างคือทำเป็น dll ให้หมด ตอนนี้ Zend ได้แจก beta ให้ tester ของเขาแล้ว แต่บอกว่า it would obviously be free for use and open source และดูเหมือนจะ support activex

Personal Home Page Tool (PHP)

  PHP ย่อมาจากคำว่า "Personal Home Page Tool" เป็น Server Side Script ที่มีการทำงานที่ฝั่งของเครื่องคอมพิวเตอร์ Server ซึ่งรูปแบบในการเขียนคำสั่งการทำงานนั้นจะมีลักษณะคล้ายกับภาษา Perl หรือภาษา C และสามารถที่จะใช้ร่วมกับภาษา HTML ได้อย่างมีประสิทธิภาพ ซึ่งจะทำให้รูปแบบเว็บเพจมีความสามารถเพิ่มขึ้นในด้านของการเขียนโปรแกรม ในการสร้างเว็บจะใช้ Script อยู่ 2 แบบด้วยกันคือ


- Server-Side Script เป็นลักษณะของภาษาที่ทำงานบนเครื่อง Server เช่น CGI, ASP


- Client-Side Script เป็นลักษณะของภาษาที่ทำงานบนเครื่องผู้ใช้เช่น JavaScript, VBScript






ความสามารถของ PHP นั้น สามารถที่จะทำงานเกี่ยวกับ Dynamic Web ได้ทุกรูปแบบ เหมือนกับ CGI หรือ ASP ไม่ว่าจะเป็นการดูแลจัดการระบบฐานข้อมูล ระบบรักษาความปลอดภัยของเว็บเพจ การรับ - ส่ง Cookies เป็นต้น

      แต่ที่เป็นคุณสมบัติเด่นของ PHP ก็น่าจะเป็นการติดต่อกับโปรแกรมจัดการระบบฐานข้อมูล ที่มีอยู่มากมาย ซึ่งฐานข้อมูลที่ PHP สนับสนุนมีดังนี้


Adabas D                             InterBase Solid                       Microsoft Access


dBase                                   mSQL                                          Sybase


Empress                              MySQL                                        Velocis


FilePro                                Oracle                                          Unix dbm


Informix                           PostgreSQL                                  SQL Server

วันเสาร์ที่ 1 พฤศจิกายน พ.ศ. 2557

การออกแบบฐานข้อมูลในระดับตรรกะ

              เป็นการนำผลจากการออกแบบฐานข้อมูลในระดับแนวคิดมาทำการปรับเพื่อให้เหมาะสม
กับรูปแบบฐานข้อมูลที่เลือกใช้ ผลที่ได้จะเป็นเค้าร่างของฐานข้อมูลที่มีรายละเอียดสมบูรณ์ที่สามารถนำไปกำหนดภาษาสำหรับนิยามข้อมูล (DDL) ในขั้นตอนการออกแบบในระดับกายภาพได้ขั้นตอนนี้จึงเป็นการแปลงผลจากการออกแบบในระดับแนวคิด (Mapping) ให้อยู่ในรูปแบบของระบบจัดการฐานข้อมูล (DBMS) ที่เลือกใช้ เช่น รูปแบบฐานข้อมูลเชิงสัมพันธ์
               ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational Database Management Systems :
RDBMS) ในขั้นตอนนี้เป็นการแปลงเค้าร่างในระดับแนวคิดให้เป็นรีเลชั่นที่ประกอบด้วย แอททริบิวต์รวมถึงการระบุข้อกำหนดต่างๆ ให้กับรีเลชั่น เช่น คีย์หลัก คีย์นอก โดเมนของแอททริบิวต์ และมีการใช้แนวคิดเรื่องการจัดระบบข้อมูลในรูปแบบบรรทัดฐาน (Normalization) เข้ามาช่วยในการ
ออกแบบเพื่อปรับการออกแบบฐานข้อมูลที่เหมาะสม



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

(1) ปัจจัยในการเลือกระบบจัดการฐานข้อมูล
ในการเลือกระบบจัดการฐานข้อมูลที่จะนำ มาใช้ ควรจะคำ นึงถึงต้นทุนและ
ผลประโยชน์ที่จะได้รับว่าคุ้มค่าที่จะนำมาใช้หรือไม่ ปัจจัยด้านต้นทุนที่ควรพิจารณาประกอบด้วย

(2) ต้นทุนของซอฟท์แวร์ระบบจัดการฐานข้อมูลนั้นๆ ว่ามีต้นทุนมากน้อยเพียงใด

(3) ต้นทุนฮาร์ดแวร์ที่จะต้องจัดมาเพิ่มเติมไม่ว่าจะเป็นการซื้อใหม่ หรือซื้อเพิ่มเติม
จากที่มีอยู่ปัจจุบัน

(4) ต้นทุนในการบำรุงรักษา ซึ่งเป็นต้นเหตุที่เกี่ยวข้องกับการบำรุงรักษา และการ
ปรับระบบฐานข้อมูลให้เป็นรุ่นใหม่ในอนาคต

(5) ต้นทุนด้านบุคลากร เป็นต้นทุนที่เกี่ยวข้องกับบุคลากรที่จะมาทำงาน ไม่ว่าจะเป็น
ผู้จัดการฐานข้อมูล หรือเจ้าหน้าที่ที่ดูแลด้านระบบฐานข้อมูล

(6) ค่าใช้จ่ายในการอบรม มีค่าใช้จ่ายในการอบรมบุคลากรสูงหรือไม่ ซึ่งโดยทั่วไป
บริษัทที่ขายซอฟท์แวร์จะให้บริการด้วยการด้วยการจัดอบรมให้

(7) ค่าใช้จ่ายในการปฏิบัติการอื่นๆ เช่น การปรับเปลี่ยนข้อมูลเดิมมาเป็นระบบใหม่
ว่ามีค่าใช้จ่ายเพิ่มขึ้นมากน้อยเพียงใด

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






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

สามารถจำแนกหลักในการดำเนินการได้ 6 ขั้นตอน คือ

1.การรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูล

2.การเลือกระบบจัดการฐานข้อมูล

3.การออกแบบฐานข้อมูลในระดับแนวคิด

4.การนำฐานข้อมูลที่ออกแบบในระดับแนวคิดเข้าสู่ระบบจัดการฐานข้อมูล

5.การออกแบบฐานข้อมูลในระดับกายภาพ

6.การนำฐานข้อมูลไปใช้และการประเมินผล

ระบบจัดการฐานข้อมูล


        ระบบจัดการฐานข้อมูล (DBMS) ประกอบด้วยซอฟต์แวร์ที่ใช้ในการจัดการฐานข้อมูล, จัดเตรียมพื้นที่ในการเก็บ, การเข้าถึง, ระบบรักษาความปลอดภัย, สำรองข้อมูล และสิ่งอำนวยความสะดวกอื่นๆ ระบบจัดการฐานข้อมูลสามารถแบ่งหมวดหมู่ได้ตามแบบจำลองฐานข้อมูลที่สนับสนุน อาทิเช่น เชิงสัมพันธ์ หรือ XML เป็นต้น แบ่งตามประเภทของคอมพิวเตอร์ที่สนับสนุน อาทิเช่น server cluster หรือ โทรศัพท์พกพา เป็นต้น แบ่งตามประภทของภาษาสอบถามที่ใช้ในการเข้าถึงฐานข้อมูล อาทิเช่น ภาษาสอบถามเชิงโครงสร้าง หรือ XQuery แบ่งตามประสิทธิภาพในการ trade-offs อาทิเช่น ขนาดที่ใหญ่ที่สุด หรือ ความเร็วสูงสุด หรือ อื่นๆ เป็นต้น ในบาง DBMS จะครอบคลุมมากกว่าหนึ่งหมวดหมู่ เช่น สนับสนุนภาษาสอบถามได้หลายๆ ภาษา ยกตัวอย่างเช่น ใน DBMS ที่นิยมใช้การอย่างแพร่หลาย MySQL, PostgreSQL, Microsoft Access, SQL Server, FileMaker,Oracle,Sybase, dBASE, Clipper,FoxPro อื่นๆ ในทุกๆ ซอฟต์แวร์ฐานข้อมูลจะมี Open Database Connectivity (ODBC) driver มาให้ด้วย เพื่ออนุญาตให้ฐานข้อมูลสามารถทำงานร่วมกับฐานข้อมูลแบบอื่นๆ ได้




การออกแบบฐานข้อมูล (Designing Databases) มีความสำคัญต่อการจัดการระบบฐานข้อมูล (DBMS) ทั้งนี้เนื่องจากข้อมูลที่อยู่ภายในฐานข้อมูลจะต้องศึกษาถึงความสัมพันธ์ของข้อมูล โครงสร้างของข้อมูลการเข้าถึงข้อมูลและกระบวนการที่โปรแกรมประยุกต์จะเรียกใช้ฐานข้อมูล ดังนั้น เราจึงสามารถแบ่งวิธีการสร้างฐานข้อมูลได้ 3 ประเภท

1. รูปแบบข้อมูลแบบลำดับขั้น หรือโครงสร้างแบบลำดับขั้น (Hierarchical data model) วิธีการสร้างฐาน ข้อมูลแบบลำดับขั้นถูกพัฒนาโดยบริษัท ไอบีเอ็ม จำกัด ในปี 1980 ได้รับความนิยมมาก ในการพัฒนาฐานข้อมูลบนเครื่องคอมพิวเตอร์ขนาดใหญ่และขนาดกลาง โดยที่โครงสร้างข้อมูลจะสร้างรูปแบบเหมือนต้นไม้ โดยความสัมพันธ์เป็นแบบหนึ่งต่อหลาย (One- to -Many)


2. รูปแบบข้อมูลแบบเครือข่าย (Network data Model) ฐานข้อมูลแบบเครือข่ายมีความคล้ายคลึงกับฐาน ข้อมูลแบบลำดับชั้น ต่างกันที่โครงสร้างแบบเครือข่าย อาจจะมีการติดต่อหลายต่อหนึ่ง (Many-to-one) หรือ หลายต่อหลาย (Many-to-many) กล่าวคือลูก (Child) อาจมีพ่อแม่ (Parent) มากกว่าหนึ่ง สำหรับตัวอย่างฐานข้อมูลแบบเครือข่ายให้ลองพิจารณาการจัดการข้อมูลของห้องสมุด ซึ่งรายการจะประกอบด้วย ชื่อเรื่อง ผู้แต่ง สำนักพิมพ์ ที่อยู่ ประเภท


3. รูปแบบความสัมพันธ์ข้อมูล (Relation data model) เป็นลักษณะการออกแบบฐานข้อมูลโดยจัดข้อมูลให้อยู่ในรูปของตารางที่มีระบบคล้ายแฟ้ม โดยที่ข้อมูลแต่ละแถว (Row) ของตารางจะแทนเรคอร์ด (Record) ส่วน ข้อมูลนแนวดิ่งจะแทนคอลัมน์ (Column) ซึ่งเป็นขอบเขตของข้อมูล (Field) โดยที่ตารางแต่ละตารางที่สร้างขึ้นจะเป็นอิสระ ดังนั้นผู้ออกแบบฐานข้อมูลจะต้องมีการวางแผนถึงตารางข้อมูลที่จำเป็นต้องใช้ เช่นระบบฐานข้อมูลบริษัทแห่งหนึ่ง ประกอบด้วย ตารางประวัติพนักงาน ตารางแผนกและตารางข้อมูลโครงการ แสดงประวัติพนักงาน ตารางแผนก และตารางข้อมูลโครงการ

ฐานข้อมูล



        ฐานข้อมูล ประกอบด้วยกลุ่มการจัดการข้อมูลสำหรับผู้ใช้หนึ่งคนหรือหลายๆ คน โดยทั่วไปมักอยู่ในรูปแบบดิจิทัล วิธีการแบ่งชนิดของฐานข้อมูลได้รูปแบบหนึ่งคือแบ่งตามชนิดของเนื้อหา เช่น บรรณานุกรม, เอกสารตัวอักษร, สถิติ โดยฐานข้อมูลดิจิทัลจะถูกจัดการโดยใช้ระบบจัดการฐานข้อมูลซึ่งเก็บเนื้อหาฐานข้อมูล โดยอนุญาตให้สร้าง, ดูแลรักษา, ค้นหา และการเข้าถึงในรูปแบบอื่นๆ ฐานข้อมูลในลักษณะที่คล้ายกับฐานข้อมูลสมัยใหม่ ถูกพัฒนาเป็นครั้งแรกในทศวรรษ 1960 ซึ่งผู้บุกเบิกในสาขานี้คือ ชาลส์ บากแมน แบบจำลองข้อมูลสำคัญสองแบบเกิดขึ้นในช่วงเวลานี้ ซึ่งเริ่มต้นด้วย แบบจำลองข่ายงาน (พัฒนาโดย CODASYL) และตามด้วยแบบจำลองเชิงลำดับชั้น (นำไปปฏิบัติใน IMS) แบบจำลองทั้งสองแบบนี้ ในภายหลังถูกแทนที่ด้วย แบบจำลองเชิงสัมพันธ์ ซึ่งอยู่ร่วมสมัยกับแบบจำลองอีกสองแบบ แบบจำลองแบบแรกเรียกกันว่า แบบจำลองแบนราบ ซึ่งออกแบบสำหรับงานที่มีขนาดเล็กมาก ๆ แบบจำลองร่วมสมัยกับแบบจำลองเชิงสัมพันธ์อีกแบบ คือ ฐานข้อมูลเชิงวัตถุ หรือ โอโอดีบี3 (OODB)


        ในขณะที่แบบจำลองเชิงสัมพันธ์ มีพื้นฐานมาจากทฤษฎีเซต ได้มีการเสนอแบบจำลองดัดแปลงซึ่งใช้ทฤษฎีเซตคลุมเครือ (ซึ่งมีพื้นฐานมาจากตรรกะคลุมเครือ) ขึ้นเป็นอีกทางเลือกหนึ่ง ปัจจุบันมีการกล่าวถึงมาตรฐานโครงสร้างฐานข้อมูล เพื่อให้สามารถเชื่อมโยงฐานข้อมูลต่างระบบ ให้สืบค้นรวมกันเสมือนเป็นฐานข้อมูลเดียวกัน และการสืบค้นต้องแสดงผลตรงตามคำถาม มาตรฐานดังกล่าวได้แก่ XML RDF Dublin Core Metadata เป็นต้น และสิ่งสำคัญอีกประการหนึ่งที่จะช่วยให้การแลกเปลี่ยนข้อมูลรหว่างต่างหน่วยงานได้ดี คือการใช้ Taxonomy และ อรรถาภิธาน ซึ่งเป็นเครื่องมือสำหรับจัดการความรู้ในลักษณะศัพท์ควบคุม เพื่อจำกัดความหมายของคำที่ใช้ได้หลายคำในความหมายเดียวกัน


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


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