Chapter 2 Relational Database

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
จำนวน สถานะ NUMBER OF STATES. ประเด็นที่ สนใจ The number of distinct states the finite state machine needs in order to recognize a language is related.
Advertisements

E-R Model บรรยายโดย สุรางคนา ธรรมลิขิต.
Security and Integrity
Entity-Relationship Model
ฐานข้อมูลและการออกแบบฐานข้อมูล
– Web Programming and Web Database
Structured Query Language (SQL)
Chapter 3 แบบจำลองข้อมูล : Data Models
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
Customer Relationship Management (CRM)
Introduction to Database System
ครูรุจิรา ทับศรีนวล “Room service”. “Room service”
Database Management System
Database & DBMS Architecture วรวิทย์ พูลสวัสดิ์. 2 2 ฐานข้อมูล (Database) - Data and its relation - Databases are designed to offer an organized mechanism.
PHP FRAMEWORK – Web Programming and Web Database Asst. Prof. Dr. Choopan Rattanapoka.
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.
ประเภทของคำสั่งของภาษา SQL
Microsoft Access การใช้งานโปรแกรมระบบจัดการฐานข้อมูล
ภาษา SQL (Structured Query Language)
Chapter 3 : แบบจำลองฐานข้อมูล (Data Model)
Chapter 5 Database Design
Knowledge Audit and Analysis
Chapter 5 Database Systems and Business Intelligence
Integrity Constraints
SQL (Structured Query Language)
บทที่ 4 แบบจำลองฐานข้อมูลเชิงสัมพันธ์ Relational Database
บทที่ 4 โครงสร้างฐานข้อมูลแบบ Relational (Relational Database Model)
สถาปัตยกรรมของระบบฐานข้อมูล
Toward National Health Information System
การออกแบบสถาปัตยกรรมแอปพลิเคชั่น
พื้นฐานการเขียนแบบทางวิศวกรรม
บทที่ 5 แบบจำลองกระบวนการ
SQL (Structured Query Language)
Control Charts for Count of Non-conformities
Information System Development
Chapter 6 : แบบจำลอง E-R (Entity-Relationship Model)
บทที่ 5 การควบคุมความถูกต้องให้กับข้อมูล (Data Integrity)
โดย อ.พัฒนพงษ์ โพธิปัสสา
Chapter 9 : ภาษาทางด้านฐานข้อมูลคำสั่ง SQL (SQL Command)
หน่วยที่ 2 ข้อมูลและสารสนเทศ
การจัดการฐานข้อมูลด้วยโปรแกรม MS Access 2013
7 Entity-Relationship Modeling แผนภาพความสัมพันธ์ ORACLE MS SQL SERVER
Generic View of Process
การออกแบบระบบ System Design.
Chapter 6 Information System Development
ระเบียบวิธีวิจัยพื้นฐานทางการเงิน
บทที่ 1 ความรู้เบื้องต้น เกี่ยวกับระบบสารสนเทศ
Multimedia Production
บทที่ 4 ฐานข้อมูล.
(การสุ่มตัวอย่างเพื่อการยอมรับ)
ระเบียบวิธีวิจัยพื้นฐานทาง การตลาด
ที่มาและหน่วยงานกาชาดต่างๆ
โครงสร้างข้อมูล( Data Structure)
แล้วไงเกี่ยวกับความจริง What About Truth?
Injection.
บทที่ 5 การออกแบบวิจัย อ.พิสิษฐ์ พจนจารุวิทย์
Inventory Control Models
Integrated Mathematics
บทที่ 2 รูปแบบของฐานข้อมูล
โครงการสัมมนาเชิงปฏิบัติการบูรณาการภาครัฐและเอกชนในการจัดยุทธศาสตร์เศรษฐกิจภาคตะวันออก This template can be used as a starter file to give updates for.
ฐานข้อมูลเชิงสัมพันธ์ Relational Database
[ บทที่ 1 ] ระบบฐานข้อมูล
ระเบียบวิธีวิจัยพื้นฐานทางธุรกิจ
บทที่ 5 การออกแบบวิจัย อ.พิสิษฐ์ พจนจารุวิทย์
สถิติเพื่อการวิเคราะห์ข้อมูล
CIT2205 โปรแกรมประยุกต์ด้านการจัดการฐานข้อมูล
กลยุทธ์การทดสอบซอฟต์แวร์ วิศวกรรมซอฟต์แวร์ (Software Engineering)
สารสนเทศศาสตร์เบื้องต้น
Data resource management
ใบสำเนางานนำเสนอ:

954245 Chapter 2 Relational Database Modern Management and Information Technology Collage of Arts, Media and Technology Chiang Mai University

Outline The range of database applications Relational database (definition and characteristic) Key Data Integrity Rules Relationship

What can databases help us do?

Database System Concept

1. The Range of Database Applications It is important to understand that the applications and the database do not need to reside on the same computer. We divide the range of database applications into three categories based on the location of the client (application) and the database software itself Personal Two-tier Multitier databases

Personal Database Are designed to support one user and have long resided on PCs, laptops, smart phones and PDAs. Widely used because they improve personal productivity The data cannot easily be shared with other users and has other limitations

Personal Database Purpose To provide the user with the ability to manage (store, update, delete, and retrieve) small amounts of data in and efficient manner. For example store customer information and the details of contacts consider a company that has a number of salespersons who call on actual or prospective customers A database of customers and pricing application can enable the salesperson to determine the best combination of quantity and type of items for the customer to order.

Two-tier Database with LAN Characteristics of two- tier databases Workgroup Linked by network Sharing data Different user views (Authentication)

Two-tier Client/Server Database The most common method of sharing data for user by creating a two-tier client/server application Each member of the workgroup has computer and linked by network (LAN) Database and database management system are stored on a central device called the database server (connected to network) Each member of workgroup has access to the shared data Different group members may have different user views of the shared database

Multitier Client/Server Database (n-tier) The most significant implication for database development form the use of multitier client/server architectures is the ease of separating the development of the database and the modules that maintain the data from the information system modules that focus on business logic and / or presentation logic This architecture allows to improve performance and maintain ability of the application and database

Three-tier Architectures Popular choice for internet application Includes another server layer in addition to the client and database server layers Increase scalability, flexibility, performance, and reusability

Three-tier Architectures

Three-tier Architecture Workgroup has several multitier applications (between 25 and 100 persons) User interface is accessible on the individual user’s computers User interface: web browser based (written by Visual Basic.NET, Visual C#, or Java Application layer: contains the business logic required to accomplish the business transactions requested by users

n-tier Client Server Application servers Database servers Management server

Summary of Database Applications Type of Database/Application Typical Number of Users Typical Size of Database Personal 1 Megabytes Two-tier 5-100 Megabytes-gigabytes Three-tier 100-1,000 Gigabytes Enterprise resource planning (ERP) >100 Gigabytes-terabytes Data warehousing Terabytes-petabytes

Technical term technical term word Relation Table Tuple Row , Record Attribute Column, Field Cardinality Number of Rows Primary Key Unique Identifier

2. Relational Database The notion "relational" is motivated by the mathematical concept of a relation. Relations in mathematics are sets of tuples. Relational databases are collections of one or more relations. In practice, relations can be visualized as tables, the rows of which are individual records of data with the same (homogeneous) field structure. The idea to organize data in tables is quite old and pretty obvious. The idea to investigate this representation of data by means of the theory of relations is due to one man, who proposed this view at the end of the 1960s: by Edgar F. Codd

Relational Database (RDB) A relational database (RDB) is a collective set of multiple data sets organized by tables, records and columns. RDBs establish a well-defined relationship between database tables. Tables communicate and share information, which facilitates data searchability, organization and reporting. RDBs use Structured Query Language (SQL), which is a standard user application that provides an easy programming interface for database interaction.

Relational Database

Definition There are a set of tables. The name of table is the name of relation. The columns in relation are called attributes. Domain is defined to data in the attribute that has same data type. The rows are called tuples.

Relational Database Attributes Degree = Cardinality = 3 4 Degree is the number of attributes. Cardinality is the number of rows. EmployeeNumber FirstName LastName 100 Mary Abermany 700 Jerry Caldera 300 Alea Copley 40 Murugan Jacksoni Degree = Cardinality = 3 4

Characteristic of data record in relation 1. No repeating data in each row

Characteristic of data record in relation 2. The order of data in each row is insignificant.

Characteristic of data record in relation 3. The order of data in each attribute is meaningless.

Characteristic of data record in relation 4. For each attributes, it can record only 1 value.

Characteristic of data record in relation 5. The value in each attribute record data in the same domain.

RDBs have many other advantages Easy extendibility, as new data may be added without modifying existing records. This is also known as scalability. New technology performance, power and flexibility with multiple data requirement capabilities. Data security, which is critical when data sharing is based on privacy. For example, management may share certain data privileges and access and block employees from other data, such as confidential salary or benefit information.

3. Key Primary Key (PK) Foreign Key (FK) Candidate Key Composite Key

Primary Key (PK) An attribute or a combination of attributes that uniquely identifies each row in a relation Primary key is a unique identifier for a relation. There could be several candidate keys, as long as the they satisfy two properties: 1. uniqueness 2. minimality From the set of candidate keys, one is chosen to be the primary key. The others become alternate keys. EXAMPLE: The relation R has several candidate keys. ID SSN License_Number NAME If we select ID to be the primary key, then the other candidate keys become alternate keys. Uniqueness and minimal

Foreign keys provide the "links" between two relations. Foreign key (FK) An attribute in a relation that serves as the primary key of another relation in the same database Foreign keys provide the "links" between two relations. database must not contain any unmatched foreign key values.

Candidate key (CK) An attribute, or combination of attributes, that uniquely identifies a row in a relation candidate key

Composite key A primary key that consists of more than one attribute More than one attribute is needed to make the entity unique

Registration database Please list all of PK, FK, CK? Student_id Course_id term Academic_year section grade Lecturer_id Student_id name surname address Telephone_no Course_id Course_name Description Unit Type Lecture_id LName LSurname Telephone Major_id Major_id Major_name

Null Values NULL is not the number zero. NULL is not the empty string value. NULL is the value used to represent an unknown piece of data. Comparisons between two null values, or between a NULL and any other value, return unknown because the value of each NULL is unknown. Null ไม่ใช่ค่าที่เป็น 0 (กรณีเป็นตัวเลข) และไม่ใช่ space (ในกรณีเป็นข้อความ) Null หมายถึงไม่ทราบค่าหรือไม่รู้ค่าแน่ชัด Null เป็นศัพท์เฉพาะใน Relational Database หมายถึง ไม่ทราบค่าข้อมูลที่รู้แน่ชัด เราสามารถกำหนดให้ค่าของคอลัมน์ใดๆ เป็น Null ได้ (ถ้าเป็นไปได้ควรใส่ให้ครบจะดีที่สุด ) ยกเว้นคอลัมน์ที่เป็น Primary Key เพราะจะไม่สามารถนำ Primary Key มาใช้เข้าถึงข้อมูลในแต่ละแถวได้

4. Data Integrity Rules/Integrity Constraints The relational data model includes several types of constraints, or rules limiting accept- able values and actions, whose purpose is to facilitate maintaining the accuracy and integrity of data in the database. The major types of integrity constraints are domain constraints, entity integrity, and referential integrity

4. Data Integrity Rules Data integrity rule is a procedure to control the accuracy and consistency of data stored in a database. There are 3 rules: Entity Integrity Domain Integrity Referential Integrity กฎควบคุมการคงสภาพของข้อมูล (Integrity Constraint) กฎการคงสภาพของข้อมูล หมายถึง กระบวนการที่ใช้สำหรับควบคุมความถูกต้องคล้องจองหรือมีความสมเหตุสมผลกันของข้อมูลใน database โดยการควบคุมการคงสภาพนั้น จะใช้คีย์หลัก (Primary key) และคีย์นอก (Foreign Key) เป็นเครื่องมือสำคัญ มีด้วยกัน 3 กฎ คือ กฎความคงสภาพของ Entity (Entity Integrity Rule) กฎความคงสภาพของ Domain (Domain Integrity Rule) กฎความคงสภาพของการอ้างอิง (Referential Integrity Rule)

Entity Integrity Every table must have a primary key and that the column or columns chosen to be the primary key should be unique and not null. Code Name 441210073 แก้ว ใจเพชร 441210093 มานี ใจใส่ มานะ ใจดี ปิติ ใจซื่อ กฎความคงสภาพของเอนติตี้ (Entity Integrity Rule) จะต้องไม่มี attribute ใดที่ประกอบขึ้นเป็นคีย์หลักของ relation มีข้อมูลที่เป็นค่าว่าง หรือ ค่าข้อมูลของคีย์หลัก (Primary key) จะต้องไม่เป็นค่าว่าง (Null Value)

Entity Integrity Entity integrity rule Is designed to ensure that every relation has a primary key and that the data values for that primary key are all valid Guarantees that every primary key attribute is non-null Entity integrity rule No primary key attribute (or component of a primary key attribute) may be null

Domain Integrity Domain integrity means the definition of a valid set of values for an attribute. You define  - data type,  - length or size - is null value allowed - is the value unique or not for an attribute. Pcode Pname Ptype QTY Price 001 ปากกา 01 10 5 002 ดินสอ 20 2 003 โต๊ะ 03 5.5 1,600 004 โคมไฟ 02 4 500 2. กฎความคงสภาพของ Domain (Domain Integrity Rule) นิยามของขอบเขตของค่าที่เป็นไปได้ของ attribute หนึ่งๆ ที่ถูกกำหนดขึ้น เช่น เราต้องกำหนดคุณลักษณะต่างๆ ของข้อมูล ประเภทของข้อมูล ขนาด ยอมรับค่า null หรือไม่ สำหรับ attribute หนึ่ง ต้องเป็นค่าไม่ซ้ำกันหรือไม่ เป็นต้น

Domain Integrity All of the values that appear in a column of a relation must be from the same domain Domain is the set of values that may be assigned to an attribute Domain definition usually consists of the following components: domain name, meaning, data type, size (or length), and allowable values or allowable range (if applicable)

Domain Definitions for INVOICE Attributes Domain Name Description Domain Cust_ID Customer ID Set of all possible customer ID Character: size 5 Cust_Name Customer Names Set of all possible customer names Character: size 25 Order_ID Order ID Set of all possible order ID OrderDate Order Dates Set of all possible order dates Date: format mm/dd/yy Product_ID Product ID Set of all possible product ID StandardPrice Unit Prices Set of all possible unit prices Double OrderQuantity Quantities Set of all possible orders quantities Integer: 3 digits

Referential Integrity Product Any value of foreign key in the relation must be refer to the primary key value in another relation. Otherwise it must be null. Pcode Pname Ptype QTY Price 001 ปากกา 01 10 5 002 ดินสอ 20 2 003 โต๊ะคอมฯ 03 1,600 004 โคมไฟ 02 4 500 3. กฎความคงสภาพของการอ้างอิง (Referential Integrity Rule) ถ้า relation ใดมี attribute ที่เป็นคีย์นอก (Foreign Key) อยู่ ข้อมูลที่เป็นคีย์นอกนั้นจะต้องเป็นข้อมูลที่มีอยู่ใน Primary Key ของอีก relation หรือ ถ้าไม่แล้วข้อมูลที่เป็น foreign key จะต้องเป็นค่าว่าง Product Type Ptype Pname Location 01 เครื่องเขียน A2 02 ไฟฟ้า A5

Referential Integrity Is a rule that maintains consistency among the rows of two relations If there is a foreign key in one relation, either each foreign key value must match a primary key value in another relation or the foreign key value must be null Referential integrity constraint A rule that states that either each foreign key value must match a primary key value in another relation or the foreign key value must be null

Modification affect to Referential Integrity Delete the rows in the relation that their primary key are the foreign key in another relation. Modify the primary key value in the relation that refer to foreign key in another relation. การเปลี่ยนแปลงที่มีผลกระทบต่อกฎการคงสภาพของการอ้างอิง - การลบแถวหนึ่งๆ ในตารางที่มีคีย์หลักซึ่งเป็นคีย์นอกของอีกตารางหนึ่ง - การแก้ไขเปลี่ยนแปลงข้อมูลคีย์หลักซึ่งเป็นคีย์นอกของอีกตารางหนึ่ง

Modification affect to Referential Integrity Pcode Pname Ptype QTY Price 001 ปากกา 01 10 5 002 ดินสอ 20 2 003 โต๊ะคอมฯ 02 1,600 004 โคมไฟ 4 500 Product Break the rule Product Type Ptype Pname Location 01 เครื่องเขียน A2 02 ไฟฟ้า A5 Change 02 to 04

3 cases to keep Referential Integrity Cascade changing the primary key of a row in the primary table, the foreign key values are updated in the matching rows in the related table. Restricted changing the primary key of a row in the primary table can be done when there not refer to another relation as foreign key. Otherwise, modification can not be done. Nullifies changing the primary key of a row in the primary table, the foreign key values are set to null. DBMS มีวิธีการจัดการข้อมูลเพื่อให้เป็นไปตามกฎการคงสภาพที่นิยมอยู่ 3 วิธี กระทำแบบต่อเนื่อง (Cascade) คือ ถ้ามีการลบ หรือ เปลี่ยนแปลงข้อมูลที่เป็น primary key ที่มีการอ้างถึงแล้วจะต้องมีการลบหรือเปลี่ยนแปลงข้อมูลใน relation ที่มีการอ้างถึงนั้นด้วย กระทำแบบมีข้อจำกัด (Restricted) คือ DBMS จะอนุญาตให้ลบหรือเปลี่ยนแปลงข้อมูลที่เป็น Primary key ก็ต่อเมื่อ primary key นั้น ไม่ถูกอ้างอิงใน relation อื่นใด มิฉะนั้นจะปฏิเสธการลบหรือเปลี่ยนแปลง กระทำโดยการใส่ค่าว่าง (Nullifies) คือ DBMS จะยอมให้มีการลบหรือเปลี่ยนแปลงข้อมูลที่เป็น primary key ได้ แต่ต้องมีการใส่ค่าว่าง (Null Value) ลงไปยังข้อมูลของ attribute ที่เป็น foreign key ที่มีการอ้างอิงถึงข้อมูลที่ถูกลบหรือเปลี่ยนแปลง

Classification of relation 1. Base Relation Base Relation is a storage relation 2. View Relation that are authorized some views to each user Database ประกอบด้วยตารางหลายประเภท Base Relation เป็น relation ที่ถูกกำหนดขึ้นเพื่อเก็บข้อมูลเพื่อนำไปใช้ โดย Base Relation จะเป็น relation ที่เก็บข้อมูลอยู่จริง 2. วิว (View) เป็น relation ที่ถูกสร้างขึ้นตามความต้องการของผู้ใช้งานแต่ล่ะคน โดยจะกำหนด view ของตนขึ้นมาจาก base relation

5. Relationship Each table is known as a relation, which contains one or more data category columns. Each table record (or row) contains a unique data instance defined for a corresponding column category. One or more data or record characteristics relate to one or many records to form functional dependencies. Relationship (ความสัมพันธ์) แบ่งออกเป็น 3 ประเภท คือ One to One Relationship (1 – 1) One to Many Relationship (1 – M) Many to Many Relationship (M – N) ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One to One Relationship) เป็นความสัมพันธ์ที่เข้าใจง่ายที่สุด เป็นความสัมพันธ์ของข้อมูลใน 1 เรคอร์ดในตารางหนึ่งมีความสัมพันธ์กับข้อมูลอย่างมากหนึ่งข้อมูลกับอีกเรคอร์ดในอีกตารางหนึ่งเท่านั้นในลักษณะที่เป็นหนึ่งต่อหนึ่งนักศึกษา 1 คนเท่านั้นที่จะเป็นนายกองค์การนักศึกษา ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One to Many Relationship) เป็นความสัมพันธ์ที่พบบ่อยที่สุดในฐานข้อมูล เป็นความสัมพันธ์ของข้อมูลใน 1 เรคอร์ดในตารางหนึ่งมีความสัมพันธ์กับข้อมูลมากกว่าหนึ่งข้อมูลกับอีกเรคอร์ดในอีกตารางหนึ่งเท่านั้นในลักษณะที่เป็นหนึ่งต่อหนึ่งนักศึกษาแต่ละคนสามารถลงทะเบียนเรียนได้มากกว่า 1 วิชา ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many to Many Relationship) เป็นความสัมพันธ์ของข้อมูลในเรคอร์ดใดๆ ของตารางหนึ่งมีค่าตรงกับข้อมูลของหลายๆ เรคอร์ดในตารางอื่นๆ รายวิชา 1 รายวิชามีอาจารย์สอนได้มากกว่า 1 คน การสั่งซื้อสินค้าในแต่ละครั้งสามารถสั่งซื้อสินค้าได้มากกว่า 1 ชนิด

Types of relationships in database There are four relationships in database One to One (1-1): One table record relates to another record in another table One entity is associated with another entity. For Ex: Each employee is associated with one department One to Many (1-M): One table record relates to many records in another table One entity is associated with many other entities. For Ex: A company is associated with all working employees in one branch/office/country

Types of relationships in database Many to One (M-1) Many entities are associated with only one entity. For Ex: Many employees are associated with one project. Many to Many (M-N) More than one table record relates to more than one record in another table Many entities are associated with many other entities. For Ex: In a company many employees are associated with multiple projects(completed/existing), and at the same time, projects are associated with multiple employees.

Question 1-1 1-M M-N

Question 1-1 1-M M-N

Question 1-1 1-M M-N

Glossary of Terms Schema A structure that contains descriptions of objects created by a user, such as base tables, views, and constraints, as part of a database Base table A table in the relational data model containing the inserted raw data. Base tables correspond to the relations that are identified in the database’s conceptual schema Constraint A rule that cannot be violated by database users

Questions

References Hoffer, J.A., Ramesh, v., and Topi, H. (2013). Modern Database Management. 11th ed. ISBN 978-0-13-266225-3 Kroenke, D. M. (2006). Database Processing: Fundamentals, design, and implementation. Pearson Prentice Hall. New Jersey.

Web http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster- overview.html https://sites.google.com/site/kittirak/mysql-cluster/bth- thi-2-rucak-kab-mysql-cluster https://www.digitalocean.com/community/tutorials/how- to-create-a-multi-node-mysql-cluster-on-ubuntu-16-04 http://ewebarchitecture.com/web-databases/refined- database-relationships