แบบจำลองข้อมูล (Data Model) Week 2 Online available at http://www.ict.pyo.nu.ac.th/somporns/db
Contents แบบจำลองข้อมูล (Data Model) โมเดลเชิงสัมพันธ์ (Relational Model) โครงสร้างข้อมูลเชิงสัมพันธ์ (Relational Data Structure) คุณสมบัติของความสัมพันธ์ (Properties of Relations) คีย์ (Keys) Relation Algebra Relation Calculus
แบบจำลองข้อมูล เป็นแหล่งรวมของแนวคิดที่อธิบายถึงความเป็นจริงของวัตถุ และเหตุการณ์ต่างๆ รวมถึงความสัมพันธ์ให้มีความถูกต้องตรงกันในกฎเกณฑ์ข้อกำหนด แบบจำลองข้อมูลช่วยสื่อสารระหว่างผู้ออกแบบฐานข้อมูลกับผู้ใช้ให้มีความเข้าใจตรงกัน
แบบจำลองฐานข้อมูล (Database Model) แบ่งออกเป็น 3 ชนิดใหญ่ๆ คือ Object-based data model Entity-Relationship Semantic Functional Object-Oriented Record-based data model Relational data model Network data model Hierarchical data model Physical data model Unifying model Frame memory
โมเดลเชิงสัมพันธ์ (The Relational Model) โมเดลเชิงสัมพันธ์เป็นผลงานวิจัยของ E.F. Codd เป็นแนวคิดที่มาจากความสัมพันธ์ทางคณิตศาสตร์ ข้อมูลและความสัมพันธ์ระหว่างข้อมูลแสดงในรูปแบบของตาราง ดังนั้น ชื่อของตารางคือชื่อของความสัมพันธ แตละคอลัมนของตารางความสัมพันธ เรียกวา แอททริบิว (attribute) ของความสัมพันธ แตละแถวของตารางความสัมพันธ เรียกวา แถว หรือ ทูเพิล (tuple) ของความสัมพันธ์
โมเดลเชิงสัมพันธ์ (The Relational Model) ตัวอย่างของบริษัท DreamHome Branch branchNo Street City Postcode B005 22 deer Rd London SW1 4EH B007 16 Argyll Aberdeen AB2 3US Staff staffNo fName lName Position Sex DOB Salary branchNo SL21 John White Manager M 1-Oct-45 30000 B005 SG37 Ann Beech Assistant F 10-Nov-60 12000 B003
โครงสร้างข้อมูลเชิงสัมพันธ์ (Relational Data Structure) แอทริบิวต์ (attribute) โดเมน (domain) ทูเพิล (tuple) / แถว (row) ดีกรี (degree) คาร์ดินัลลิตี้ (cardinality) ฐานข้อมูลเชิงสัมพันธ์ (relational database)
คุณสมบัติของความสัมพันธ์ (Properties of Relations) รีเลชัน ต้องมีชื่อกำกับและห้ามซ้ำกัน แต่ละแอทริบิวต์ต้องบรรจุข้อมูลเพียงค่าเดียว (single value) ชื่อของแอทริบิวต์ในรีเลชันนั้นๆ ห้ามซ้ำกัน ค่าข้อมูลในแอทริบิวต์นั้นๆ ต้องเป็นไปตามข้อกำหนดของโดเมนในแอทริบิวต์นั้นๆ การเรียงลำดับของแอทริบิวต์และทูเพิลไม่มีความสำคัญ ข้อมูลในแต่ละทูเพิลต้องแตกต่างกัน ห้ามซ้ำ
คีย์ (Keys) Super Key Candidate Key Primary Key (PK) Secondary Key Foreign Key (FK) Composite Key
ตัวอย่างการกำหนดโดเมนของรีเลชัน Branch Attribute Domain Name Meaning Domain Definition Bno BRANCH_NUMBERS The set of all possible branch numbers Character: size 3, range B1-B99 Street STREET_NAMES The set of all street names in Thailand Character: size 25 Area AREA_NAMES The set of all area names in Thailand Character: size 20 City CITY_NAMES The set of all city names in Thailand Character: size 15 Pcode POST_CODES The set of all postcodes in Thailand Character: size 8 Tel_No TELE_NUMBERS The set of all phone and fax numbers in Thailand Character: size 13 Fax_No FAX_NUMBERS