Physical Database Design

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
File System Example of File System Employee Department
Advertisements

ระบบการจัดเก็บในคลังสินค้า
ฐานข้อมูลและการออกแบบฐานข้อมูล
Enhanced Entity-Relationship Model
– Web Programming and Web Database
Performance Management and appraisal systems
ให้ประหยัดการใช้หน่วยความจำ (space) ด้วยความรวดเร็ว (time)
SQL Structured Query Language.
List ADTs By Pantharee S..
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
SQL Structured Query Language.
Static Libraries ธวัชชัย เอี่ยมไพโรจน์. Static Libraries It is the simplest form of library. It is a collection of object files kept together in a ready-to-use.
Database & DBMS Architecture วรวิทย์ พูลสวัสดิ์. 2 2 ฐานข้อมูล (Database) - Data and its relation - Databases are designed to offer an organized mechanism.
Database and Application Development Life Cycle 2.
TEST FOR 3RD GRADERS IN THAILAND: COMPARATIVE STUDY Pimlak Moonpo Valaya Alongkorn Rajabhat University under the Patronage Assoc. Prof. Dr. Maitree Inprasitha.
PHP FRAMEWORK – Web Programming and Web Database Asst. Prof. Dr. Choopan Rattanapoka.
อาจารย์ วิทูร ธรรมธัชอารี. เนื้อหาในการเรียน  เครื่องมือในการออกแบบและพัฒนาระบบ บัญชีด้วยคอมพิวเตอร์  ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล  การวางระบบบัญชีด้วยคอมพิวเตอร์
Collections. Data structures Data Structures ( โครงสร้างข้อมูล ) เกิดจากการ นำข้อมูลขั้นพื้นฐานที่แบ่งแยกไม่ได้ (atomic data type) เช่น int, char, double.
Practice File. Our Executive Coaching Program is proven effective. Our customer survey show ROI of coaching can be as high as 3 times the investment value.
Page : Stability and Statdy-State Error Chapter 3 Design of Discrete-Time control systems Stability and Steady-State Error.
Chapter 2 Relational Database
ประเภทของคำสั่งของภาษา SQL
Microsoft Access การใช้งานโปรแกรมระบบจัดการฐานข้อมูล
ภาษา SQL (Structured Query Language)
SQL Structured Query Language.
อาจารย์อภิพงศ์ ปิงยศ บทที่ 8 : TCP/IP และอินเทอร์เน็ต Part2 สธ313 การสื่อสารข้อมูลและเครือข่ายคอมพิวเตอร์ทางธุรกิจ อาจารย์อภิพงศ์
การทดสอบซอฟต์แวร์ Software Testing
Integrity Constraints
SQL (Structured Query Language)
13 October 2007
บทที่ 4 แบบจำลองฐานข้อมูลเชิงสัมพันธ์ Relational Database
สถาปัตยกรรมของระบบฐานข้อมูล
Toward National Health Information System
บทที่ 5 แบบจำลองกระบวนการ
Control Charts for Count of Non-conformities
อาจารย์อภิพงศ์ ปิงยศ บทที่ 7 : TCP/IP และอินเทอร์เน็ต Part2 สธ313 การสื่อสารข้อมูลและเครือข่ายคอมพิวเตอร์ทางธุรกิจ อาจารย์อภิพงศ์
Information System Development
Chapter 6 : แบบจำลอง E-R (Entity-Relationship Model)
โดย อ.พัฒนพงษ์ โพธิปัสสา
Chapter 9 : ภาษาทางด้านฐานข้อมูลคำสั่ง SQL (SQL Command)
Generic View of Process
การออกแบบระบบ System Design.
Chapter 6 Information System Development
ระเบียบวิธีวิจัยพื้นฐานทางการเงิน
บทที่ 1 ความรู้เบื้องต้น เกี่ยวกับระบบสารสนเทศ
13 October 2007
Multimedia Production
คำสั่ง Create , Insert, Delete, Update
บทที่ 4 ความรู้เกี่ยวกับระบบฐานข้อมูล
บทที่ 4 ฐานข้อมูล.
Review of the Literature)
การจัดการไฟล์ File Management.
(การสุ่มตัวอย่างเพื่อการยอมรับ)
ระเบียบวิธีวิจัยพื้นฐานทาง การตลาด
ที่มาและหน่วยงานกาชาดต่างๆ
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 05: การวิเคราะห์ความซับซ้อนของ ขั้นตอนวิธีการเรียงลำดับข้อมูล.
โครงสร้างข้อมูล( Data Structure)
Control Charts for Count of Non-conformities
4.7. B-Trees โครงสร้าง tree ที่กล่าวถึงมาแล้วนั้น อยู่บนสมมติฐานที่ว่าโครงสร้างทั้งหมดสามารถจัดเก็บอยู่ในหน่วยความจำของเครื่องคอมพิวเตอร์ได้ ถ้า จำนวนข้อมูลมีปริมาณมากเกินกว่าที่จะเก็บไว้ใน.
Integrated Mathematics
โครงการสัมมนาเชิงปฏิบัติการบูรณาการภาครัฐและเอกชนในการจัดยุทธศาสตร์เศรษฐกิจภาคตะวันออก This template can be used as a starter file to give updates for.
ฐานข้อมูลเชิงสัมพันธ์ Relational Database
[ บทที่ 1 ] ระบบฐานข้อมูล
ระเบียบวิธีวิจัยพื้นฐานทางธุรกิจ
ตัวแบบข้อมูล (Data Modeling)
CIT2205 โปรแกรมประยุกต์ด้านการจัดการฐานข้อมูล
กลยุทธ์การทดสอบซอฟต์แวร์ วิศวกรรมซอฟต์แวร์ (Software Engineering)
การวิเคราะห์และออกแบบขั้นตอนวิธี
สารสนเทศศาสตร์เบื้องต้น
Color Standards A pixel color is represented as a point in 3-D space. Axis may be labeled as independent colors such as R, G, B or may use other independent.
ใบสำเนางานนำเสนอ:

Physical Database Design

Conceptual database design The process of constructing a model of the information used in an enterprise, independent of all physical considerations. Conceptual database design is entirely independent of implementation details such as the target DBMS, application programs, programming languages, hardware platform, performance issues, or any other physical consideration.

Logical database design The process of constructing a model of the information used in an enterprise based on a specific data model, but independent of a particular DBMS and other physical considerations.

Physical database design The process of producing a description of the implementation of the database on secondary storage; it describes the base relations, file organizations, and indexes used to achieve efficient access to the data, and any associated integrity constraints and security measures.

Physical database design The physical database design is tailored to a specific DBMS. There is feedback between physical and logical design, because decisions taken during physical design for improving performance may affect the logical data model.

Physical database design steps Translate global logical data model for target DBMS 2. Design physical representation 3. Design user views 4. Design security mechanisms 5. Consider the introduction of controlled redundancy 6. Monitor and tune the operational system

1. Translate Global Logical Data Model for Target DBMS This process requires knowledge of the functionality offered by the target DBMS. For example, the designer need to know: How to create base relations Whether the system supports the definition of primary keys, foreign keys, and alternate keys; Whether the system allows attributes to be defined as NOT NULL Whether the system supports the definition of domains, integrity constraints, and enterprise constraints.

Three activities of Translate Global Logical Data Model for Target DBMS Design base relations Design representation of derived data Design enterprise constraints

Design base relations the name of the relation a list of simple attributes the primary key, alternate keys, and foreign keys a list of any derived attributes and how they should be computed referential integrity constraints for any foreign keys identified its domain, consisting of a data type, length, and any constraints on the domain an optional default value for the attribute whether the attribute can hold nulls

Design representation of derived data Derived attributes do not appear in the logical data model but are documented in the data dictionary. The designer should calculate: the additional cost to store the derived data and keep it consistent with operational data from which it is derived; the cost to calculate it each time it is required

Design enterprise constraints CONSTRAINT staffnothandlingtoomuch CHECK ( NOT EXISTS ( SELECT staffno FROM propertyForRent GROUP BY staffNo HAVING COUNT(*) > 100 ) )

2. Design Physical Representation Objective To determine the optimal file organizations to store the base relations and the indexes that are required to achieve acceptable performance, that is, the way in which relations and tuples will be held on secondary storage.

Factors used to measure efficiency Transaction throughput The number of transaction that can be processed in a given time. Response time The elapsed time for the completion of a single transaction. Disk storage The amount of disk space required to store the database files.

The four basic hardware components The four basic hardware components interact and affect system performance: Main memory CPU Disk I/O Network

Disk I/O The O/S files should be separated from the database files The main data base files should be separated from the index files The recovery log file should be separated from the rest of the database Main database file Index file Recovery log file O/S

Design physical representation activities Analyze transactions Choose file organizations Choose indexes Estimate disk space requirements

Analyze Transaction Objective To understand the functionality of the transactions that will run on the database and to analyze the important transactions.

Analyze Transaction In analyzing the transactions, we attempt to identify performance criteria, such as The transactions that run frequently and will have a significant impact on performance The transactions that are critical to the operation of the business The times during the day/week when there will be a high demand made on the database (called the peak load)

Choose file organizations In many cases, a relational DBMS may give little or no choice for choosing file organizations.

File Organization and Storage Structures Basic Concepts StaffNo Name Position SL21 White Manager SG37 Beech Assistant SG14 Ford Supervisor SA9 Howe SG5 Brand SL41 Lee StaffNo Name Position SL21 White Manager SG37 Beech Assistant SG14 Ford Supervisor SA9 Howe SG5 Brand SL41 Lee Page 1 2

The main types of file organization Heap (unordered) files Sequential (ordered) files Hash files

Heap File Records are placed in the file in the order as they are inserted. Linear search must be performed to access method. To delete record – the required page has to be retrieved, the record marked as deleted, and the page written back to disk. This means that heap files have to be periodically reorganized by the DBA. Heap files are one of the best organization for bulk loading data into a table.

Sequential (ordered) files The records in a file can be sorted on the values of one or more of the fields Example – order field: Staff No SELECT * FROM staff WHERE staffno = ‘SG37’; SELECT * FROM staff ORDERBY staffno; binary search SA9 SG5 SG14 SG37 SL21 SL41 (1) (3) (2)

Sequential (ordered) files Insert and Deleting records ค่อนข้างจะเป็นปัญหา ในการ Insert จะหาตำแหน่ง Page ก่อน หาก page ว่างข้อมูลจะถูกบันทึกลงไป หากไม่ว่างจะต้องขยับ record ไปยัง page ต่อไปเพื่อให้เกิดที่ว่างเพื่อ insert record ใหม่ได้ จะเป็นข้อเสียอย่างมากหากมีการ insert ณ ต้นๆ files

Sequential (ordered) files การแก้ปัญหาการ insert สร้าง Temporary unsorted file หรือเรียกว่า overflow หรือ transaction file เมื่อมีการ insert จะ insert ลง overflow เวลา Retrieve หากหา main file ไม่พบจะมาค้นที่ overflow โดยใช้วิธี linear search DBA จะทำหน้าที่ merge ระหว่าง main file และ overflow เป็นระยะ

Hash Files A hash function calculates the address of the pages. The base field is called the hash field Techniques used to calculate are folding and division-remainder

Folding Technique Folding technique ใช้หลักการทางคณิตศาสตร์ Example: S U R A T 19 21 18 01 20 1 9 2 1 + 1 8 0 1 2 0 = 1 8 2 0 4 1 PAGE ที่เก็บข้อมูล

Division-remainder Division-remainder ใช้เศษที่เหลือจากการหาร Example: Product No. 120 page ที่เก็บข้อมูลคือ 117 / 13 = 9 เศษ 3 ตำแหน่งที่เก็บข้อมูล

Hash Files ปัญหาของการใช้ Hashing คือวิธีการนี้ไม่สามารถรับรองว่าแต่ละ record จะได้ รับ unique address แต่ละ address ที่ได้รับก็คือตำแหน่งของ page หรือ bucket ในแต่ละ bucket จะมีหลาย slots ซึ่งแต่ละ slot จะใช้สำหรับแต่ละ record ในแต่ละ bucket ข้อมูลแต่ละ record จะถูกบันทึกเรียงตามการมาถึง ถ้าตั้งแต่ 2 records ขึ้นไปถูกให้บันทึกใน address เดียวกันจะเรียกว่าเกิดการชน (collision) Records ที่ชนกันจะเรียกว่า synonyms

วิธีการแก้ปัญหา collision ใน hash file Open addressing Unchained overflow Chained overflow Multiple hashing

Collision resolution using Open Addressing Before Bucket After Bucket ID 1658 ID 6546 ID 0345 ID 2215 ID 3254 ID 1658 ID 6546 ID 0345 ID 4555 ID 2215 ID 3254 1 1 2 2 สมมติเราต้องการ insert record ID4555 ซึ่งจาก Hash function คำนวณแล้วจะต้องอยู่ bucket ที่ 2 แต่ bucket ที่ 2 เต็มแล้วจึง scan หา bucket ที่ว่าง แล้วจึงนำไป insert ที่ bucket นั้นในที่นี้ก็คือ bucket ที่ 1 นั่นเอง

Collision resolution using unchained overflow Before Bucket Overflow area Bucket ID 1658 ID 6546 ID 0345 ID 2215 ID 3254 ID 4555 3 1 4 2 ไม่ว่า record ใดหากคำนวณโดย Hash function แล้วเกิด collision แล้วจะนำไปเก็บไว้ใน overflow area ซึ่งก็คือ bucket ที่ 3 และ 4 เมื่อมีการค้นข้อมูลใน area หลักไม่เจอ จะไปหาในบริเวณ overflow area

Collision resolution using chained overflow Before Bucket Overflow area Bucket ID 1658 ID 6546 ID 0345 ID 2215 ID 3254 ID 4555 3 1 4 2 3 สมมติเราต้องการ insert record ID4555 ซึ่งจาก Hash function คำนวณแล้วจะต้องอยู่ bucket ที่ 2 แต่ bucket ที่ 2 เต็มแล้วจึง insert row ID 4555 ลงใน overflow area คือ bucket ที่ 3 โดยที่ bucket หลักจะมี synonym pointer ชี้ไปที่ bucket ที่ 3 อาจมี technique อื่นอีก เช่นแทนที่จะชี้ไปที่ bucket แต่จะชี้ไปที่ slot address แทน

Multiple hashing หากการใช้ hashing function ชนิดแรกแล้วเกิดการชนกัน ก็จะใช้ hashing function ชนิดที่สองแทน

Limitations of Hashing

Indexes Index A data structure that allows the DBMS to locate particular records in a file more quickly and thereby speed response to user queries

Dense Index Supplier file (data) S1 Smith 20 London S2 Jones 10 Paris S3 Blake 30 Paris S4 Clark 20 London S5 Adams 30 Athens

Dense Index City file (index) Athens London Paris Supplier file (data) S1 Smith 20 London S2 Jones 10 Paris S3 Blake 30 Paris S4 Clark 20 London S5 Adams 30 Athens

Index Advantage : Speed up Retrieval Disadvantage : Slow down update

Nondense index Supplier file (data) S1 Smith 20 London S# index S2 Jones 10 Paris S3 Blake 30 Paris S4 Clark 20 London S5 Adams 30 Athens S# index S2 S4 S5 Page P-1 Page P Page P+1

B-trees Index set Sequence set 50 82 12 32 58 70 89 94 6 8 12 15 18 32 35 40 50 51 52 60 62 70 71 78 82 83 85 89 91 93 94 96 97 99 Sequence set

Clustered Tables Clusters are groups of one or more tables physically stored together because they share common columns.

Clustered Tables Tel Dname Deptid Emp# Ename Dob 2234 2088 Accounting Marketing AC MK 101 103 108 102 104 Smith Tony Mike Mary Tom 23/4/80 09/2/83 12/8/85 17/7/75 29/1/82 Employee Department Cluster key