PowerPoint Template

Download Report

Transcript PowerPoint Template

Chapter 2 : สถาปั ตยกรรมระบบฐานข้ อมูล
(Database Systems Architecture)
4122205Z ระบบฐานข้ อมูลและการออกแบบ
อ.คเชนทร์ ซ่ อนกลิ่น
1
2
วัตถุประสงค์
• ทราบถึงแนวคิดและความสาคัญของสถาปั ตยกรรมระบบฐานข้ อมูล
• บอกวัตถุประสงค์ของสถาปั ตยกรรม 3 ระดับของ ANSI-SPARC ได้
• อธิบายเกี่ยวกับสถาปั ตยกรรม 3 ระดับของ ANSI-SPARC ได้ อย่าง
ถูกต้ อง
• เข้ าใจถึงสคีมา (Schema) การแปลงรูป (Mapping) และอินสแตนซ์
(Instance)
ทบทวนโครงสร้ างของแฟ้มข้ อมูล
ฟิลด์
ไบต์
รหัสผูใ้ ช้
B00514
A00128
A01245
C13244
.
.
.
ชื่อ - นามสกุล
สุวารี ใจสบาย
กนก ยินดี
เพ็ญศรี สุขสม
บุญมี ยินดี
.
.
.
เพศ
ที่อยู่
ญ
34 คลองสาน
ช
126 บางพลัด
ญ
49/2 จตุจกั ร
ช
66 ลาดพร้าว
.
.
.
.
.
.
เรคอร์ด
เบอร์ติดต่อ
025478556
026441255
014544255
066458554
.
.
.
วันเกิด
12/01/1977
09/07/1986
05/11/1971
26/04/1980
.
.
ไฟล์
4
ศัพท์ เทคนิคที่ควรทราบเกี่ยวกับฐานข้ อมูล
ศัพท์ เทคนิค
เอนทีตี ้ (Entity),รี เลชัน่ (Relation)
ทูเพิล (Tuple)
แอททริบิวต์ (Attribute)
คาร์ ดนิ าลิตี ้ (Cardinality)
คีย์หลัก (Primary Key)
ศัพท์ ท่ ัวไป
ตาราง (Table)
แถว (Row) , เรคอร์ ด (Record)
คอลัมน์ (Column), ฟิ ลด์ (Field)
จานวนแถว (Number of Rows)
ค่าเอกลักษณ์ (Unique Identifier)
เอนทีตี ้ (Entity)
• สิง่ ต่างๆ(Things) หรื อ วัตถุ(Objects) ที่ถกู รวบรวมเป็ นข้ อมูลใน
ฐานข้ อมูล
• รูปธรรม เช่น นักศึกษา,อาจารย์,หนังสือ
นามธรรม เช่น วิชา,คณะ,การลงทะเบียน
• ประกอบด้ วย แอททริบวิ ต์ (Attribute) และ ทูเพิล (Tuple)
แอททริบวิ ต์ (Attribute)
• ข้ อมูลที่ใช้ อธิบายคุณสมบัติหรื อคุณลักษณะของแต่ละเอนทีตี ้
Attribute
Attribute
Attribute
Attribute
รหัสประจาตัว
ชื่อ-สกุล
คณะ
ที่อยู่
นักศึกษา
54652235
มานิด สุขใจ
วิทยาศาสตร์
อุตรดิตถ์
54652236
สว่าง นาการ
วิทยาศาสตร์
อุตรดิตถ์
7
ตัวอย่ าง
Entity หรื อ
Relation
(ตาราง)
Attribute (Field )
ตารางนักศึกษา
สารสนเทศ
(Information)
Tuple (Record)
8
Database
ฐานข้ อมูล
9
Database System
แผนกบัญชี
แผนกประชาสัมพันธ์
ฝ่ ายบริหาร
DATABASE
10
องค์ ประกอบของระบบฐานข้ อมูล
ฮาร์ ดแวร์
- หน่วยนาข้ อมูลเข้ า
- หน่วยนาข้ อมูลออก
- หน่วยประมวลผลกลาง
- หน่วยเก็บข้ อมูลสารอง
- อุปกรณ์การสื่อสาร
บุคลากร
- ผู้ใช้ งาน
- ผู้ควบคุมระบบ
- ผู้พฒ
ั นาโปรแกรม
ซอฟต์ แวร์
- โปรแกรมระบบปฏิบตั ิการ
- โปรแกรมจัดการฐานข้ อมูล
- โปรแกรมประยุกต์
ข้ อมูล
ขัน้ ตอนการดาเนินงาน
- ขั ้นตอนการปฏิบตั ิการของผู้ปฏิบตั ิงาน
11
ระบบจัดการฐานข้ อมูล
ซอฟท์แวร์ ระบบชนิดหนึ่ง ที่ถกู สร้ างขึ ้นมาเพื่อจัดการ ข้ อมูลในฐานข้ อมูล เป็ น
ตัวกลางระหว่างผู้ใช้ กบั ฐานข้ อมูล
ความสามารถเบือ้ งต้ น
• สร้ างตารางข้ อมูล
• เพิ่ม ปรับปรุง เรี ยกค้ นข้ อมูล
• เก็บรายละเอียดเกี่ยวกับข้ อมูลไว้ ใน Data Dictionary
• มีระบบเสริมการทางาน
• มีระบบสารองข้ อมูล
• สนับสนุนเครื่ องมือการทารายงาน
ส่ วนประกอบของระบบจัดการฐานข้ อมูล
DBMS
SQL (Structure Query Language)
พจนานุกรมข้ อมูล (Data Dictionary)
โปรแกรมอานวยความสะดวก (General Utilities)
โปรแกรมช่วยสร้ างโปรแกรมประยุกต์ (Applicaton
Generators)
โปรแกรมช่วยสร้ างรายงาน (Report Generators)
แสดงลาดับขัน้ การสื่อสารระหว่ างซอฟต์ แวร์ และระบบปฏิบัตกิ าร
ซอฟต์แวร์ ประยุกต์
ใช้ งาน/จัดการกับฐานข้ อมูล
ระบบจัดการฐานข้ อมูล
จัดเก็บข้ อมูลไว้ ในฐานข้ อมูล
ระบบปฏิบตั ิการ
-อ่านข้ อมูลจากดิสก์(ฐานข้ อมูล)
-เก็บข้ อมูลลงไปในดิสก์
ฮาร์ ดแวร์
ซอฟท์ แวร์ ระบบจัดการฐานข้ อมูล
ชื่อซอฟท์ แวร์
บริษัทผู้ผลิต
หมายเหตุ
DB2
IBM
ซอฟท์แวร์ ลขิ สิทธิ์
Informix
IBM
ซอฟท์แวร์ ลขิ สิทธิ์
Ingres
Ingres corporation
ฟรี ซอฟท์แวร์
InterBase
Borland
ซอฟท์แวร์ ลขิ สิทธิ์
MaxDB
MySQL AB
ฟรี ซอฟท์แวร์
Microsoft Access
Microsoft
ซอฟท์แวร์ ลขิ สิทธิ์
Microsoft SQL Server
Microsoft
ซอฟท์แวร์ ลขิ สิทธิ์
MySQL
MySQL AB
ฟรี ซอฟท์แวร์
Oracle
Oracle
ซอฟท์แวร์ ลขิ สิทธิ์
PostgreSQL
PostgreSQL Global Development Group
ฟรี ซอฟท์แวร์
Sybase
Sybase Inc.
ซอฟท์แวร์ ลขิ สิทธิ์
15
สถาปั ตยกรรมระบบฐานข้ อมูล
เนื่องจากผู้ใช้ มีมมุ มองและ วิธีการใช้ งานแตกต่างกันถึงแม้ วา่ จะเป็ นข้ อมูลชุด
เดียวกันก็ตาม จึงได้ มีกาหนดมาตรฐานโดย ANSI /SPARC (American National
Standards Institute/System Planning and Requirements Committee)
โดยมีการแบ่งระดับข้ อมูลออกเป็ น 3 ระดับ เรี ยกว่า สถาปั ตยกรรมระบบฐานข้ อมูล
หมายถึง การอธิบายเกี่ยวกับโครงสร้ างและส่วนประกอบหลักที่นามาประกอบ
รวมกันเป็ นระบบฐานข้ อมูล
16
สถาปั ตยกรรมระบบฐานข้ อมูล
สถาปั ตยกรรมของฐานข้ อมูลมี 3 ระดับ ประกอบด้ วย
1. ระดับภายนอก (External level)
2. ระดับความคิด (Concept level)
3. ระดับภายใน (Internal level)
17
สถาปั ตยกรรมระบบฐานข้ อมูล
1. ระดับภายนอก (External level)
เกี่ยวข้ องกับผู้ใช้ งานมากที่สุด เป็ นระดับการมองหรื อวิว(View)ของ
ข้ อมูลภายในฐานข้ อมูลสาหรับผู้ใช้ งานแต่ละคน เป็ นระดับที่มีการนาข้ อมูล
จากฐานข้ อมูลไปใช้ งาน โดยผู้ใช้ แต่ละคนสามารถเลือกอ่านข้ อมูลเฉพาะที่ตน
สนใจหรื อต้ องการใช้ เท่านัน้ วิวของข้ อมูลจะถูกดึงมาจาก Conceptual
Schema และสิง่ ที่ใช้ อธิบายวิวข้ อมูลที่ถกู ดึงมาจากฐานข้ อมูลที่อยูใ่ นระดับ
External นี ้จะเรี ยกว่า External Schema หรื อ Subschema(มุมมองผู้ใช้ งาน)
ซึง่ สามารถมีได้ หลาย Subschema ตามจานวนผู้ใช้
18
สถาปั ตยกรรมระบบฐานข้ อมูล
2. ระดับความคิด (Concept level)
เป็ นโครงสร้ างหลักของระบบโดยรวม เป็ นระดับของการออกแบบ
ฐานข้ อมูล ว่าจะเก็บข้ อมูลอะไร (what) และมุง่ เน้ นความสัมพันธ์
(relationship) ระหว่างข้ อมูล ผลลัพธ์ที่ได้ จะทาให้ เกิดสิ่งที่เรี ยกว่า Schema
(มุมมองระบบ) ในระดับนี ้จะเรี ยกว่า Conceptual Schema อธิบายว่า
- ฐานข้ อมูลที่สร้ างประกอบด้ วย Entity อะไรบ้ าง
- แต่ละ Entity ประกอบด้ วยเขตข้ อมูล(Attribute) ใดบ้ าง
- ความสัมพันธ์ (Relationship) แต่ละ Entity เป็ นอย่างไร
โดยจะผ่านการวิเคราะห์จาก นักวิเคราะห์และออกแบบระบบ และ
ผู้บริหารฐานข้ อมูล (DBA)
19
สถาปั ตยกรรมระบบฐานข้ อมูล
3. ระดับภายใน (Internal level)
เป็ นระดับของการจัดเก็บฐานข้ อมูลในหน่วยเก็บข้ อมูลสารองจริง ใน
ระดับนี ้ผู้ที่เกี่ยวข้ องส่วนใหญ่ คือ ผู้เขียนโปรแกรมประยุกต์ และผู้บริหาร
ฐานข้ อมูล (DBA) ซึง่ จะเกี่ยวกับการจัดการข้ อมูลโดยมีระบบการจัดการ
ฐานข้ อมูลเป็ นตัวช่วยในการกาหนดวิธีการเข้ าถึงข้ อมูล การค้ นหา การปรับปรุง
การเชื่อมโยงระหว่างตาราง รวมทังการบ
้
ารุงรักษาฐานข้ อมูล นอกจากระบบ
บริหารฐานข้ อมูลแล้ วยังรวมถึงระบบปฏิบตั ิการที่ต้องนามาใช้ ร่วมกันด้ วย
Schema และ Instance
• โครงร่างฐานข้ อมูล (Database Schema) คือ รายละเอียดภาพรวมของฐานข้ อมูล
มี 3 ชนิด
 โครงร่ างภายนอก (External Schema)
- เสนอข้ อมูลได้ หลายมุมมอง
 โครงร่ างแนวคิด (Conceptual Schema)
- เกี่ยวข้ องกับเอนทีตี ้,แอททริบิวต์,ความสัมพันธ์
 โครงร่ างภายใน (Internal Schema)
- ข้ อมูลจริงๆที่ถกู จัดเก็บ
Schema และ Instance (ต่ อ)
• แผนภาพโครงร่าง (Schema Diagram) คือ แผนภาพแสดงโครงร่างฐานข้ อมูล
(Database schema)
• Schema construct คือ ส่วนประกอบของโครงร่าง (Schema) หรื อวัตถุในโครงร่าง
เช่น STUDENT, COURSE เป็ นต้ น
• Database Instance คือ ข้ อมูลจริงที่เก็บไว้ ในฐานข้ อมูล ณ เวลาใดเวลาหนึ่ง หรื อ
อาจเรี ยกว่า สถานะฐานข้ อมูล (Database State) หรื อ Extension
แสดงสถาปั ตยกรรมฐานข้ อมูล 3 ระดับ
วิ ว 1
วิ ว 2
...
วิ ว n
ระดับภายนอก
External level
สคีมา (Schema)
(Global logical view)
ระดับแนวคิ ด
Conceptual level
Physical
Storage
of data
ระดับภายใน
Internal level
Mapping
จากมุมมองที่แตกต่าง ความหลากหลายของผู้ใช้ งานที่มีตอ่ ฐานข้ อมูล
เดียวกัน จึงต้ องมีการแม็ป (Mapping) หมายถึง การแปลงหรื อเชื่อมโยงข้ อมูลใน
มุมมองจากสถาปั ตยกรรมระดับหนึง่ ไปสูอ่ ีกระดับ ซึง่ จะมี 2 ลักษณะดังนี ้
1.การแปลงระหว่ างระดับภายนอกและระดับแนวคิด (External /
Conceptual Mapping)
เป็ นการถ่ายทอดมุมมองข้ อมูลในสถาปั ตยกรรมระดับภายนอก เป็ น
สถาปั ตยกรรมระดับแนวคิดเพื่อแปลงข้ อมูลระดับภายนอกเป็ นการกาหนด
โครงสร้ างของฐานข้ อมูล ให้ สามารถครอบคลุมความต้ องการหรื อมุมมองต่างๆ
ของผู้ใช้ เช่น การแปลงข้ อมูลระดับภายนอกเป็ นตารางหรื อแอททริ บิวต์ตา่ งๆ
Mapping (ต่ อ)
2. การแปลงระหว่ างระดับแนวคิดและระดับภายใน (Conceptual /
Internal Mapping)
เพื่อกาหนดหรื อเปลี่ยนแปลงโครงสร้ างในเชิงกายภาพ เช่น กาหนด
โครงสร้ างของเรคอร์ ด (Record) และเขตข้ อมูล หรื อ ฟิ ลด์(Field) ที่จะนาไปใช้ ใน
การจัดเก็บข้ อมูล ซึง่ เป็ นหน้ าที่ของ DBMS
แสดงสถาปั ตยกรรมฐานข้ อมูล 3 ระดับ
ระดับภายนอกหรื อวิว
(External Level)
ระดับแนวคิด
(Conceptual Level)
การลงทะเบียนนักศึกษา
รหัสน.ศ. ชื่อ ปี /เทอม__
รายงานเกรดนักศึกษา
รหัสน.ศ. ชื่อ ปี /เทอม__
รหัสวิชา
รหัสวิชา
ชื่อวิชา
…
External/Conceptual Mapping
TABLE ENROLL
EN_YEAR SMALLINT,
EN_TERM CHARACTER(1),
EN_SJID
CHARACTER(7),
EN_STID CHARACTER(9),
EN_GRD CHARACTER(2)
ระดับภายใน
(Internal Level)
ชื่อวิชา
เกรด
TABLE SUBJECT
SUB_ID
CHARACTER(7),
SUB_NAME CHARACTER(15),
SUB_UNIT SMALLINT
Conceptual/internal mapping

ประโยชน์ ของสถาปั ตยกรรมของฐานข้ อมูล
1. มุมมองข้ อมูลของผู้ใช้ งาน (View of each user)
สถาปั ตยกรรมฐานข้ อมูลในแต่ละระดับจะมี DBMS ทาหน้ าที่แปล
(Map) ระดับข้ อมูลจากระดับหนึง่ ไปอีกระดับหนึง่ ซึง่ DBMS จะต้ องมีการ
ตรวจสอบ Schema เพื่อให้ เกิดความถูกต้ องตรงกัน การ Map หรื อการแปล
ระดับข้ อมูลจะทาให้ เกิดประโยชน์ด้านต่าง ๆ ดังต่อไปนี ้
1.1. ระดับความคิดและระดับภายนอก : ทาให้ ผ้ ใู ช้ งานฐานข้ อมูล
สามารถมีมมุ มองข้ อมูลที่แตกต่างกัน
1.2. ระดับแนวคิดและระดับภายใน : ทาให้ ผ้ ใู ช้ งานฐานข้ อมูลไม่
จาเป็ นต้ องทราบว่าข้ อมูลที่ต้องการใช้ นนถู
ั ้ กจัดเก็บอยูอ่ ย่างไรในดิสก์ จะเป็ น
หน้ าที่ของ DBMS ที่จะดูวา่ ข้ อมูลที่ผ้ ใู ช้ ต้องการนันถู
้ กจัดเก็บอยู่ ณ ตาแหน่งใด
ในดิสก์ แล้ วทาการดึงข้ อมูลนันจากดิ
้
สก์มาให้ แก่ผ้ ใู ช้
ประโยชน์ ของสถาปั ตยกรรมของฐานข้ อมูล (ต่ อ)
2. ความเป็ นอิสระของข้ อมูล (Data Independence)
คือ ผู้ใช้ ไม่จาเป็ นต้ องแก้ ไขโปรแกรมทุกครัง้ เมื่อมีการเปลี่ยนแปลง
โครงสร้ างหรื อข้ อมูลในระดับแนวคิดและระดับภายใน โดยจะปล่อยให้ DBMS
เป็ นตัวจัดการเชื่อมข้ อมูลระดับภายนอกกับระดับแนวคิด และระดับแนวคิดกับ
ระดับภายในเอง ความอิสระของข้ อมูลจะมีอยู่ 2 ชนิด ดังนี ้
2.1. ความอิสระของข้ อมูลเชิงตรรกกะ (Logical Data Independence)
เมื่อมีการเปลี่ยนแปลงในระดับแนวคิด เช่น การเพิ่ม หรื อเปลี่ยนแปลง
ขนาดของเขตข้ อมูล จะไม่มีผลกระทบโปรแกรมประยุกต์ที่เขียนขึ ้นเพื่อให้ ได้ วิว
(View) ตามมุมมองระดับภายนอก เช่น เมื่อสร้ างรายงานเกรดนักศึกษาแล้ ว
และมีการเพิ่มเขตข้ อมูล หรื อฟิ ลด์อาจารย์ผ้ สู อน (EN_TEACHER) ในตารางการ
ลงทะเบียน (TABLE ENROLL) ก็จะไม่กระทบกับโปรแกรมที่สร้ างรายงานเกรด
นักศึกษา
ประโยชน์ ของสถาปั ตยกรรมของฐานข้ อมูล (ต่ อ)
2.2. ความอิสระของข้ อมูลเชิงกายภาพ(Physical Data
Independence)
คือ ผลของการเปลี่ยนแปลงโครงสร้ างไฟล์นนจะไม่
ั้
สง่ ผลกระทบใด ๆ
ต่อ โครงร่างแนวคิดและระดับภายใน เช่น เปลี่ยนโครงสร้ างไฟล์แบบเรี ยงลาดับ
เป็ นแบบดัชนี, การเปลี่ยนแปลงโครงสร้ างการจัดเก็บข้ อมูลด้ วยการใช้ อปุ กรณ์
จัดเก็บข้ อมูลที่แตกต่างไปจากเดิม
รู ปแสดงความอิสระในข้ อมูลและสถาปั ตยกรรม 3 ระดับของ ANSI-SPARC
External
Schema
External
Schema
External/Conceptual
mapping
External
Schema
Logical data Independence
Conceptual
Schema
Conceptual/Internal
mapping
Physical data Independence
Internal
Schema
วัตถุประสงค์ ของสถาปั ตยกรรมฐานข้ อมูล
1. ผู้ใช้ งานไม่จาเป็ นต้ องสนใจในรายละเอียดเกี่ยวกับโครงสร้ างการจัดเก็บข้ อมูล
ไม่วา่ จะจัดเก็บแบบเรี ยงลาดับ, แบบดัชนี จะปล่อยให้ เป็ นหน้ าที่ของ DBMS เป็ น
ตัวจัดการ
2. ผู้ใช้ งานแต่ละคนสามารถเข้ าถึงข้ อมูลชุดเดียวกัน และแสดงข้ อมูลเพียง
บางส่วนเท่าที่จาเป็ น โดยไม่ต้องแสดงข้ อมูลให้ ดทู งหมด
ั้
3. ความอิสระของข้ อมูล คือ ไม่ต้องทาการแก้ ไขโปรแกรมทุกครัง้ เมื่อมีการ
เปลี่ยนแปลงโครงสร้ างของข้ อมูล
31
สรุ ป
สถาปั ตยกรรมของระบบฐานข้ อมูลแบ่งเป็ น 3 ระดับ คือ ระดับภายนอก ระดับ
แนวคิด และระดับภายใน ซึง่ เป็ นรูปแบบและโครงสร้ างที่ใช้ กบั ระบบฐานข้ อมูล
โดยทัว่ ไป แต่ละระดับจะมี DBMS ทาหน้ าที่ในการ Mapping หรื อ แปลงข้ อมูล
จากระดับหนึง่ ไปสูร่ ะดับหนึง่ ซึง่ ทาให้ เกิดประโยชน์หลายด้ าน เช่น การแปลง
ระหว่างระดับภายนอกและระดับแนวคิด (External / Conceptual Mapping) จะ
ทาให้ สร้ างมุมมองของข้ อมูลที่แตกต่างกันให้ กบั ผู้ใช้ งานแต่ละคนได้ นอกจากนี ้ยัง
ทาให้ เกิดความเป็ นอิสระกันของข้ อมูลและโปรแกรมประยุกต์ สาหรับการแปลง
ระหว่างระดับแนวคิดและระดับภายใน (Conceptual / Internal Mapping) จะ
ทาให้ ผ้ ใู ช้ งานแต่ละคนไม่จาเป็ นต้ องทราบว่าข้ อมูลที่ตนเองใช้ นนั ้ มีการเก็บอยู่
อย่างไร นอกจากนี ้การเปลี่ยนแปลงวิธีในการจัดเก็บข้ อมูลในระดับกายภาพก็ไม่มี
ผลกระทบต่อการออกแบบฐานข้ อมูลในระดับแนวคิดแต่อย่างใด
คาถามท้ ายบทที่ 2
1. องค์ประกอบของระบบฐานข้ อมูล ประกอบด้ วยอะไรบ้ าง
2. สถาปั ตยกรรมของฐานข้ อมูลมีกี่ระดับ ประกอบด้ วยอะไรบ้ าง
3. จงบอกประโยชน์ของสถาปั ตยกรรมของฐานข้ อมูลพร้ อมอธิบายมาให้ พอเข้ าใจ
4. สถาปั ตยกรรมฐานข้ อมูลในระดับใด ที่มีสว่ นเกี่ยวข้ องกับผู้ใช้ งานมากที่สดุ