I'm Top Oracle DBA

What is a Database

Database คืออะไร

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

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

DBMS(Database Management System)

  • Database Management System เป็น program ที่ใช้ จัดการระบบฐานข้อมูล ในรูปแบบของ GUI จัดการในที่นี้หมายถึง การกระทำกับ ฐานข้อมูลนั่นเอง
    • Select
    • Insert
    • Update
    • Delete

Goals of DBMS

  • หาวิธีจัดเก็บข้อมูล
  • สามารถดึงข้อมูลมาใช้ได้ (ซึ่งต้องเป็นวิธีที่สะดวก และมีประสิทธิภาพ)
  • ในการจัดการ ระบบฐานข้อมูล ให้มีประสิทธิภาพ ต้องอาศัยหลักการของ
  • Data Persistency
  • System Reliability
  • Scalability

Schemas of Database

  • เป็น โครงสร้างของข้อมูลทั้งหมด ใน Database และความสัมพันธ์ ทั้งหมด
    • Views Schema (View)
    • Logical Schema (Table)
    • Physical Schema (DB)

 

Three Level of Data Abstraction


Data Independence

เมื่อเปลี่ยนแปลงโครงสร้างข้อมูล ไม่ควรที่จะส่งผลกระทบต่อ Application เดิมที่ใช้อยู่ (การเปลี่ยนแปลงโครงสร้าง ระดับล่าง ต้องไม่กระทบต่อโครงสร้างระดับบน)


Database Languages

  • DDL (Data Definition Languages)
    • Create, Alter, Drop, Truncate
    • Specify the database schema
  • DML (Data Manipulation Languages)
    • Select, Insert, Update, Delete, Modify, Merge
    • Procedural DML
      • Specify How the output
      • Relational Algebra ( C, Pascal, JAVA, Algebra, Cobol)
    • Non Procedural DML (Declarative DML)
      • Specify What the data is require without how
      • Relation Tuple calculus, Relational Domain calculus, SQL, Quel, QBE, Datalog (Prolog)

Key       

Primary Key                ห้ามซ้ำ ห้ามว่าง

Unique Key                  ห้ามซ้ำ ว่างได้

Foreign Key                 ต้องอ้างอิงกับ PK or Unique Key ของ Table ที่เกี่ยวข้อง

Super Key                      Can Uniquely

Candidate Key            Attribute is Super Key

  


Data Types

CHAR(n)                  Character string variable length Maximum length n

VARCHAR(n)        Binary string Fixed length

Binary(n)                 TRUE or FALSE

nCHAR                      Fixed width Unicode string Maximum 4000

nVARCHAR            Variable Width Unicode Maximum 4000

BLOB รูปภาพ, เสียง             Binary Large Object (Up to 65,535 Bytes)

CLOB                                         Character Large Obj


หลักการบริหารจัดการของ Database Transaction Properties (ACID)

ACID เป็นองค์ประกอบที่ยืนยันว่า Transaction Database ทำงานได้อย่างถูกต้อง

A – Atomicity

เสร็จต้องเสร็จทั้งหมด

EX

  1. ใน 1 คำสั่ง มี ทั้งหมด 10 Transaction – เมื่อรันคำสั่ง นั้นๆ success ต้อง success ทั้งหมด 10 Transaction จึงจะเรียก Success
  2. ใน 1 คำสั่ง มี ทั้งหมด 10 Transaction – เมื่อรันคำสั่ง นั้นๆ success แต่ มี Transaction บางตัว error ผลลพธ์นั้นคือไม่ Success

C – Consistency

ความคงอยู่ และถูกต้อง ของข้อมูล

I – Isolation

ต้อง Commit หรือเป็นการยืนยัน ความสำเร็จของ Transaction ด้วยการ Commit หรือเรียกว่าเป็น ขั้นตอนการควบคุมสิ่งที่เกิดขึ้นพร้อมกัน หรือควบคุมข้อมูล เมื่อมี Transaction เกิดขึ้นพร้อมกัน (Concurrency Control)

D – Durability

เก็บรักษาข้อมูลให้ คงอยู่ คงทน และปลอดภัย (หากเกิด ไฟดับ เครื่องserver มีปัญหา ต้องนำข้อมูลกลับมาใช้ใหม่ ให้ได้เหมือนเดิม)


Database Management Software

Database Management Software คือ software ที่ช่วย บันทึก จัดเก็บ จัดการ ข้อมูลทั้งหมด ภายในองค์กร หรือ บริษัท ซึ่ง จะให้ประโยชน์ต่อการใช้งาน หลักๆ คือ ลดความซ้ำซ้อนของข้อมูล, ฺBackup ข้อมูล เพื่อป้องกัน ข้อมูลเสียหาย, เพิ่มความรวดเร็วในการจัดเก็บ หรือ ค้นคืนข้อมูล นั่นเอง

ซึ่งมี Product ที่เรา คุ้นๆหู หรือ เป็นที่นิยม ในการใช้งาน ข้อยกตัวอย่างเพียง 10 อันดับต้นๆ คือ

  1. Oracle Database
  2. MS SQL Server
  3. IBM DB2
  4. SAP Sybase
  5. PostgreSQL
  6. MariaDB
  7. MySQL
  8. Teradata
  9. MySQL
  10. Informix

***หากมีข้อเพิ่มเติม หรือผิดพลาด จุดไหน รบกวนแนะนำด้วยคะ ขอบคุณค่ะ***

***การใช้ ภาษาไทยคำ อังกฤษคำ ในบางข้อ จะสามารถทำให้ เข้าใจได้ง่ายขึ้น***

error: Content is protected !!