SlideShare a Scribd company logo
1 of 20
Download to read offline
Degree of Data Abstraction
Degree of Data Abstraction

• วิธีการหนึ่งในการแยกแยะดาต้าโมเดลต่างๆ สามารถทำได้จากการพิจารณาระดับ
  หรือโครงสร้างของดาต้าโมเดล หรือที่เรียกว่า Data Abstraction
• เปรียบได้กับการสร้างรถยนต์จะต้องมีการแบ่งระดับการทำงานต่างๆก่อนที่จะมา
  เป็นรถยนต์ที่สามารถใช้งานได้
   – นักออกแบบ(Designer) ทำการออกแบบรถต้นแบบ (Conceptual Design)
   – วิศวกร(Engineer) ทำการระบุรายละเอียดของเครื่องยนต์และอุปกรณ์ทาง
       เทคนิคต่างๆ
   – วิศวกร(Engineer) ทำการเขียนแบบเพื่อส่งต่อให้โรงงานฝ่ายผลิตทำการผลิต
       รถยนต์ออกมา

                                                                     #
#
http://www.seriouswheels.com/stuv/VW-Concept-R-Drawing-Retractable-Top-1280x960.htm
http://www.automild.com/mercedes-a-class-e-cell-20-mil-per-charge/mercedes-a-class-e-cell-in-factory/
Degree of Data Abstraction

• ค.ศ.1970 องค์กร the American National Standards
  Institute/Standards Planning and Requirements Committee
  (ANSI/SPARC) ทำการแบ่งระดับของ Data Abstraction ออกเป็น
   – ระดับแนวคิด (Conceptual)
   – ระดับภายใน (Internal)
   – ระดับภายนอก (External)
• Peter Rob และ Carlos Coronel ได้ทำการแบ่งระดับเพิ่มเติมคือ
   – ระดับกายภาพ (Physical)

                                                               #
Degree of Data Abstraction




                             #
ระดับแนวคิด (The Conceptual Model)

• แสดงภาพรวมทั้งหมดของฐานข้อมูล สามารถนำมาใช้เป็นเครื่องมือสื่อสารให้ผู้
  บริหารระดับสูงเข้าใจได้
• แสดงข้อมูลเพื่อให้มนุษย์ (People) เห็นและเข้าใจได้
• ใช้อธิบายและระบุข้อมูลหลักๆ ของระบบฐานข้อมูล ทำให้เข้าใจภาพรวมได้ง่าย
  ยิ่งขึ้น
• เครื่องมือที่นำมาใช้ในการออกแบบเชิงแนวคิดก็คือ Entities Relationship
  Diagram (ER-Diagram) ซึ่งเปรียบเสมือนพิมพ์เขียว (Blueprint) ของฐาน
  ข้อมูล
• กล่าวในทางกลับกันก็คือเราใช้ ER-Diagram ในการอธิบายการออกแบบฐาน
  ข้อมูลระดับแนวคิดนั่นเอง
                                                                     #
ระดับแนวคิด (The Conceptual Model)




                                     #
ระดับแนวคิด (The Conceptual Model)

• ประโยชน์ในการออกแบบระดับแนวคิด
• ทำให้สามารถมองภาพรวมของฐานข้อมูลทั้งหมดได้ง่าย โดยแสดงออก
  มาทางการสร้าง ER-Diagram
• มีความเป็นอิสระทั้งทางด้านซอร์ฟแวร์ (Software Independence)
  และ ฮาร์ดแวร์ (Hardware Independence)




                                                          #
ระดับภายใน (The Internal Model)

• เพื่อแสดงข้อมูลให้ DBMS เข้าใจ (เป็นสิ่งที่ DBMS ต้องการเห็น)
• เป็นการนำเอาสิ่งที่ได้จากการออกแบบเชิงแนวคิดมาทำการปรับปรุง
  ให้เป็นข้อมูลเชิงเทคนิค เพื่อให้เหมาะสมกับการพัฒนาฐานข้อมูลด้วย
  เทคโนโลยีที่เลือกใช้
• ยกตัวอย่างเช่น รูปแบบการเก็บข้อมูล



                                                               #
ระดับภายใน (The Internal Model)

• การออกแบบระดับภายในจึงเป็นส่วนที่สำคัญในการออกแบบฐาน
  ข้อมูลแบบ Hierarchical Model และ Network Model เพราะทั้ง
  สองโมเดลให้ความสำคัญกับที่อยู่ในการเก็บข้อมูลรวมถึง เส้นทางใน
  การเข้าถึงข้อมูล (Data access path)
• ส่วน Relational Model นั้นจะมี RDBMS ทำหน้าที่จัดการการจัด
  เก็บข้อมูลให้ จึงทำให้ไม่จำเป็นต้องจัดทำรายละเอียดของการ
  ออกแบบระดับภายในมากเท่ากับสองโมเดลที่กล่าวมา
• ดังนั้นระดับภายใน (The Internal Model) จึงไม่เป็นอิสระต่อ
  ซอร์ฟแวร์
                                                              #
ระดับภายนอก (The External Model)

• มุมมองที่แสดงต่อผู้ใช้ (End User)
• โดยผู้ใช้แต่ละระดับจะมีมุมมองรวมถึงความเกี่ยวข้องกับฐานข้อมูลที่
  แตกต่างกัน
• นักออกแบบสามารถแยกมุมมองจากระดับภายใน (Internal Model)
  ออกเป็นระดับภายนอก (External Model) ส่วนต่างๆ สำหรับผู้ใช้
  แต่ละคนได้
• รวมถึงยังสามารถแยกให้นักพัฒนาโปรแกรมพัฒนาแต่ละมุมมองได้
• ง่ายต่อการรักษาความปลอดภัยของข้อมูล
                                                                #
ระดับภายนอก (The External Model)




                                   #
ระดับภายนอก (The External Model)




                                   #
ระดับภายนอก (The External Model)




                                   #
ระดับกายภาพ (The Physical Model)

• ระดับที่อยู่ต่ำที่สุดของโครงสร้าง
• ใช้อธิบายวิธีการในการบันทึกข้อมูลลงในสื่อบันทึกข้อมูลต่างๆ เช่น
  Disk หรือ Tape
• ระดับนี้ต้องการวิธีการบันทึกจากทั้ง ซอร์ฟแวร์ และฮาร์ดแวร์ ดังนั้น
  จึงถือได้ว่าระดับกายภาพไม่เป็นอิสระต่อทั้งซอร์ฟแวร์และฮาร์ดแวร์




                                                                   #
สคีมา (Schema) และการแปลงรูป (Mapping)
• สคีมา (Schema) คือส่ิงที่แสดงรายละเอียดของฐานข้อมูลใน
  ระดับต่างๆ
• เปรียบเสมือนพิมพ์เขียว (Blue Print) ของฐานข้อมูล
• การแปลงรูป (Mapping) เป็นหน้าที่ของ DBMS ที่จะทำการ
  แปลงรูปและตรวจสอบสคีมา ระหว่างระดับให้ถูกต้องตรงกัน
• เช่น การแปลงรูประหว่าง External Schema กับ Internal
  Schema (External/Internal Mapping)


                                                          #
ความเป็นอิสระของข้อมูล (Data Independence)

• วัตถุประสงค์ของสถาปัตยกรรม 3 ระดับคือ การให้มีความเป็นอิสระของข้อมูล
  (Data Independence)
• หมายถึง ผู้ใช้ไม่จำเป็นต้องทำการแก้ไขโปรแกรมทุกครั้งเมื่อมีการเปลี่ยนแปลง
  โครงสร้างหรือข้อมูลในระดับแนวคิดและระดับภายใน โดยจะปล่อยให้ DBMS
  เชื่อมข้อมูลในระดับต่างๆ เอง
• ความเป็นอิสระของข้อมูลมี 2 ชนิดคือ
    – ความเป็นอิสระของข้อมูลทางลอจิคอล (Logical Data Independence)
    – ความเป็นอิสระของข้อมูลทางฟิสิคอล (Physical Data Independence)


                                                                         #
ความเป็นอิสระของข้อมูลทางลอจิคอล
(Logical Data Independence)

• การเปลี่ยนแปลงทางด้านแนวคิด จะไม่ส่งผลกระทบต่อ ระดับ
  ภายนอก (External Model) ที่ผู้ใช้ (End User) ใช้งานอยู่
• เช่น การเพิ่ม การเปลี่ยนแปลงแอตตริบิวต์ หรือความสัมพันธ์ใดๆ ใน
  ฐานข้อมูล จะไม่ส่งผลต่อการใช้งานของผู้ใช้ที่ใช้งานอยู่ และไม่จำเป็น
  ต้องมีการแก้ไขโปรแกรมประยุกต์ใดๆ




                                                                   #
ความเป็นอิสระของข้อมูลทางฟิสิคอล
(Physical Data Independence)

• การเปลี่ยนแปลงระดับกายภาพ (Physical Model) จะไม่ส่งผลกระทบต่อการ
  เรียกดูข้อมูลจากผู้ใช้งานใดๆ
• เช่น การเปลี่ยนอุปกรณ์การจัดเก็บข้อมูล การปรับปรุงการเรียงลำดับดัชนีใน
  อุปกรณ์บันทึก การเปลี่ยนแปลงโครงสร้างการจัดเก็บข้อมูล จะไม่่ส่งผลต่อการ
  ใช้งานของผู้ใช้ (End User) ที่เรียกดูข้อมูลอยู่




                                                                       #

More Related Content

What's hot

Installation steps about window server 2003 and windows XP in virtualbox
Installation steps about window server 2003 and windows XP in virtualbox Installation steps about window server 2003 and windows XP in virtualbox
Installation steps about window server 2003 and windows XP in virtualbox sekhonharman
 
ตัวอย่าง DFD level 1
ตัวอย่าง DFD level 1ตัวอย่าง DFD level 1
ตัวอย่าง DFD level 1rubtumproject.com
 
Augmented reality
Augmented reality Augmented reality
Augmented reality Ferin Bell
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซีmansuang1978
 
Thailand's Health IT Future Directions (April 4, 2019)
Thailand's Health IT Future Directions (April 4, 2019)Thailand's Health IT Future Directions (April 4, 2019)
Thailand's Health IT Future Directions (April 4, 2019)Nawanan Theera-Ampornpunt
 
Exercícios de mysql
Exercícios de mysqlExercícios de mysql
Exercícios de mysqlLeo Frazão
 
Query Pre Payment details Oracle Fusion Cloud
Query Pre Payment details Oracle Fusion CloudQuery Pre Payment details Oracle Fusion Cloud
Query Pre Payment details Oracle Fusion CloudFeras Ahmad
 
What is Puppet | Puppet Tutorial for Beginners | Puppet Configuration Managem...
What is Puppet | Puppet Tutorial for Beginners | Puppet Configuration Managem...What is Puppet | Puppet Tutorial for Beginners | Puppet Configuration Managem...
What is Puppet | Puppet Tutorial for Beginners | Puppet Configuration Managem...Edureka!
 
BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS Antonio Pedro
 
Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de DadosRoberto Grande
 
แนะนำการเขียนโปรแกรมภาษาแอสเซมลีเบื้องต้น
แนะนำการเขียนโปรแกรมภาษาแอสเซมลีเบื้องต้นแนะนำการเขียนโปรแกรมภาษาแอสเซมลีเบื้องต้น
แนะนำการเขียนโปรแกรมภาษาแอสเซมลีเบื้องต้นPhusit Konsurin
 
การประมวลผลภาพพาโนรามา (Panorama Photography) Part 1
การประมวลผลภาพพาโนรามา (Panorama Photography) Part 1การประมวลผลภาพพาโนรามา (Panorama Photography) Part 1
การประมวลผลภาพพาโนรามา (Panorama Photography) Part 1Dr.Kridsanapong Lertbumroongchai
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Ricardo Terra
 
Estrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaEstrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaDaniel Arndt Alves
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Gustavo Zimmermann
 
BI Publisher Data model design document
BI Publisher Data model design documentBI Publisher Data model design document
BI Publisher Data model design documentadivasoft
 

What's hot (20)

2 3
2 32 3
2 3
 
Installation steps about window server 2003 and windows XP in virtualbox
Installation steps about window server 2003 and windows XP in virtualbox Installation steps about window server 2003 and windows XP in virtualbox
Installation steps about window server 2003 and windows XP in virtualbox
 
oracle-reports6i
oracle-reports6ioracle-reports6i
oracle-reports6i
 
ตัวอย่าง DFD level 1
ตัวอย่าง DFD level 1ตัวอย่าง DFD level 1
ตัวอย่าง DFD level 1
 
Diagrama de Classes
Diagrama de ClassesDiagrama de Classes
Diagrama de Classes
 
Augmented reality
Augmented reality Augmented reality
Augmented reality
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซี
 
Thailand's Health IT Future Directions (April 4, 2019)
Thailand's Health IT Future Directions (April 4, 2019)Thailand's Health IT Future Directions (April 4, 2019)
Thailand's Health IT Future Directions (April 4, 2019)
 
Exercícios de mysql
Exercícios de mysqlExercícios de mysql
Exercícios de mysql
 
Query Pre Payment details Oracle Fusion Cloud
Query Pre Payment details Oracle Fusion CloudQuery Pre Payment details Oracle Fusion Cloud
Query Pre Payment details Oracle Fusion Cloud
 
What is Puppet | Puppet Tutorial for Beginners | Puppet Configuration Managem...
What is Puppet | Puppet Tutorial for Beginners | Puppet Configuration Managem...What is Puppet | Puppet Tutorial for Beginners | Puppet Configuration Managem...
What is Puppet | Puppet Tutorial for Beginners | Puppet Configuration Managem...
 
BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS
 
Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de Dados
 
แนะนำการเขียนโปรแกรมภาษาแอสเซมลีเบื้องต้น
แนะนำการเขียนโปรแกรมภาษาแอสเซมลีเบื้องต้นแนะนำการเขียนโปรแกรมภาษาแอสเซมลีเบื้องต้น
แนะนำการเขียนโปรแกรมภาษาแอสเซมลีเบื้องต้น
 
การประมวลผลภาพพาโนรามา (Panorama Photography) Part 1
การประมวลผลภาพพาโนรามา (Panorama Photography) Part 1การประมวลผลภาพพาโนรามา (Panorama Photography) Part 1
การประมวลผลภาพพาโนรามา (Panorama Photography) Part 1
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)
 
Estrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaEstrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da Disciplina
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
 
BI Publisher Data model design document
BI Publisher Data model design documentBI Publisher Data model design document
BI Publisher Data model design document
 

Viewers also liked

Degrees of data abstraction
Degrees of data abstractionDegrees of data abstraction
Degrees of data abstractionMary May Porto
 
Introduction to Data Abstraction
Introduction to Data AbstractionIntroduction to Data Abstraction
Introduction to Data AbstractionDennis Gajo
 
Slide 3 data abstraction & 3 schema
Slide 3 data abstraction & 3 schemaSlide 3 data abstraction & 3 schema
Slide 3 data abstraction & 3 schemaVisakh V
 
Data abstraction the walls
Data abstraction the wallsData abstraction the walls
Data abstraction the wallsHoang Nguyen
 
บทที่ 2 สถาปัตยกรรม
บทที่ 2 สถาปัตยกรรมบทที่ 2 สถาปัตยกรรม
บทที่ 2 สถาปัตยกรรมPrinceStorm Nueng
 
Data base management system
Data base management systemData base management system
Data base management systemNavneet Jingar
 
สถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลสถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลขาม้า ชนบท
 
งานครูทรงศักดิ์1
งานครูทรงศักดิ์1งานครูทรงศักดิ์1
งานครูทรงศักดิ์1startnaza
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลพัน พัน
 
2CPP14 - Abstraction
2CPP14 - Abstraction2CPP14 - Abstraction
2CPP14 - AbstractionMichael Heron
 
การวิเคราะห์อัลกอริทึม(algorithm analysis)
การวิเคราะห์อัลกอริทึม(algorithm analysis)การวิเคราะห์อัลกอริทึม(algorithm analysis)
การวิเคราะห์อัลกอริทึม(algorithm analysis)tumetr
 
Preparation Data Structures 03 abstract data_types
Preparation Data Structures 03 abstract data_typesPreparation Data Structures 03 abstract data_types
Preparation Data Structures 03 abstract data_typesAndres Mendez-Vazquez
 
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูลบทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูลครูสม ฟาร์มมะนาว
 
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูลบทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูลครูสม ฟาร์มมะนาว
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to DatabaseOpas Kaewtai
 

Viewers also liked (20)

Degrees of data abstraction
Degrees of data abstractionDegrees of data abstraction
Degrees of data abstraction
 
Introduction to Data Abstraction
Introduction to Data AbstractionIntroduction to Data Abstraction
Introduction to Data Abstraction
 
Slide 3 data abstraction & 3 schema
Slide 3 data abstraction & 3 schemaSlide 3 data abstraction & 3 schema
Slide 3 data abstraction & 3 schema
 
Data abstraction the walls
Data abstraction the wallsData abstraction the walls
Data abstraction the walls
 
บทที่ 2 สถาปัตยกรรม
บทที่ 2 สถาปัตยกรรมบทที่ 2 สถาปัตยกรรม
บทที่ 2 สถาปัตยกรรม
 
Abstract data types
Abstract data typesAbstract data types
Abstract data types
 
Abstract Data Types
Abstract Data TypesAbstract Data Types
Abstract Data Types
 
Dbms architecture
Dbms architectureDbms architecture
Dbms architecture
 
Data base management system
Data base management systemData base management system
Data base management system
 
สถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลสถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูล
 
งานครูทรงศักดิ์1
งานครูทรงศักดิ์1งานครูทรงศักดิ์1
งานครูทรงศักดิ์1
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
 
2CPP14 - Abstraction
2CPP14 - Abstraction2CPP14 - Abstraction
2CPP14 - Abstraction
 
modeling concepts
modeling conceptsmodeling concepts
modeling concepts
 
การวิเคราะห์อัลกอริทึม(algorithm analysis)
การวิเคราะห์อัลกอริทึม(algorithm analysis)การวิเคราะห์อัลกอริทึม(algorithm analysis)
การวิเคราะห์อัลกอริทึม(algorithm analysis)
 
Preparation Data Structures 03 abstract data_types
Preparation Data Structures 03 abstract data_typesPreparation Data Structures 03 abstract data_types
Preparation Data Structures 03 abstract data_types
 
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูลบทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
 
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูลบทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to Database
 
Algo>Abstract data type
Algo>Abstract data typeAlgo>Abstract data type
Algo>Abstract data type
 

Similar to 03 data abstraction

System Development Life Cycle
System Development  Life  CycleSystem Development  Life  Cycle
System Development Life Cycleeiszer
 
System development life cycle sdlc
System development life cycle  sdlcSystem development life cycle  sdlc
System development life cycle sdlcKapook Moo Auan
 
System Development Life Cycle S D L C
System  Development  Life  Cycle   S D L CSystem  Development  Life  Cycle   S D L C
System Development Life Cycle S D L CKapook Moo Auan
 
สถาปัตยกรรมฐานข้อมูลและแบบฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลและแบบฐานข้อมูลสถาปัตยกรรมฐานข้อมูลและแบบฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลและแบบฐานข้อมูลด.ช. ทีม น่ะจ๊ะ
 
สถาปัตยกรรม และแบบฐานข้อมูล
สถาปัตยกรรม และแบบฐานข้อมูลสถาปัตยกรรม และแบบฐานข้อมูล
สถาปัตยกรรม และแบบฐานข้อมูลด.ช. ทีม น่ะจ๊ะ
 
สถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลสถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลskiats
 
SA-System Analysis
SA-System AnalysisSA-System Analysis
SA-System AnalysisdiseVru
 
สถาปัตยกรรมและการออกแบบฐานข้อมูล
สถาปัตยกรรมและการออกแบบฐานข้อมูลสถาปัตยกรรมและการออกแบบฐานข้อมูล
สถาปัตยกรรมและการออกแบบฐานข้อมูลด.ช. ทีม น่ะจ๊ะ
 
การพัฒนาซอฟแวร์
การพัฒนาซอฟแวร์การพัฒนาซอฟแวร์
การพัฒนาซอฟแวร์karmpu
 

Similar to 03 data abstraction (20)

System Development Life Cycle
System Development  Life  CycleSystem Development  Life  Cycle
System Development Life Cycle
 
การพัฒนา Software
การพัฒนา Softwareการพัฒนา Software
การพัฒนา Software
 
System development life cycle sdlc
System development life cycle  sdlcSystem development life cycle  sdlc
System development life cycle sdlc
 
System Development Life Cycle S D L C
System  Development  Life  Cycle   S D L CSystem  Development  Life  Cycle   S D L C
System Development Life Cycle S D L C
 
งานนำเสนอ..
งานนำเสนอ..งานนำเสนอ..
งานนำเสนอ..
 
Tools
ToolsTools
Tools
 
สถาปัตยกรรม
สถาปัตยกรรมสถาปัตยกรรม
สถาปัตยกรรม
 
สถาปัตยกรรมฐานข้อมูลและแบบฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลและแบบฐานข้อมูลสถาปัตยกรรมฐานข้อมูลและแบบฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลและแบบฐานข้อมูล
 
สถาปัตยกรรม และแบบฐานข้อมูล
สถาปัตยกรรม และแบบฐานข้อมูลสถาปัตยกรรม และแบบฐานข้อมูล
สถาปัตยกรรม และแบบฐานข้อมูล
 
สถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลสถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูล
 
SA-System Analysis
SA-System AnalysisSA-System Analysis
SA-System Analysis
 
สถาปัตยกรรมและการออกแบบฐานข้อมูล
สถาปัตยกรรมและการออกแบบฐานข้อมูลสถาปัตยกรรมและการออกแบบฐานข้อมูล
สถาปัตยกรรมและการออกแบบฐานข้อมูล
 
สถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลสถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูล
 
Object Oriented Software Analysis and Design
Object Oriented Software Analysis and DesignObject Oriented Software Analysis and Design
Object Oriented Software Analysis and Design
 
การพัฒนาซอฟแวร์
การพัฒนาซอฟแวร์การพัฒนาซอฟแวร์
การพัฒนาซอฟแวร์
 
Activity 4
Activity 4Activity 4
Activity 4
 
Software
SoftwareSoftware
Software
 
Lesson 4 (misson)2
Lesson 4 (misson)2Lesson 4 (misson)2
Lesson 4 (misson)2
 
Lesson 4 (misson)2
Lesson 4 (misson)2Lesson 4 (misson)2
Lesson 4 (misson)2
 
Lesson 4 (misson)
Lesson 4 (misson)Lesson 4 (misson)
Lesson 4 (misson)
 

More from Opas Kaewtai

06.2 logical database design [normalization]
06.2 logical database design [normalization]06.2 logical database design [normalization]
06.2 logical database design [normalization]Opas Kaewtai
 
06.1 logical database design[transform erd into relations]
06.1 logical database design[transform erd into relations]06.1 logical database design[transform erd into relations]
06.1 logical database design[transform erd into relations]Opas Kaewtai
 
05 entity relationship model
05 entity relationship model05 entity relationship model
05 entity relationship modelOpas Kaewtai
 
04 the entities relationship model
04 the entities relationship model04 the entities relationship model
04 the entities relationship modelOpas Kaewtai
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to DatabaseOpas Kaewtai
 
Introduction of Multidedia Technology
Introduction of Multidedia TechnologyIntroduction of Multidedia Technology
Introduction of Multidedia TechnologyOpas Kaewtai
 

More from Opas Kaewtai (7)

07 sql
07 sql07 sql
07 sql
 
06.2 logical database design [normalization]
06.2 logical database design [normalization]06.2 logical database design [normalization]
06.2 logical database design [normalization]
 
06.1 logical database design[transform erd into relations]
06.1 logical database design[transform erd into relations]06.1 logical database design[transform erd into relations]
06.1 logical database design[transform erd into relations]
 
05 entity relationship model
05 entity relationship model05 entity relationship model
05 entity relationship model
 
04 the entities relationship model
04 the entities relationship model04 the entities relationship model
04 the entities relationship model
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to Database
 
Introduction of Multidedia Technology
Introduction of Multidedia TechnologyIntroduction of Multidedia Technology
Introduction of Multidedia Technology
 

03 data abstraction

  • 1. Degree of Data Abstraction
  • 2. Degree of Data Abstraction • วิธีการหนึ่งในการแยกแยะดาต้าโมเดลต่างๆ สามารถทำได้จากการพิจารณาระดับ หรือโครงสร้างของดาต้าโมเดล หรือที่เรียกว่า Data Abstraction • เปรียบได้กับการสร้างรถยนต์จะต้องมีการแบ่งระดับการทำงานต่างๆก่อนที่จะมา เป็นรถยนต์ที่สามารถใช้งานได้ – นักออกแบบ(Designer) ทำการออกแบบรถต้นแบบ (Conceptual Design) – วิศวกร(Engineer) ทำการระบุรายละเอียดของเครื่องยนต์และอุปกรณ์ทาง เทคนิคต่างๆ – วิศวกร(Engineer) ทำการเขียนแบบเพื่อส่งต่อให้โรงงานฝ่ายผลิตทำการผลิต รถยนต์ออกมา #
  • 5. Degree of Data Abstraction • ค.ศ.1970 องค์กร the American National Standards Institute/Standards Planning and Requirements Committee (ANSI/SPARC) ทำการแบ่งระดับของ Data Abstraction ออกเป็น – ระดับแนวคิด (Conceptual) – ระดับภายใน (Internal) – ระดับภายนอก (External) • Peter Rob และ Carlos Coronel ได้ทำการแบ่งระดับเพิ่มเติมคือ – ระดับกายภาพ (Physical) #
  • 6. Degree of Data Abstraction #
  • 7. ระดับแนวคิด (The Conceptual Model) • แสดงภาพรวมทั้งหมดของฐานข้อมูล สามารถนำมาใช้เป็นเครื่องมือสื่อสารให้ผู้ บริหารระดับสูงเข้าใจได้ • แสดงข้อมูลเพื่อให้มนุษย์ (People) เห็นและเข้าใจได้ • ใช้อธิบายและระบุข้อมูลหลักๆ ของระบบฐานข้อมูล ทำให้เข้าใจภาพรวมได้ง่าย ยิ่งขึ้น • เครื่องมือที่นำมาใช้ในการออกแบบเชิงแนวคิดก็คือ Entities Relationship Diagram (ER-Diagram) ซึ่งเปรียบเสมือนพิมพ์เขียว (Blueprint) ของฐาน ข้อมูล • กล่าวในทางกลับกันก็คือเราใช้ ER-Diagram ในการอธิบายการออกแบบฐาน ข้อมูลระดับแนวคิดนั่นเอง #
  • 9. ระดับแนวคิด (The Conceptual Model) • ประโยชน์ในการออกแบบระดับแนวคิด • ทำให้สามารถมองภาพรวมของฐานข้อมูลทั้งหมดได้ง่าย โดยแสดงออก มาทางการสร้าง ER-Diagram • มีความเป็นอิสระทั้งทางด้านซอร์ฟแวร์ (Software Independence) และ ฮาร์ดแวร์ (Hardware Independence) #
  • 10. ระดับภายใน (The Internal Model) • เพื่อแสดงข้อมูลให้ DBMS เข้าใจ (เป็นสิ่งที่ DBMS ต้องการเห็น) • เป็นการนำเอาสิ่งที่ได้จากการออกแบบเชิงแนวคิดมาทำการปรับปรุง ให้เป็นข้อมูลเชิงเทคนิค เพื่อให้เหมาะสมกับการพัฒนาฐานข้อมูลด้วย เทคโนโลยีที่เลือกใช้ • ยกตัวอย่างเช่น รูปแบบการเก็บข้อมูล #
  • 11. ระดับภายใน (The Internal Model) • การออกแบบระดับภายในจึงเป็นส่วนที่สำคัญในการออกแบบฐาน ข้อมูลแบบ Hierarchical Model และ Network Model เพราะทั้ง สองโมเดลให้ความสำคัญกับที่อยู่ในการเก็บข้อมูลรวมถึง เส้นทางใน การเข้าถึงข้อมูล (Data access path) • ส่วน Relational Model นั้นจะมี RDBMS ทำหน้าที่จัดการการจัด เก็บข้อมูลให้ จึงทำให้ไม่จำเป็นต้องจัดทำรายละเอียดของการ ออกแบบระดับภายในมากเท่ากับสองโมเดลที่กล่าวมา • ดังนั้นระดับภายใน (The Internal Model) จึงไม่เป็นอิสระต่อ ซอร์ฟแวร์ #
  • 12. ระดับภายนอก (The External Model) • มุมมองที่แสดงต่อผู้ใช้ (End User) • โดยผู้ใช้แต่ละระดับจะมีมุมมองรวมถึงความเกี่ยวข้องกับฐานข้อมูลที่ แตกต่างกัน • นักออกแบบสามารถแยกมุมมองจากระดับภายใน (Internal Model) ออกเป็นระดับภายนอก (External Model) ส่วนต่างๆ สำหรับผู้ใช้ แต่ละคนได้ • รวมถึงยังสามารถแยกให้นักพัฒนาโปรแกรมพัฒนาแต่ละมุมมองได้ • ง่ายต่อการรักษาความปลอดภัยของข้อมูล #
  • 16. ระดับกายภาพ (The Physical Model) • ระดับที่อยู่ต่ำที่สุดของโครงสร้าง • ใช้อธิบายวิธีการในการบันทึกข้อมูลลงในสื่อบันทึกข้อมูลต่างๆ เช่น Disk หรือ Tape • ระดับนี้ต้องการวิธีการบันทึกจากทั้ง ซอร์ฟแวร์ และฮาร์ดแวร์ ดังนั้น จึงถือได้ว่าระดับกายภาพไม่เป็นอิสระต่อทั้งซอร์ฟแวร์และฮาร์ดแวร์ #
  • 17. สคีมา (Schema) และการแปลงรูป (Mapping) • สคีมา (Schema) คือส่ิงที่แสดงรายละเอียดของฐานข้อมูลใน ระดับต่างๆ • เปรียบเสมือนพิมพ์เขียว (Blue Print) ของฐานข้อมูล • การแปลงรูป (Mapping) เป็นหน้าที่ของ DBMS ที่จะทำการ แปลงรูปและตรวจสอบสคีมา ระหว่างระดับให้ถูกต้องตรงกัน • เช่น การแปลงรูประหว่าง External Schema กับ Internal Schema (External/Internal Mapping) #
  • 18. ความเป็นอิสระของข้อมูล (Data Independence) • วัตถุประสงค์ของสถาปัตยกรรม 3 ระดับคือ การให้มีความเป็นอิสระของข้อมูล (Data Independence) • หมายถึง ผู้ใช้ไม่จำเป็นต้องทำการแก้ไขโปรแกรมทุกครั้งเมื่อมีการเปลี่ยนแปลง โครงสร้างหรือข้อมูลในระดับแนวคิดและระดับภายใน โดยจะปล่อยให้ DBMS เชื่อมข้อมูลในระดับต่างๆ เอง • ความเป็นอิสระของข้อมูลมี 2 ชนิดคือ – ความเป็นอิสระของข้อมูลทางลอจิคอล (Logical Data Independence) – ความเป็นอิสระของข้อมูลทางฟิสิคอล (Physical Data Independence) #
  • 19. ความเป็นอิสระของข้อมูลทางลอจิคอล (Logical Data Independence) • การเปลี่ยนแปลงทางด้านแนวคิด จะไม่ส่งผลกระทบต่อ ระดับ ภายนอก (External Model) ที่ผู้ใช้ (End User) ใช้งานอยู่ • เช่น การเพิ่ม การเปลี่ยนแปลงแอตตริบิวต์ หรือความสัมพันธ์ใดๆ ใน ฐานข้อมูล จะไม่ส่งผลต่อการใช้งานของผู้ใช้ที่ใช้งานอยู่ และไม่จำเป็น ต้องมีการแก้ไขโปรแกรมประยุกต์ใดๆ #
  • 20. ความเป็นอิสระของข้อมูลทางฟิสิคอล (Physical Data Independence) • การเปลี่ยนแปลงระดับกายภาพ (Physical Model) จะไม่ส่งผลกระทบต่อการ เรียกดูข้อมูลจากผู้ใช้งานใดๆ • เช่น การเปลี่ยนอุปกรณ์การจัดเก็บข้อมูล การปรับปรุงการเรียงลำดับดัชนีใน อุปกรณ์บันทึก การเปลี่ยนแปลงโครงสร้างการจัดเก็บข้อมูล จะไม่่ส่งผลต่อการ ใช้งานของผู้ใช้ (End User) ที่เรียกดูข้อมูลอยู่ #