Scribe Book6

Scribe-book: Database

Advantages of Using Databases
รวมข้อมูลไว้ที่ๆเดียว
ลดความซ้ำซ้อนของข้อมูล
สร้างความปลอดภัย

Data Life Cycle Process
ข้อมูลจากภายนอกถูกจัดเก็บไว้ใน Data-warehouse
Data-mart = subset ของ Data-warehouse
เพื่อให้การเข้าถึงข้อมูลเร็วขึ้น
ผู้ใช้ควรเห็นข้อมูลเท่าที่จำเป็นเท่านั้น ไม่ควรเห็นทั้งหมด
Data-mining ใช้หา pattern ที่อยู่ใน database
ความรู้ต่างๆที่ได้ ก็จะนำไปใช้ในส่วนอื่นของภาคธุรกิจต่อไป

Hierarchy of Data
Bit
Byte = 8 bits
Field = ประเภทต่างๆของข้อมูล (เรียกอีกอย่างว่า attribute)
Record = ระเบียงข้อมูล = Field ต่างๆที่เกี่ยวข้องกันมารวมกัน
File = Record ต่างๆที่เกี่ยวข้องกันมารวมกัน (เรียกอีกอย่างว่า Table)
Database = กลุ่มของ File ที่เกี่ยวข้องเชื่อมโยงกัน

Database มีหลายประเภท
ธุรกิจขนาดใหญ่ Oracle, IBM, DB2
ธุรกิจขนาดกลาง MySQL, Microsoft SQL
ธุรกิจขนาดเล็ก Microsoft Access

DBMS
เป็นตัวกลางระหว่างข้อมูล กับ Application ที่ใช้ข้อมูล
หน้าที่ของ DBMS
สร้าง
จัดเก็บ
จัดการ
ดึงข้อมูลใหม่

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

Relational Database
Primary key : Field ที่ข้อมูลไม่มีความซ้ำซ้อนกัน มีความแตกต่าง ไม่ควรเปลี่ยนแปลงได้
ในหนึ่ง File อย่างน้อยต้องมี Field ที่เป็น Primary key อย่างน้อย 1 field

Case
ในอดีตมีนักศีกษากลุ่มหนึ่งได้ไปทำ database ให้สถานที่อโคจรแห่งหนึ่งสำหรับบริการผู้ชายที่อาบน้ำไม่เป็น โดยใช้ Primary key เป็นรหัสของผู้ให้บริการ (ซึ่งไม่ดี เพราะมันเปลี่ยนแปลงได้ เพราะอยากได้เลขสวย)

Components องค์ประกอบ
Data definition language : ภาษาระบุประเภท
Data manipulation language : ภาษาควบคุมข้อมูล ที่นิยมกันคือ SQL
Data dictionary : อธิบายโครงสร้างข้อมูล การเข้าถึง อำนาจในการเข้าถึง

Types
Relational database
นิยมที่สุด
นำเสนอข้อมูลสองมิติ ในรูปของตาราง ถูกเชื่อมโยงโดย Primary key และ Foreign key
Object-oriented database
จัดเก็บข้อมูลในเชิง object ได้ อาทิ ภาพ ไฟล์วิดีโอ
Multidimensional database
จัดเก็บข้อมูลมากกว่าสองมิติ
Cloud
จัดเก็บไว้บนอินเตอร์เน็ท

Designing database
Type
Conceptual : ออกแบบตามธุรกิจ
Physical : ข้อมูลเก็บที่ไหนอย่างไร
ขั้นตอน
เขียน ERD: Entity relationship diagram

Entity = หน่วยที่ใช้ในการจัดเก็บข้อมูล (ความหมายเดียวกับ File, Table)
กรอบสี่เหลี่ยมมีชื่ออยู่ข้างบน
Attribute = คุณลักษณะของ Entity (ความหมายเดียวกับ Field, Column)
รายการในกล่อง
เวลาออกแบบให้ขีดเส้นใต้ Primary key 1 เส้น
Relationship (Association) = ความสัมพันธ์มี 3 ประเภท
one-to-one เช่น นักศึกษา กับ อีเมล์นิด้า
ตารางที่เป็น one-to-one รวมกันได้ ที่แยกเพื่อความปลอดภัย
one-to-many เช่น นักศึกษาทำIS กับ อาจารย์ที่ปรึกษา
นำ Primary ของด้านที่เป็น one มาสร้างเป็น Foreign key ในฝั่งที่เป็น many
many-to-many อาทิ นักศึกษา กับ วิชาเรียน, นักแสดงกับหนัง
สร้าง Bridge entity โดยมี Primary key จากทั้งสอง entity โดยจะเกิด Primary key ตัวใหม่จากที่เกิดจากทั้งสองตัวผสมกัน
ทำจริงในซอฟท์แวร์

Steps
มี Entity อะไรบ้าง: Student, Courses, Professor, Registration
ระบุ Attribute: Student มี SID, Name, Email; Professor มี PID, Name, Email; Course มี CID, Course, Room, Credit
ระบุ Relationship: นักศึกษามีอาจารย์หนึ่งคน อาจารย์หนึ่งคนมีหลายนักศึกษา เป็น one-to-many ฯลฯ

Centralize vs Distribute
C ข้้อมูลอัปเดทเหมือนกันเสมอ
D ป้องกันความเสี่ยงได้ดี
D แบ่งเป็น Partition เก็บเฉพาะข้อมูลที่จำเป็นแก่การทำงานในรูป DataMart กับ Duplicate เหมือนส่วนกลางทุกประการ

DataWarehouse
เก็บทั้งภายในภายนอกองค์กร
มีการแปลงข้อมูลก่อนเก็บ (extract tranform)
แบ่งเป็น DataMart เพื่อจำกัดการเข้าถึงของแต่ละแผนก
DataMining หาสิ่งที่ได้จากข้อมูลโดยอัตโนมัติ
OLAP เพื่อดูความสัมพันธ์ในรูปของ Cube ฯลฯ
Text mining หา pattern ในรูป text
Web mining เอา datamining มาใช้กับพฤติกรรมการใช้เว็บไซต์

Ensuring quality
data quality audit
data cleansing สร้างกฎเพื่อป้องกันไม่ให้ผู้ใช้กรอกข้อมูลผิดพลาด

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License