วันพุธที่ 17 ธันวาคม พ.ศ. 2557

ข้อสอบ O-Net

ข้อสอบ O-Net

1.ไฟล์ประเภทใดในข้อต่อไปนี้เก็บข้อมูลในลักษณะตัวอักษร.
    ก. ไฟล์เพลง  MP 3 (mp 3)
    ข. ไฟล์รูปประเภท  JPEG (jpeg)
    ค. ไฟล์แสดงผลหน้าเว็บ (html)
    ง. ไฟล์วีดีโอประเภท  Movie (movie)


2. องค์ประกอบสารสนเทศที่สำคัญ­ที่สุดตรงกับข้อใด
    กฮาร์ดแวร์                    
    ขซอฟต์แวร์
    คบุคลากร                      
    ง.  ข้อมูล

3. การจัดทำคู่มือการทำงานเป็นกิจกรรมขององค์ประกอบสารสนเทศข้อใด
    กข้อมูล
    ฮาร์ดแวร์
    ซอฟต์แวร์
    .  ขั้นตอนการปฏิบัติงาน

4. ข้อใดเป็นการใช้คอมพิวเตอร์ในการประมวลผลข้อมูลให้เป็นสารสนเทศ เพื่อประกอบการตัดสินใจ
    ใช้ซอฟต์แวร์เพาเวอร์พอยนต์นำเสนองานเกี่ยวกับการขายสินค้า
    ใช้ซอฟต์แวร์เอสพีเอสเอสจัดเรียงลำดับข้อมูลในแบบสอบถาม
    ใช้คอมพิวเตอร์จัดเก็บข้อมูลหนังสือในห้องสมุด
    ใช้คอมพิวเตอร์คำนวณการเสียภาษีของพนักงาน

5. การใช้โปรแกรมไมโครซอฟต์แอกเซสจัดการฐานข้อมูลมีประโยชน์อย่างไร
    ช่วยให้ค้นหาข้อมูลได้ง่าย
    ขช่วยให้ข้อมูลไม่สู­ญหาย
    ช่วยให้ข้อมูลทันสมัยอยู่เสมอ
    .  ช่วยให้ข้อมูลเปลี่ยนแปลงไม่ได้

6. ถ้าต้องการจัดการฐานข้อมูลนักเรียนในห้องเรียนควรเลือกใช้คำสั่งใด
    . Object                        
    . Forms
    . Tables                         
    ง.  Queries

7.ข้อใดจับคู่ประเภทคอมพิวเตอร์กับการใช้งานได้ถูกต้อง
   ซูเปอร์คอมพิวเตอร์-ใช้งานในธนาคาร
   มินิคอมพิวเตอร์-ใช้งานในโรงแรม
   ไมโครคอมพิวเตอร์-ใช้งานในธุรกิจการบิน
   ง. เมนเฟรมคอมพิวเตอร์-ใช้งานในบ้าน

8.อุปกรณ์ใดสามารถถ่ายทอดภาพนิ่ง และภาพเคลื่อนไหวผ่านเว็บไซต์ในอินเทอร์เน็ตให้อีกฝ่ายเห็นได้
   ก้านควบคุม            
   ขเครื่องอ่านพิกัด
   สแกนเนอร์             
   ง.  เว็บแคม

9.ถ้าต้องการพิมพ์แบบทางวิศวกรรมควรเลือกใช้เครื่องพิมพ์ชนิดใด
   ก. plotter
   . laser printer
   . inkjet printer
   . dot matrix printer

10.ถ้าต้องการแสดงข้อความข้อมูลจากค่าคงที่หรือตัวแปรที่จอภาพจะใช้คำสั่งใด
    . scanf ( )                 
    . printf ( )
    . putchar ()             
    . getch ( )

เฉลย
1. ค. ไฟล์แสดงผลหน้าเว็บ (html)
2. คบุคลากร   
3. .  ขั้นตอนการปฏิบัติงาน
4. ใช้ซอฟต์แวร์เพาเวอร์พอยนต์นำเสนองานเกี่ยวกับการขายสินค้า
5. ช่วยให้ค้นหาข้อมูลได้ง่าย
6. ค.Tables  
7. ซูเปอร์คอมพิวเตอร์-ใช้งานในธนาคาร
8. สแกนเนอร์       
9. ก. plotter
10. . printf ( )

คำสั่ง SQL

คำสั่ง SQL

ภาษา SQL นั้นไม่เป็น case sensitive (ตัวเล็ก ตัวใหญ่มีค่าเท่ากัน) และในแต่ละคำสั่งจะถูกปิดด้วย ; (semi-colon)  


(วิธีการลง SQL ใน Window7 : http://natsusencho.blogspot.com/2012/07/mysql-window7.html)



มาเริ่มกันเลย

การเข้าใช้ให้เราเปิด cmd ขึ้นมาและ


$ mysql -u root -p


จากนั้นใส่ password ลงไป

จะเข้าสู่การใช้  
mysql > (เราจะพิมพ์คำสั่งต่างๆลงไป)


ถ้าต้องการออกใช้


mysql > quit


mysql > show databases; แสดง  databases ทั้งหมดที่เราสร้างขึ้น



mysql > use <ชื่อ database> เป็นการเข้าใช้ database นั้นๆ


mysql > SELECT database(); ดู database ที่เรากำลังใช้อยู่


mysql > show tables; แสดงตารางทั้งหมดที่เราสร้างขึ้นใน database ที่ use



สร้าง DATABASE

mysql > create database  <ชื่อdatabase>;

เช่น create database world; 


สร้าง table

mysql > create table <ชื่อtable> (<ชื่อข้อมูล> <ชนิดข้อมูล>, ... );

เช่น create table human (name VARCHAR(20), birth DATE, sex CHAR(1));

ชนิดข้อมูล เช่น

VARCHAR(n) - ข้อมูลชนิด string เก็บแบบ linked list เหมาะสมกับข้อมูลที่มีความยาวที่ไม่แน่นอน

CHAR(n) - ข้อมูลชนิด string เก็บแบบ array เหมาะสมกับข้อมูลที่มีความยาวที่แน่นอน

INT - จำนวนเต็ม

DATE - ข้อมูลชนิดพิเศษของ SQL ใช้เก็บวันที่ มีรูปแบบเป็น YYYY-MM-DD


ดูชื่อและชนิดข้อมูลของแต่ละตาราง

mysql > describe <ชื่อtable>;


การใส่ข้อมูลลงไปใน table
1. ใช้ คำสั่ง load data จากไฟล์ที่เราเตรียมไว้ โดย default จะแบ่งเนื้อหาโดยใช้ tab แบบนี้จะมีปัญหาเรื่องการใช้ข้อมูลชนิด NULL ซึ่งใช้ \N แทน

mysql > load data local infile ‘natsu.txt’ into table pet; 
2.INSERT ใส่ทีละข้อมูล เหมาะกับข้อมูลที่น้อยๆ ที่เราเพิ่มเติมเข้าไป เช่น

mysql > INSERT INTO pet VALUES (‘natsusencho’, ‘1992-03-25’, ‘M’); 
3. *ทำ SQL script คือเตรียมไฟล์คำสั่ง sql ไว้แล้วนำมาทำการ source ทีเดวเช่น ส่วนตัวแนะนำวิธีนี้เพราะเราเขียนทั้งหมดทีเดียวไม่ต้องมาใส่ทีละคำสั่ง นึกออกให้เสร็จที่เดียวแล้ว run ทีเดียวทั้งหมด

  ---- file natsu.sql ----

CREATE TABLE IF NOT EXISTS human (

       name   VARCHAR(20),

       birth DATE, 

sex CHAR(1) );

INSERT INTO human VALUES 

      ( 'NatsuSencho',   '1992-03-25', 'M'),

      ( 'Slime',   '1999-03-03', NULL ),

  ( ‘HeyFemale’ , ‘1993-12-25’ , ‘F’);

----- file natsu.sql -----

หลังจากสร้างเสร็จแล้วก้ลองใช้คำสั่ง

mysql > source natsu.sql;


ก็จะได้ตาราง world หน้าที่มีข้อมูล 3 ตัว

create table IF NOT EXISTS human

คำว่า IF NOT EXISTS หมายถึงการสร้าง table นี้ถ้ายังไม่มี table นี้ ถ้ามีแล้วก็ไม่ต้องสร้าง


มีสร้างก็ต้องมีลบ การลบ table ใช้คำสั่ง

mysql > DELETE FROM <ชื่อtable>;


หลังจากที่สร้างเป็นแล้วต้องสามารถแก้ไขข้อมูลได้

mysql > UPDATE <ชื่อtable> 

SET <ชื่อข้อมูล> = <ข้อมูลใหม่>

WHERE <เงื่อนไขอื่นๆ>;

เช่น UPDATE human SET name = ‘HeyGirl’ WHERE name = ‘HeyFemale’;



การสืบค้นข้อมูล หรือการดูข้อมูล

SELECT <สิ่งที่ต้องการ>

FROM   <ชื่อtable>

WHERE <เงื่อนไขอื่นๆ>


เช่นต้องการชื่อของข้อมูลในตาราง human ที่มีมีเพศชาย

SELECT name

FROM   human

WHERE sex = ‘M’; 

ต้องการดูข้อมูลทั้งหมดในตาราง human [* คือทั้งหมด]

SELECT *

FROM   human;


ซึ่งการกำหนดเงื่อนไขนั้นเราสามารถใช้ตัวแปรทางคณิตศาสตร์ตรรกะ มาช่วยได้เช่น

AND และ 
 OR หรือ

< น้อยกว่า 
 > มากกว่า

<= น้อยกว่าหรือเท่ากับ

>= มากกว่าหรือเท่ากับ

<> ไม่เท่ากับ

UNION การนำ 2 ตารางมาเชื่อมต่อกันตัดตัวซ้ำ

 UNION ALL การนำ 2 ตารางมาเชื่อมกันโดยไม่ตัดตัวซ้ำ

INTERSECT ข้อมูลที่ซ้ำกัน


DISTINCT คือการตัดตัวที่ซ้ำกันออก

เช่น SELECT DISTINCT sex

FROM   human;


ORDER BY เรียงลำดับข้อมูล การจัดกลุ่มข้อมูล

เรียงลำดับจากมากไปน้อย (descending order)

เช่น SELECT *

FROM   human

ORDER BY name;

เรียงลำดับจากน้อยไปมาก (descending order)

เช่น SELECT *

FROM   human

ORDER BY name DESC;

ถ้าต้องการมากกว่าอันนึงก็ย่อมได้

เช่น SELECT *

FROM   human

ORDER BY name , sex DESC ;

แบบนี้จะจัดตามชื่อแบบ ascending ก่อนแล้วจะมาจัดเพศแบบ descending ทีหลัง


การคำนวณเกี่ยวกับวันที่

ตัวแปร DATE เป็น string ที่มีการเก็บเป็นรูปแบบ YYYY-MM-DD ตัวแปรชนิด DATE สามารถนำมาเทียบค่ากันได้ในระดับ ASCII

CURDATE() จะเป็น function ที่ส่งค่าออกมาเป็นข้อมูลรูปแบบ DATE (YYYY-MM-DD)

YEAR(<ข้อมูลชนิดdate>) ส่งค่าออกมาเป็นข้อมูลรูปแบบของปี (YYYY)

MONTH(<ข้อมูลชนิดdate>) ส่งค่าออกมาเป็นข้อมูลรูปแบบของเดือน (MM)

DAY(<ข้อมูลชนิดdate>)  ส่งค่าออกมาเป็นข้อมูลรูปแบบของวัน (DD)

RIGHT(< ข้อมูลชนิดstring>, <จำนวนตัวเลข>) ส่งค่าออกมาจำนวนเท่ากับที่เราต้องการตัดออกมาจาก string นั้นๆ โดยเริ่มนับจากทางขวา

LEFT(< ข้อมูลชนิดstring>, <จำนวนตัวเลข>) ส่งค่าออกมาจำนวนเท่ากับที่เราต้องการตัดออกมาจาก string นั้นๆ โดยเริ่มนับจากทางซ้าย

ตัวอย่าง

ex1. ต้องการปีของวันปัจจุบัน YEAR( CURDATE() )

ex2. ต้องการเดือนและวันของปัจจุบัน RIGHT( CURDATE(),5 )

[5 ในที่นี้คือนับจากทางขวามือมา YYYY-MM-DD ก็จะได้ ​MM-DD มา]


การใช้ตัวแปร NULL ในเงื่อนไข

ใช้คำสั่ง xxx IS NOT NULL เช่นต้องการดูสิ่งมีชีิวิตที่ไม่มีเพศ

SELECT *

FROM   human

WHERE sex IS NOT NULL;


การตั้งชื่อเป็นชื่อที่เราต้องการ

หมายถึงเวลา select บางทีคนทั่วไปอาจจะไม่เข้าใจว่าคืออะไร เราจึงมีคำสั่ง AS ช่วย เช่น

SELECT name AS ‘NAME-SURNAME’

FROM   human;



COUNT การนับจำนวน + GROUP BY การจัดกลุ่ม

COUNT ใช้ในการนับจำนวนของตารางต่างๆ จะใช้คู่กับ GROUP BY ได้ดีเพราะจะช่วยในการจัดกลุ่มชุดข้อมูลได้ดีขึ้น

SELECT <อื่นๆ> COUNT(*)

FROM <ชื่อtable>

WHERE <เงื่อนไข>

GROUP BY <จัดกลุ่มโดยใช้อะไร>


เช่นต้องการนับจำนวนคนในแต่ละเพศ

SELECT sex , COUNT(*)

FROM   human

GROUP BY sex;

SET การกำหนดตัวแปร

SET @<ชื่อตัวแปร> = <ค่า>

เช่น  SET @A1 = ‘Natsu Sencho’;

SET @A2 = ‘1999-09-09’;


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

การ JOIN คือการนำตารางที่มีความสัมพันธ์ของข้อมูลในแต่ละฟิลมาเชื่อมโยงกัน

การ JOIN มี 2 แบบคือ

1. INNER JOIN

2. OUTER JOIN  |--- LEFT JOIN

|--- RIGHT JOIN


INNER JOIN

คือการ JOIN โดยไม่สนใจค่า NULL จะดูเพียงตัวที่เหมือนกันเท่านั้น

สมมติมีตาราง 2 อันชื่อ Ltable และ ​Rtable นำมา JOIN กันโดยมีข้อมูลที่ซ้ำกันคือ id

-- JOIN โดยใช้ ON

SELECT *

FROM Ltable INNER JOIN Rtable ON Ltable.id = Rtable.id;

-- หรือ JOIN โดยใช้ USING

SELECT *

FROM Ltable INNER JOIN Rtable USING (id);


กรณี พิเศษที่ตัวแปรหรือชื่อ Column ซ้ำกันก็สามาใช้ NATURAL JOIN ได้ อย่างในที่นี้เรารุ้ว่า id นั้นซ้ำกันเราก็ไม่ต้องใส่เงื่อนไขใดๆ แต่ใช้ Natural Join เข้ามาช่วยโดย

SELECT *

FROM Ltable NATURAL JOIN Rtable;


OUTER JOIN

  • LEFT JOIN

คือการ JOIN โดยใช้ตัวทางซ้ายเป็นหลักคือ จะแสดงตัวทางซ้ายทุกตัวและนำข้อมูลขวามาเชื่อม

SELECT *

FROM Ltable LEFT JOIN Rtable ON Ltable.id = Rtable.id;


  • RIGHT JOIN

คือการ JOIN โดยใช้ตัวทางขวาเป็นหลักคือ จะแสดงตัวทางขวาทุกตัวและนำข้อมูลขวามาเชื่อม

SELECT *

FROM Ltable RIGHT JOIN Rtable ON Ltable.id = Rtable.id;


นอกจากวิธีการ JOIN ยังมีวิธีที่เรียกว่า Cartesian Product ซึ่งไม่ได้อทิบายไว้ในทีนี้


ถ้ามีโอกาศจะนั่งทำตัวอย่างให้ดูให้เห็นได้ชัดกว่านี้นะครับ แต่ผมสรุปแบบคร่าวๆ ให้พอดู

รวมคำศัพท์คำสั่งที่เจอเพจนี้


CREATE สร้างdatabase, table

INSERT ใส่ข้อมูล

UPDATE อัพเดตข้อมูล

SELECT ต้องการจะดูอะไรบ้าง

FROM จากที่ไหน

WHERE เงื่อนไขอย่างไร

COUNT(*) นับจำนวนของฟิลข้อมูล

GROUP BY จัดกลุ่มข้อมูล

ORDER BY เรียงลำดับข้อมูลโดย

JOIN เชื่อมตาราง

DISTINCT ตัดตัวซ้ำ

AS ใช้คำใหม่ให้กระทัดรัดขึ้น

SET กำหนดตัวแปร

CURDATE() วันที่ปัจจุบัน

YEAR() ปี

MONTH() เดือน

DAY() วัน

RIGHT() ตัดคำจากทางขวา

LEFT() ตัดคำจากทางซ้าย

วันพุธที่ 12 พฤศจิกายน พ.ศ. 2557

ฐานข้อมูล

ฐานข้อมูล

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


ประวัติ

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

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

                                

                                สถาปัตยกรรม

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

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

                        


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

ระบบจัดการฐานข้อมูล (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) โดยที่ตารางแต่ละตารางที่สร้างขึ้นจะเป็นอิสระ ดังนั้นผู้ออกแบบฐานข้อมูลจะต้องมีการวางแผนถึงตารางข้อมูลที่จำเป็นต้องใช้ เช่นระบบฐานข้อมูลบริษัทแห่งหนึ่ง ประกอบด้วย ตารางประวัติพนักงาน ตารางแผนกและตารางข้อมูลโครงการ แสดงประวัติพนักงาน ตารางแผนก และตารางข้อมูลโครงการ

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

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

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

การออกแบบฐานข้อมูลในระดับตรรกะ หรือในระดับแนวความคิด เป็นขั้นตอนการออกแบบความสัมพันธ์ระหว่างข้อมูลในระบบโดยใช้แบบจำลองข้อมูลเชิงสัมพันธ์ ซึ่งอธิบายโดยใช้แผนภาพแสดงความสัมพันธ์ระหว่างข้อมูล (E-R Diagram) จากแผนภาพ E-R Diagram นำมาสร้างเป็นตารางข้อมูล (Mapping E-R Diagram to Relation) และใช้ทฤษฏีการ Normalization เพื่อเป็นการรับประกันว่าข้อมูลมีความซ้ำซ้อนกันน้อยที่สุด ซึ่งการออกแบบเชิงตรรกะนี้จะบอกถึงรายละเอียดของ Relation , Attribute และ Entity