วันอังคารที่ 25 พฤศจิกายน พ.ศ. 2557

การตั้งชื่อฟังก์ชัน

การตั้งชื่อฟังก์ชัน
สิ่งสำคัญมากในการพิจารณาเมื่อตั้งชื่อฟังก์ชันคือชื่อต้องสั้นแต่มีความหมาย ถ้าฟังก์ชันสร้างส่วนตัวของเพจควรตั้งชื่อเป็น pageheader () หรือ page_header ()
ข้อจำกัดในการตั้งชื่อคือ
  • ฟังก์ชันไม่สามารถมีชื่อเดียวกับฟังก์ชันที่มีอยู่
  • ชื่อฟังก์ชันสามารถมีได้เพียงตัวอักษรตัวเลข และ underscore
  • ชื่อฟังก์ชันไม่สามารถเริ่มต้นด้วยตัวเลข
หลายภาษายอมให้ใช้ชื่อฟังก์ชันได้อีก ส่วนการทำงานนี้เรียกว่า function overload อย่างไรก็ตาม PHP ไม่สนับสนุน function overload ดังนั้นฟังก์ชันไม่สามารถมีชื่อเดียวกันกับฟังก์ชันภายใน หรือฟังก์ชันกำหนดเองที่มีอยู่
หมายเหตุ ถึงแม้ว่าทุกสคริปต์ PHP รู้จักฟังก์ชันภายในทั้งหมด ฟังก์ชันกำหนดเองอยู่เฉพาะในสคริปต์ที่ประกาศสิ่งนี้หมายความว่า ชื่อฟังก์ชันสามารถใช้ในคนละไฟล์แต่อาจจะไปสู่ความสับสน และควรหลีกเลียง
ชื่อฟังก์ชันต่อไปนี้ถูกต้อง
name ()
name2 ()
name_three ()
_namefour ()
ชื่อไม่ถูกต้อง
5name ()
Name-six ()
fopen ()
การเรียกฟังก์ชันไม่มีผลจากชนิดตัวพิมพ์ ดังนั้นการเรียก function_name (), Function_Name() หรือ FUNCTION_NAME() สามารถทำได้และมีผลลัพธ์เหมือนกัน แต่แบบแผนการกำหนดชื่อฟังก์ชันใน PHP ให้ใช้ตัวพิมพ์เล็ก

ชื่อฟังก์ชันแตกต่างจากชื่อตัวแปร โดยชื่อตัวแปรเป็นชนิดตัวพิมพ์มีผล ดังนั้น $Name และ $name เป็น 2 ตัวแปร แต่ Name () และ name () เป็นฟังก์ชันเดียวกัน

การกำหนดฟังก์ชันและการเรียกฟังก์ชัน

การกำหนดฟังก์ชันและการเรียกฟังก์ชัน
การประกาศฟังก์ชันเริ่มต้นด้วยคีย์เวิร์ด function กำหนดชื่อฟังก์ชัน พารามิเตอร์ที่ต้องการ และเก็บคำสั่งที่จะประมวลผลแต่ละครั้งเมื่อเรียกฟังก์ชันนี้
<?php
function function_name(parameter1,…)
{
ชุดคำสั่ง
}
?>
ชุดคำสั่งต้องเริ่มต้นและสิ้นสุดในวงเล็บปีกกา ({ }) ตัวอย่างฟังก์ชัน my_function
<?php
function my_function()
{
$mystring =<<<BODYSTRING
my function ได้รับการเรียก
BODYSTRING;
echo $mystring;
}
?>
การประกาศฟังก์ชันนี้ เริ่มต้นด้วย function ดังนั้นผู้อ่านและตัวกระจาย PHP ทราบว่าต่อไปเป็นฟังก์ชันกำหนดเอง ชื่อฟังก์ชันคือ my_function การเรียกฟังก์ชันนี้ใช้ประโยคคำสั่งนี้
my_function ();

การเรียกฟังก์ชันนี้จะให้ผลลัพธ์เป็นข้อความ "my function ได้รับการเรียก " บน browser

ฟังก์ชันใน PHP

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


วันพฤหัสบดีที่ 30 ตุลาคม พ.ศ. 2557

ชนิดของ field

ชนิดของ field

VAR CHAR : สำหรับเก็บข้อมูลประเภทตัวอักษร จะต้องมีการกำหนดความยาวของข้อมูลลงไปด้วย ซึ่งสามารถกำหนดค่าได้ตั้งแต่ 1 - 255 ฟิลด์ชนิดนี้ เหมาะสำหรับการเก็บข้อมูลสั้นๆ เช่น ชื่อ นามสกุล หรือหัวข้อต่างๆ เป็นต้นในส่วนฟิลด์ประเภทนี้ จะสามารถเลือก "แอตทริบิวต์" เป็น BINARY ได้ โดยปกติแล้วการจัดเรียงข้อมูลเวลาสืบค้น (query) สำหรับ VAR CHAR จะเป็นแบบ case-sensitive (ตัวอักษรใหญ่ และเล็กมีความหมายแตกต่างกัน) แต่หากระบุ "แอตทริบิวต์" เป็น BINARY  การสืบค้นจะไม่คำนึงตัวอักษรว่าจะเป็นตัวใหญ่ หรือตัวเล็ก 


CHAR : สำหรับเก็บข้อมูลประเภทตัวอักษร แบบที่ถูกจำกัดความกว้างเอาไว้คือ 255 ตัวอักษร ไม่สามารถปรับเปลี่ยนได้เหมือนกับ VAR CHAR หากทำการสืบค้นโดยเรียงตามลำดับ ก็จะเรียงข้อมูลแบบ case-sensitive เว้นแต่จะกำหนดแอตทริบิวต์เป็น BINARY ที่จะทำให้การเรียงข้อมูลเป็นแบบ non case-sensitive เช่นเดียวกับ VAR CHAR

TINY TEXT: ในกรณีที่ข้อความยาวๆ หรือต้องการที่จะค้นหาข้อความ โดยอาศัยฟีเจอร์ FULL TEXT SEARCH ของ MySQL เราอาจจะเลือกที่จะไม่เก็บข้อมูลลงในฟิลด์ประเภท VAR CHAR ที่มีข้อจำกัดแค่ 256 ตัวอักษร แต่เราจะเก็บลงฟิลด์ประเภท TEXT แทน โดย TINY TEXT นี้ จะสามารถเก็บข้อมูลได้ 256 ตัวอักษร ซึ่งมองเผินๆ ก็ไม่ต่างกับเก็บลงฟิลด์ประเภท CHAR หรือ VAR CHAR (255) เลย แต่จริงๆ มันต่างกันตรงที่ มันทำ FULL TEXT SEARCH ได้

TEXT : สำหรับเก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINY TEXT แต่สามารถเก็บได้มากขึ้น โดยสูงสุดคือ 65,535 ตัวอักษร หรือ 64KB เหมาะสำหรับเก็บข้อมูลพวกเนื้อหาต่างๆ ที่ยาวๆ

MEDIUM TEXT : เก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINY TEXT แต่เก็บข้อมูลได้ 16,777,215 ตัวอักษร

LONG TEXT : เก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINY TEXT แต่เก็บข้อมูลได้ 4,294,967,295 ตัวอักษร

TINY INT : สำหรับเก็บข้อมูลชนิดตัวเลขที่มีขนาด 8 บิต ข้อมูลประเภทนี้เราสามารถกำหนดเพิ่มเติมในส่วนของ "แอตทริบิวต์" ได้ว่าจะเลือกเป็น UNSIGNED หรือ UNSIGNED ZERO FILL โดยจะมีความแตกต่างดังนี้

UNSIGNED : จะหมายถึงเก็บค่าตัวเลขแบบไม่มีเครื่องหมาย แบบนี้จะทำให้สามารถเก็บค่าได้ตั้งแต่ 0 - 255

UNSIGNED ZERO FILL : เหมือนข้างต้น แต่ว่าหากข้อมูลที่กรอกเข้ามาไม่ครบตามจำนวนหลักที่เรากำหนด ตัว MySQL จะทำการเติม 0 ให้ครบหลักเอง เช่น ถ้ากำหนดให้ใส่ได้ 3 หลัก แล้วทำการเก็บข้อมูล 25 เข้าไป เวลาที่สืบค้นดู เราจะได้ค่าออกมาเป็น 025 หากไม่เลือก "แอตทริบิวต์" สิ่งที่เราจะได้ก็คือ SIGNED นั่นก็คือต้องเสียบิตนึงไปเก็บเครื่องหมาย บวก/ลบ ทำให้สามารถเก็บข้อมูลได้อยู่ในช่วง -128 ถึง 127 เท่านั้น

SMALL INT : สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 16 บิต จึงสามารถเก็บค่าได้ตั้งแต่ -32768 ถึง 32767 
(ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 65535 (ในกรณี UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZERO FILL ได้เช่นเดียวกับ TINY INT

MEDIUM INT : สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 24 บิต นั่นก็หมายความว่าสามารถเก็บข้อมูลตัวเลขได้ตั้งแต่ -8388608 ไปจนถึง 8388607 (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 16777215 (ในกรณีที่เป็น UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZERO FILL ได้เช่นเดียวกับ TINY INT

INT : สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 32 บิต หรือสามารถเก็บข้อมูลได้ตั้งแต่ -2147483648 ไปจนถึง 2147483647 ครับ (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 4294967295 (ในกรณีที่เป็น UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZERO FILL ได้เช่นเดียวกับ TINY INT

BITING : สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 64 บิต สามารถเก็บข้อมูลได้ตั้งแต่ -9223372036854775808 ไปจนถึง 9223372036854775807 เลยทีเดียว (แบบคิดเครื่องหมาย) หรือ 0 ถึง 18446744073709551615 (ในกรณีที่เป็น UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZERO FILL ได้เช่นเดียวกับ TINY INT

FLOAT[(M,D)] : ที่กล่าวถึงไปทั้งหมด ในตระกูล INT นั้นจะเป็นเลขจำนวนเต็ม หากเราบันทึกข้อมูลที่มีเศษทศนิยม มันจะถูกปัดทันที ดังนั้นหากต้องการจะเก็บค่าที่เป็นเลขทศนิยม ต้องเลือกชนิดขอฟิลด์เป็น FLOAT โดยจะเก็บข้อมูลแบบ 32 บิต คือมีค่าตั้งแต่ -3.402823466E+38 ไปจนถึง -1.175494351E-38, 0 และ 1.175494351E-38  ถึง 3.402823466E+38

DOUBLE[(M,D)] : สำหรับเก็บข้อมูลประเภทตัวเลขทศนิยม เช่นเดียวกับ FLOAT แต่มีขนาดเป็น 64 บิต สามารถเก็บได้ตั้งแต่ -1.7976931348623157E+308 ถึง -2.2250738585072014E-308, 0 และ 2.2250738585072014E-308 ถึง 1.7976931348623157E+308

DECIMAL[(M,D)] : สำหรับเก็บข้อมูลประเภทตัวเลขทศนิยม เช่นเดียวกับ FLOAT แต่ใช้กับข้อมูลที่ต้องการความละเอียดและถูกต้องของข้อมูลสูง
ข้อสังเกต เกี่ยวกับข้อมูลประเภท FLOAT, DOUBLE และ DECIMAL ก็คือ เวลากำหนดความยาวของข้อมูลในฟิลด์ จะถูกกำหนดอยู่ในรูปแบบ (M,D) ซึ่งหมายความว่า ต้องมีการระบุว่า จะให้มีตัวเลขส่วนที่เป็นจำนวนเต็มกี่หลัก และมีเลขทศนิยมกี่หลัก เช่น ถ้าเรากำหนดว่า FLOAT(5,2) จะหมายความว่า เราจะเก็บข้อมูลเป็นตัวเลขจำนวนเต็ม 5 หลัก และทศนิยม 2 หลัก ดังนั้นหากทำการใส่ข้อมูล 12345.6789 เข้าไป สิ่งที่จะเข้าไปอยู่ในข้อมูลจริงๆ ก็คือ 12345.68 (ปัดเศษให้มีจำนวนหลักตามที่กำหนดไว้)

DATE : สำหรับเก็บข้อมูลประเภทวันที่ โดยเก็บได้จาก 1 มกราคม ค.ศ. 1000 ถึง 31 ธันวาคม ค.ศ. 9999 โดยจะแสดงผลในรูปแบบ YYYY-MM-DD

DATETIME : สำหรับเก็บข้อมูลประเภทวันที่ และเวลา โดยจะเก็บได้ตั้งแต่ 1 มกราคม ค.ศ. 1000 เวลา 00:00:00 ไปจนถึง 31 ธันวาคม ค.ศ. 9999 เวลา 23:59:59 โดยรูปแบบการแสดงผล เวลาที่ทำการสืบค้น (query) ออกมา จะเป็น YYYY-MM-DD HH:MM:SS

TIMESTAMP[(M)] : สำหรับเก็บข้อมูลประเภทวันที่ และเวลาเช่นกัน แต่จะเก็บในรูปแบบของ
YYYYMMDDHHMMSS หรือ YYMMDDHHMMSS หรือ YYYYMMDD หรือ YYMMDD แล้วแต่ว่าจะระบุค่า M เป็น 14, 12, 8 หรือ 6 ตามลำดับ สามารถเก็บได้ตั้งแต่วันที่ 1 มกราคม ค.ศ. 1000 ไปจนถึงประมาณปี ค.ศ. 2037

TIME : สำหรับเก็บข้อมูลประเภทเวลา มีค่าได้ตั้งแต่ -838:59:59 ไปจนถึง 838:59:59 โดยจะแสดงผลออกมาในรูปแบบ HH:MM:SS

YEAR[(2/4)] : สำหรับเก็บข้อมูลประเภทปี ในรูปแบบ YYYY หรือ YY แล้วแต่ว่าจะเลือก 2 หรือ 4 (หากไม่ระบุ จะถือว่าเป็น 4 หลัก) โดยหากเลือกเป็น 4 หลัก จะเก็บค่าได้ตั้งแต่ ค.ศ. 1901 ถึง 2155 แต่หากเป็น 2 หลัก จะเก็บตั้งแต่ ค.ศ. 1970 ถึง 2069


วิธีการสร้างฐานข้อมูล

วิธีการสร้างฐานข้อมูล

ขั้นตอนที่ 1 เปิดเว็บบราวเซอร์ แล้วเข้าไปที่ http://localhost/ หรือ 127.0.0.1 



รูปที่ 1 หน้าแรก Appserv

ขั้นตอนที่ 2 คลิกที่ phpMyAdmin Database Manager Version 2.10.3 แล้วจะเจอ popup ให้ใส่ username และ password 


ภาพที่ 2 popup username password         

ให้ใส่ username กับ pass ที่ท่านได้กำหนดตอนติดตั้งโปรแกรมนะครับ เสร็จแล้วเลือกภาษาให้เป็นภาษาไทยด้วยนะครับ สำหรับบางท่านที่เป็นภาษาอังกฤษ โดยเลือกที่ช่อง เลือกภาษา ตามตัวอย่างรูปที่ 3 ครับ



รูปที่ 3 อธิบายหน้าแรกของ phpMyAdmin

ขั้นตอนที่ 3 จากนั้นกรอกชื่อฐานข้อมูลต้องการที่ช่อง "สร้างฐานข้อมูลใหม่" แล้วกดปุ่ม "สร้าง" ดังรูปที่ 3


รูปภาพที่ 3 สร้างฐานข้อมูล

จากนั้นก็จะมาขั้นตอนการสร้างตารางของฐานข้อมูลครับ โดยการ ใส่ชื่อตารางที่ช่อง "สร้างตารางในฐานข้อมูลนี้" และกำหนดจำนวน fields ที่ท่านต้องการ สำหรับตัวอย่างนี้ ผมจะสร้างตารางเก็บประวัิติลูกค้า โดย จะใช้ชื่อตารางว่า customer และมีจำนวน fields 5 fields


รูปภาพที่ 4 แสดงสร้างตาราง โดยกำหนด ชื่อ และ จำนวน fields

ขั้นตอนที่ 4 หลังจากที่กำหนดชื่อตารางและกำหนด fields เสร็จแล้ว ก็จะเข้าสู่หน้าจอการกำหนด คุณสมบัติของ fields ครับ โดยผมจะยกตัวอย่างการสร้าง fields ดังต่อไปนี้
1. รหัส (id)
2. ชื่อ (name)
3. นามสกุล (surname)
4. ที่อยู่ (address)
5. เบอร์โทรศัพท์ (phone)
ซึ่งเราจะต้องกำหนดชนิดของตัวแปรในส่วนนี้ด้วย


รูปภาพที่ 4 ภาพแสดงการกำหนด fields และคุณสมบัติต่างๆของฐานข้อมูล ตาราง customer

กำหนด ให้ รหัส (id) เป็น primary key และกำหนดให้เป็น auto_increment (สร้างรหัสอัตโนมัติ)โดยการคลิกเลือก ตามตัวอย่าง รูปภาพที่ 5
        

รูปภาพที่ 5 กำหนด primary key และกำหนดให้เป็น auto_increment

เมื่อกำหนดค่าต่างๆของฐานข้อมูลตาราง customer กดปุ่ม "บันทึก" หรือ ถ้าหากต้องการเพิ่ม field ก็สามารถ กดที่ "ลงมือ" ดังภาพที่ 6


รูปภาพที่ 6 บันทึกหรือเพิ่ม field ใหม่

เราก็จะได้ฐานข้อมูล ที่ชื่อ test_create_database และมีตารางชื่อ customer พร้อมใช้งานแล้ว


รูปภาพที่ 7 ตาราง customer







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

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

1. ฐานข้อมูลในโรงเรียน จะเป็นการรวบรวมข้อมูลเกี่ยวกับนักเรียน ครู ภารโรง พัสดุ    สิ่งของ ฯลฯ อาจบันทึกข้อมูลลงกระดาษ แบบฟอร์มหรือจัดเก็บลงคอมพิวเตอร์ เมื่อมีการจัดเก็บข้อมูลอย่างเป็น ระเบียบ การค้นหาก็ทำได้ง่าย

2. ฐานข้อมูลของร้านค้า เมื่อมีการจัดเก็บข้อมูลเกี่ยวกับสินค้าและลูกค้าอย่างเป็นระบบดีแล้ว การ จัดการก็ง่าย สินค้ามีกี่รายการ ต้นทุน กำไรเท่าไร ก็ดูได้ทันที ในโลกธุรกิจ การมีข้อมูลจำนวนมากและมี การจัดการที่ดี มีผลต่อความได้เปรียบในการทำธุรกิจและการประสบความสำเร็จ


3. ฐานข้อมูลบัญชีครัวเรือน จะเป็นการรวบรวมข้อมูลเกี่ยวกับรายรับ-รายจ่ายในการใช้เงินในแต่ละวันของครัวเรือน ค่าใช้จ่ายที่เกี่ยวข้อง ฯลฯ อาจบันทึกข้อมูลลงกระดาษ แบบฟอร์มหรือจัดเก็บลงคอมพิวเตอร์ เมื่อมีการจัดเก็บข้อมูลอย่างเป็น ระเบียบ การค้นหาก็ทำได้ง่าย

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

5. ฐานข้อมูลระบบห้องสมุด ยืม-คืน จะเป็นการจัดการเกี่ยวกับการยืม-คืนหนังสือ ให้ง่ายต่อการค้นหา จะมีข้อมูลที่เกี่ยวข้อง เช่น ข้อมูลหนังสือ ข้อมูลการยืม ข้อมูลการคืน

รหัสและประเภทหนังสือ ฯลฯ ทำให้ค้นหาได้ง่ายขึ้น

ฐานข้อมูล (Database)

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

ประโยชน์ของฐานข้อมูล

1.ลดการเก็บข้อมูลที่ซ้ำซ้อน ข้อมูลบางชุดที่อยู่ในรูปของแฟ้มข้อมูลอาจมี
ปรากฏอยู่หลาย ๆ แห่ง เพราะมีผู้ใช้ข้อมูลชุดนี้หลายคน เมื่อใช้ระบบฐานข้อมูลแล้วจะช่วยให้
ความซ้ำซ้อนของข้อมูลลดน้อยลง

2.รักษาความถูกต้องของข้อมูล เนื่องจากฐานข้อมูลมีเพียงฐานข้อมูลเดียว ในกรณีที่มีข้อมูลชุดเดียวกันปรากฏอยู่หลายแห่งในฐานข้อมูล ข้อมูลเหล่านี้จะต้องตรงกัน ถ้ามีการแก้ไขข้อมูลนี้ทุก ๆแห่งที่ข้อมูลปรากฏอยู่จะแก้ไขให้ถูกต้องตามกันหมดโดยอัตโนมัติด้วยระบบจัดการฐานข้อมูล

3.การป้องกันและรักษาความปลอดภัยให้กับข้อมูลทำได้อย่างสะดวก การป้องกันและรักษาความปลอดภัยกับข้อมูลระบบฐานข้อมูลจะให้เฉพาะผู้ที่เกี่ยวข้องเท่านั้น ซึ่งก่อให้เกิดความปลอดภัย(security) ของข้อมูลด้วย