ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล...
-
Upload
lucas-french -
Category
Documents
-
view
34 -
download
0
description
Transcript of ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล...
ความรู้� �เบื้�องต้�นเกี่��ยวกี่�บื้ฐานข้�อม�ล
Introduction to Database
ลำ��ดั�บชั้��นของก�รจั�ดัเก�บข�อมู�ลำ
ลำ��ดั�บชั้��นของก�รจั�ดัเก�บข�อมู�ลำบ�ต (bit) ย่�อมู�จั�ก Binary Digit ข�อมู�ลำในคอมูพิ�วเตอร� 1 บ�ต จัะแสดังไดั� 2 สถ�นะค$อ 0 หร$อ 1
ลำ��ดั�บชั้��นของก�รจั�ดัเก�บข�อมู�ลำไบต�(byte) ค$อ น�� บ�ต หลำ�ย่ๆ บ�ต
มู�เร'ย่งต�อก�น จั��นวน 8 บ�ต มู�เร'ย่งเป็)น 1 ชั้*ดั เร'ย่กว�� 1 ไบต�
เชั้�น 10100001 หมู�ย่ถ+ง ก 10100010 หมู�ย่ถ+ง ข
ลำ��ดั�บชั้��นของก�รจั�ดัเก�บข�อมู�ลำ เขตข�อมู�ลำ(Field) ค$อ ก�รน�� ไบต� (byte) หลำ�ย่ๆ ไบต� มู�เร'ย่งต�อก�น
เชั้�น เขตข�อมู�ลำ Name ใชั้�เก�บชั้$,อ เชั้�น เขตข�อมู�ลำ LastName ใชั้�เก�บ
น�มูสก*ลำ เป็)นต�น
ลำ��ดั�บชั้��นของก�รจั�ดัเก�บข�อมู�ลำระเบ'ย่น(Record) ค$อ ก�รน��เขต
ข�อมู�ลำ หลำ�ย่ๆ เขตข�อมู�ลำ มู�เร'ย่งต�อก�น เร'ย่กว�� ระเบ'ย่น (record)
เชั้�น ระเบ'ย่น ที่', 1 เก�บ ชั้$,อ น�มูสก*ลำ ว�นเดั$อนป็.เก�ดั ของ น�กเร'ย่นคนที่', 1 เป็)นต�น
ลำ��ดั�บชั้��นของก�รจั�ดัเก�บข�อมู�ลำแฟ้0มูข�อมู�ลำ(File) ค$อ ก�รเก�บระ
เบ'ย่นหลำ�ย่ๆระเบ'ย่น รวมูก�น เชั้�น แฟ้0มูข�อมู�ลำ น�กเร'ย่น จัะเก�บ ชั้$,อ
น�มูสก*ลำ ว�นเดั$อนป็.เก�ดั ของน�กเร'ย่น จั��นวน 500 คน เป็)นต�น
ลำ��ดั�บชั้��นของก�รจั�ดัเก�บข�อมู�ลำฐ�นข�อมู�ลำ(Database) ค$อ ก�รจั�ดั
เก�บ แฟ้0มูข�อมู�ลำ หลำ�ย่ๆ แฟ้0มูข�อมู�ลำ ไว�ภ�ย่ใต�ระบบเดั'ย่วก�น
เชั้�น เก�บ แฟ้0มูข�อมู�ลำ น�กเร'ย่น อ�จั�รย่� ว�ชั้�ที่',เป็3ดัสอน เป็)นต�น
ลำ��ดั�บชั้��นของก�รจั�ดัเก�บข�อมู�ลำ
DatabaseDatabase
FilesFiles
RecordsRecords
FieldsFields
Characters (Byte)
Characters (Byte)
BitBit
Recordป็ระกอบดั�วย่ รห�ส , น�มูสก*ลำแลำะชั้$,อ,ว�นที่',จั��งง�น
Personnel fileDepartment filePayroll file
(Project database)
098-40-1370 Fiske, Steven 01-05-1985549-77-1001 Buckley, Bill 02-17-1979005-10-6321 Johns, Francine 10-07-1997
(Personnel file)
098-40-1370 Fiske, Steven 01-05-1985
Fiske Field น�มูสก*ลำ
1000100 ต�วอ�กษร F ใน ASCII
0,1
“ร�ป็แบบก�รจั�ดัเก�บข�อมู�ลำแบบเดั�มู”
ระบบแฟ้0มูข�อมู�ลำ (File-based System) ระบบแฟ้0มูข�อมู�ลำ(File-based
system) ค$อ ชั้*ดัของโป็รแกรมูป็ระย่*กต�ที่',ให�ผู้��ใชั้�ใชั้�เพิ$,อป็ระมูวลำผู้ลำง�นที่',ต�องก�ร โดัย่แต�ลำะโป็รแกรมูก�จัะก��หนดัแลำะจั�ดัก�รแฟ้0มูข�อมู�ลำของตนเอง
แฟ้0มูข�อมู�ลำที่',ใชั้�ในระบบไฟ้ลำ�จัะแย่กจั�กก�นเป็)นเอกเที่ศ แลำะอ�จัไมู�มู'คว�มูส�มูพิ�นธ์�ก�น
โดัย่ส�วนใหญ่�ข�อมู�ลำแลำะโป็รแกรมูมู�กรวมูอย่��ดั�วย่ก�นเป็)นแฟ้0มูข�อมู�ลำ
ระบบแฟ้0มูข�อมู�ลำ (File-based System)
ฝ่;�ย่บ�ญ่ชั้'โป็รแกรมูบ�ญ่ชั้' กี่ารู้ข้าย ล�กี่ค�า
ฝ่;�ย่ข�ย่
โป็รแกรมูก�รข�ย่ กี่ารู้ข้าย ล�กี่ค�า สิ�นค�า
ฝ่;�ย่บ*คคลำโป็รแกรมูฝ่;�ย่บ*คคลำ พน�กี่งาน
ข�อจั��ก�ดัของก�รป็ระมูวลำผู้ลำแบบแฟ้0มูข�อมู�ลำ
ข�อมู�ลำถ�กแบ�งแลำะเก�บแย่กจั�กก�น ข�อมู�ลำมู'คว�มูซ้ำ���ซ้ำ�อนก�น มู'คว�มูข+�นต�อก�นของข�อมู�ลำ ร�ป็แบบข�อมู�ลำไมู�ตรงก�น โป็รแกรมูที่',ใชั้�ง�นมู'คว�มูคงที่',ไมู�ย่$ดัหย่*�น
ข�อจั��ก�ดัของก�รป็ระมูวลำผู้ลำแบบแฟ้0มูข�อมู�ลำ
ข�อมู�ลำถ�กเก�บแลำะเก�บแย่กจั�กก�นเมู$,อข�อมู�ลำต��ง ๆ ถ�กเก�บก�นไว�คนลำะไฟ้ลำ� ห�กต�องก�รน��ข�อมู�ลำต��ง ๆ มู�สร��งเป็)นร�ย่ง�น โป็รแกรมูเมูอร�ต�องสร��งไฟ้ลำ�ชั้�,วคร�ว(Temporary file)ข+�นมู� เพิ$,อดั+งข�อมู�ลำต��ง ๆ จั�กไฟ้ลำ�ต��ง ๆ มู�รวมูก�นก�อน แลำ�วค�อย่สร��งเป็)นร�ย่ง�น
ข�อจั��ก�ดัของก�รป็ระมูวลำผู้ลำแบบแฟ้0มูข�อมู�ลำ ข�อมู�ลำมู'คว�มูซ้ำ���ซ้ำ�อน
ส$บเน$,องจั�กข�อมู�ลำถ�กเก�บแย่กจั�กก�น ที่��ให�ไมู�ส�มู�รถควบค*มูคว�มูซ้ำ���ซ้ำ�อนข�อมู�ลำไดั� ที่��ให�ส�ญ่เส'ย่พิ$�นที่',ในก�รจั�ดัเก�บข�อมู�ลำมู�กข+�น แลำะก�อให�เก�ดัคว�มูผู้�ดัพิลำ�ดัในก�รดั��เน�นก�รก�บข�อมู�ลำ 3 ลำ�กษณะ ไดั�แก�คว�มูผู้�ดัพิลำ�ดัจั�กก�รเพิ�,มูข�อมู�ลำ(Insertion
anomalies)คว�มูผู้�ดัพิลำ�ดัจั�กก�รป็ร�บป็ร*ง
ข�อมู�ลำ(Modification anomalies)คว�มูผู้�ดัพิลำ�ดัจั�กก�รลำบข�อมู�ลำ(Deletion
anomalies)
ข�อจั��ก�ดัของก�รป็ระมูวลำผู้ลำแบบแฟ้0มูข�อมู�ลำ มู'คว�มูข+�นต�อก�นของข�อมู�ลำ
เน$,องจั�กโครงสร��งที่�งก�ย่ภ�พิแลำะก�รจั�ดัเก�บข�อมู�ลำถ�กสร��งโดัย่ก�รเข'ย่นโป็รแกรมูป็ระย่*กต�(Application program) ดั�งน��นห�กต�องก�รเป็ลำ',ย่นแป็ลำงโครงสร��งข�อมู�ลำ เชั้�น ชั้$,อของพิน�กง�น จั�กเดั�มู 20 ต�วอ�กษร เป็)น 30 ต�วอ�กษร มู'ข��นตอนก�รที่��ง�นดั�งน'�1. เป็3ดัไฟ้ลำ�หลำ�กพิน�กง�นเพิ$,ออ��นข�อมู�ลำ2. เป็3ดัไฟ้ลำ�ชั้�,วคร�วที่',มู'โครงสร��งคลำ��ย่ไฟ้ลำ�หลำ�ก แต�ป็ร�บโครงสร��งของชั้$,อพิน�กง�น จั�ก 20 ต�วอ�กษร เป็)น 30 ต�วอ�กษร3. อ��นข�อมู�ลำจั�กไฟ้ลำ�หลำ�ก แลำะย่��ย่ไป็เก�บไว�ในไฟ้ลำ�ชั้�,วคร�ว จันกระที่�,งครบที่*กร�ย่ก�ร4. ลำบไฟ้ลำ�หลำ�กที่��ง5. เป็ลำ',ย่นชั้$,อไฟ้ลำ�ชั้�,วคร�มูให�ชั้$,อเดั'ย่วก�บไฟ้ลำ�หลำ�ก
ข�อจั��ก�ดัของก�รป็ระมูวลำผู้ลำแบบแฟ้0มูข�อมู�ลำ ร�ป็แบบข�อมู�ลำไมู�ตรงก�น
โครงสร��งข�อมู�ลำจัะข+�นอย่��ก�บภ�ษ�คอมูพิ�วเตอร�ที่',ใชั้�ในก�รเข'ย่นโป็รแกรมูป็ระย่*กต� ถ��แต�ลำะฝ่;�ย่ใชั้�ภ�ษ�ในก�รเข'ย่นต��ง ๆ ก�น ก�อ�จัที่��ให�โครงสร��งข�อมู�ลำของแฟ้0มูไมู�ตรงก�น ที่��ให�ไมู�ส�มู�รถน��ไฟ้ลำ�ข�อมู�ลำมู�ใชั้�ร�วมูก�นไดั�
ข�อจั��ก�ดัของก�รป็ระมูวลำผู้ลำแบบแฟ้0มูข�อมู�ลำ โป็รแกรมูที่',ใชั้�ง�นคงที่',ไมู�ย่$ดัหย่*�น
ระบบแฟ้0มูข�อมู�ลำ มู'คว�มูข+�นก�บโป็รแกรมูป็ระย่*กต� ข�อมู�ลำหร$อร�ย่ง�นต��ง ๆ จัะถ�กก��หนดัร�ป็แบบต�ย่ต�วในโป็รแกรมูแลำ�ว ดั�งน��นห�กต�องก�รร�ย่ง�นใหมู� จัะต�องให�โป็รแกรมูเมูอร�เข'ย่นโป็รแกรมูข+�นมู�ใหมู� ที่��ให�เส'ย่ค��ใชั้�จั��ย่
“รู้ะบื้บื้ฐานข้�อม�ล”
ความหมายข้องฐานข้�อม�ลฐานข้�อม�ล (Database) หมายถึ�ง
โครู้งสิรู้�างข้องกี่ารู้จั�ดเกี่#บื้ข้�อม�ลที่��ม�ความสิ�มพ�นธ์&เกี่��ยวข้�องกี่�นไว�ในที่��เด�ยวกี่�น เพ�อให�สิามารู้ถึน)าข้�อม�ลมาปรู้ะมวลเพ�อช่,วยในกี่ารู้ต้�ดสิ�นใจั และสิามารู้ถึใช่�ข้�อม�ลรู้,วมกี่�นได�
ในกี่ารู้จั�ดกี่ารู้ข้�อม�ลในฐานข้�อม�ลจัะใช่�ซอฟต้&แวรู้&ปรู้ะเภที่ รู้ะบื้บื้จั�ดกี่ารู้ฐานข้�อม�ล(Database Management System : DBMS)
ฐานข้�อม�ล(Database)ฐานข้�อม�ลม�สิ,วนที่��ที่)าหน�าที่��ในกี่ารู้
อธ์�บื้ายความหมายข้องรู้ายกี่ารู้ข้�อม�ลที่��เกี่#บื้อย�,ในฐานข้�อม�ลด�วย เรู้�ยกี่สิ,วนน��ว,า บื้�ญช่�รู้ะบื้บื้(System catalog)
หรู้อ พจันาน2กี่รู้มข้องข้�อม�ล(Data Dictionary) หรู้อ
เมต้าดาต้�า(Meta - data)
ฐานข้�อม�ล(Database)โครู้งสิรู้�างข้องข้�อม�ลจัะถึ�กี่แยกี่
ออกี่จัากี่โปรู้แกี่รู้มปรู้ะย2กี่ต้&และเกี่#บื้เอาไว�ในสิ,วนที่��เรู้�ยกี่ว,า ฐาน“ข้�อม�ล”
ถึ�าม�กี่ารู้เพ��มหรู้อปรู้�บื้ปรู้2งโครู้งสิรู้�างข้องข้�อม�ลกี่#จัะไม,ม�ผลกี่รู้ะที่บื้กี่�บื้โปรู้แกี่รู้มปรู้ะย2กี่ต้&
รู้ะบื้บื้ฐานข้�อม�ล (Database System)
ฝ่;�ย่บ�ญ่ชั้'โป็รแกรมูบ�ญ่ชั้'
ล�กี่ค�าพน�กี่งานกี่ารู้ข้ายสิ�นค�า
ฝ่;�ย่ข�ย่
โป็รแกรมูก�รข�ย่
ฝ่;�ย่บ*คคลำ
โป็รแกรมูฝ่;�ย่บ*คคลำ
DBMS
Database
รู้ะบื้บื้จั�ดกี่ารู้ฐานข้�อม�ล(Database Management
System : DBMS) หมายถึ�ง ซอฟต้&แวรู้&ที่��ใช่�ในกี่ารู้จั�ดกี่ารู้ข้�อม�ล
ในฐานข้�อม�ล DBMS จัะที่)าหน�าที่��เป4นต้�วกี่ลางรู้ะหว,างฐาน
ข้�อม�ลกี่�บื้โปรู้แกี่รู้มที่��มาใช่�งานฐานข้�อม�ลและผ��ใช่�งานฐานข้�อม�ล ที่��ต้�ดต้,อไปย�งฐานข้�อม�ลเพ�อที่)างานที่��ผ��ใช่�ต้�องกี่ารู้ให�สิ)าเรู้#จั
เช่,น กี่ารู้จั�ดเกี่#บื้ข้�อม�ลลงในฐานข้�อม�ล , กี่ารู้ค�นหาข้�อม�ลที่��ต้�องกี่ารู้ออกี่มาแสิดง หรู้อ กี่ารู้ลบื้ข้�อม�ล เป4นต้�น
หน�าที่��ข้อง DBMSจั�ดกี่ารู้พจันาน2กี่รู้มข้องข้�อม�ล(Data
dictionary management) จั�ดกี่ารู้กี่ารู้จั�ดเกี่#บื้ข้�อม�ล(Data
storage management) กี่ารู้แปลงข้�อม�ลและกี่ารู้น)าเสินอ
ข้�อม�ล(Data transformation and presentation)
กี่ารู้จั�ดกี่ารู้ด�านความปลอดภ�ย(Security management)
ควบื้ค2มกี่ารู้เข้�าใช่�งานข้องผ��ใช่�พรู้�อมกี่�น(Multiuser accesss control)
กี่ารู้จั�ดกี่ารู้เรู้�องกี่ารู้สิ)ารู้องและกี่��คนข้�อม�ล(Backup and recovery management)
กี่ารู้จั�ดกี่ารู้ความคงสิภาพข้องข้�อม�ล(Data integrity management)
ภาษาในกี่ารู้เข้�าถึ�งข้�อม�ลและสิ,วนปรู้ะสิานผ��ใช่�ในโปรู้แกี่รู้มปรู้ะย2กี่ต้&(Database access languages and application programming interfaces)
หน�าที่��ข้อง DBMS
กี่ารู้ปรู้ะย2กี่ต้&ใช่�รู้ะบื้บื้งานฐานข้�อม�ล กี่ารู้ซ�อข้องจัากี่ซ�เปอรู้&มาเกี่#ต้
กี่ารู้ซ�อข้องโดยใช่�บื้�ต้รู้เครู้ด�ต้ กี่ารู้จัองต้�6วเครู้�องบื้�นผ,านต้�วแที่นจั)าหน,าย กี่ารู้ใช่�บื้รู้�กี่ารู้ห�องสิม2ด กี่ารู้ใช่�งานอ�นเที่อรู้&เน#ต้ กี่ารู้เรู้�ยนในมหาว�ที่ยาล�ย กี่ารู้บื้รู้�หารู้ในองค&กี่รู้ ฯลฯ อ�กี่มากี่มาย
องค&ปรู้ะกี่อบื้ข้องรู้ะบื้บื้ฐานข้�อม�ล
ฮ�ร�ดัแวร�Hardware
ซ้ำอฟ้ต�แวร�Software
ข�อมู�ลำData
กระบวนก�รProcedure
บ*คลำ�กรPeople
เคร$,อง มูน*ษย่�
สะพิ�น
ฮารู้&ดแวรู้&(Hardware)หมายถึ�งคอมพ�วเต้อรู้&และ
อ2ปกี่รู้ณ์&รู้อบื้ข้�างซ��งเกี่��ยวข้�องกี่�บื้กี่ารู้ใช่�งานฐานข้�อม�ล
ซอฟต้&แวรู้&(Software)หมายถึ�ง รู้ะบื้บื้ปฏิ�บื้�ต้�กี่ารู้ ,
รู้ะบื้บื้จั�ดกี่ารู้ฐานข้�อม�ล , โปรู้แกี่รู้มปรู้ะย2กี่ต้& และโปรู้แกี่รู้มย�ที่�ล�ต้��ต้,าง ๆ ที่��เกี่��ยวข้�องกี่�บื้กี่ารู้ใช่�งานในรู้ะบื้บื้งานฐานข้�อม�ล
ข้�อม�ล(Data)หมายถึ�ง ข้�อม�ลที่��จั�ดเกี่#บื้อย�,ในฐาน
ข้�อม�ล เพ�อน)าไปใช่�ในกี่ารู้ปรู้ะมวลต้,อไป
ใน DBMS จัะสิ,วนที่��ใช่�อธ์�บื้ายข้�อม�ล ซ��งจัะเป4นข้�อม�ลที่��บื้รู้รู้ยายค2ณ์ล�กี่ษณ์ะข้องข้�อม�ล(meta data)
โพรู้ซ�เยอรู้&(Procedure)หมายถึ�ง ค)าสิ��งและกี่ฎต้,าง ๆ ใน
ข้��นต้อนกี่ารู้ปฏิ�บื้�ต้�งานที่��เกี่��ยวข้�องกี่�บื้ช่2ดค)าสิ��ง กี่ฏิเกี่ณ์ฑ์&ในกี่ารู้ออกี่แบื้บื้และกี่ารู้ใช่�งานฐานข้�อม�ล
บื้2คลากี่รู้(People)หมายถึ�งบื้2คคลที่��เกี่��ยวข้�องกี่�บื้รู้ะบื้บื้
งานฐานข้�อม�ล ที่��งสิ,วนที่��เป4นกี่ารู้ออกี่แบื้บื้และกี่ารู้ใช่�งาน
เช่,น ผ��ใช่�ที่��วไป , น�กี่ออกี่แบื้บื้ฐานข้�อม�ล , น�กี่ออกี่แบื้บื้รู้ะบื้บื้
ผ��ที่��ม�สิ,วนเกี่��ยวข้�องกี่�บื้กี่ารู้ใช่�งานฐานข้�อม�ลผ��บื้รู้�หารู้ฐานข้�อม�ล(Database
Administrator :DBA)น�กี่ออกี่แบื้บื้ฐานข้�อม�ล(Database
Designer)น�กี่พ�ฒนาโปรู้แกี่รู้ม(Application
Developers)ผ��ใช่�(End User)
ข้�อด�ข้องกี่ารู้ใช่�งานฐานข้�อม�ล ม�ความเป4นอ�สิรู้ะต้,อกี่�นรู้ะหว,างโปรู้แกี่รู้ม
และข้�อม�ล ลดความซ)�าซ�อนข้องข้�อม�ล เพ��มความต้รู้งกี่�นข้องข้�อม�ล สิามารู้ถึใช่�ข้�อม�ลรู้,วมกี่�นได� บื้�งค�บื้ให�เป4นมาต้รู้ฐานเด�ยวกี่�นได� ป?องกี่�นและควบื้ค2มกี่ารู้เข้�าถึ�งข้�อม�ลได�
ง,ายข้��น ลดป@ญหาในกี่ารู้บื้)ารู้2งรู้�กี่ษาโปรู้แกี่รู้ม
ข้�อจั)ากี่�ดข้องรู้ะบื้บื้กี่ารู้จั�ดกี่ารู้ฐานข้�อม�ล ซ�บื้ซ�อน(Complexity) ข้นาดใหญ,(Size) รู้าคาข้องDBMSแพง(Cost of DBMS) รู้าคาข้องฮารู้&ดแวรู้&แพงต้ามไปด�วย(Additional
hardware cost) ค,าใช่�จั,ายในกี่ารู้แปลงรู้ะบื้บื้(Cost of
conversion) ผลกี่รู้ะที่บื้จัากี่ความเสิ�ยหายสิ�ง(Higher
impact of a failure)
ช่น�ดข้องรู้ะบื้บื้ฐานข้�อม�ลในกี่ารู้จั)าแนกี่ช่น�ดข้องรู้ะบื้บื้ฐาน
ข้�อม�ลม�เกี่ณ์ฑ์&ในกี่ารู้แบื้,งเป4น 2 ช่น�ดคอ
แบื้,งต้ามล�กี่ษณ์ะกี่ารู้ใช่�งานแบื้,งต้ามสิถึานที่��ต้� �ง
ช่น�ดข้องฐานข้�อม�ล:ล�กี่ษณ์ะกี่ารู้ใช่�งาน
ฐานข้�อม�ลที่��ม�ผ��ใช่�คนเด�ยว(Single-User) บื้างครู้��งเรู้�ยกี่ว,า Stand alone database หรู้อ Desktop database
ช่น�ดข้องฐานข้�อม�ล:ล�กี่ษณ์ะกี่ารู้ใช่�งาน ฐานข้�อม�ลที่��ม�ผ��ใช่�ครู้��งละหลายคน(Multi-
User) รู้ะบื้บื้ฐานข้�อม�ลแบื้บื้น��จัะสิน�บื้สิน2นกี่ารู้ใช่�
งานข้องผ��ใช่�หลายคนในเวลาเด�ยวกี่�น
ช่น�ดข้องฐานข้�อม�ล : สิถึานที่��ต้� �งข้องฐานข้�อม�ล
ฐานข้�อม�ลแบื้บื้รู้วมศู�นย&(Centralized Database System)
Client
Client
Client
Client
Server
ช่น�ดข้องฐานข้�อม�ล : สิถึานที่��ต้� �งข้องฐานข้�อม�ลฐานข้�อม�ลแบื้บื้กี่รู้ะจัาย(Distributed Database
System)