propertyNo), (clientNo, rentStart), and (propertyNo, rentStart). We select (clientNo, propertyNo) as
the primary key for the relation, and for clarity we place the attributes that make up the
primary key together at the left-hand side of the relation. In this example, we assume that
the rentFinish attribute is not appropriate as a component of a candidate key as it may contain
nulls (see Section 3.3.1).
The ClientRental relation is defined as follows:
ClientRental (clientNo, propertyNo, cName, pAddress, rentStart, rentFinish, rent,
ownerNo, oName)
The ClientRental relation is in 1NF as there is a single value at the intersection of each row
and column. The relation contains data describing clients, property rented, and property
owners, which is repeated several times. As a result, the ClientRental relation contains
significant data redundancy. If implemented, the 1NF relation would be subject to the
update anomalies described in Section 13.3. To remove some of these, we must transform
the relation into Second Normal Form, which we discuss shortly.
With the second approach, we remove the repeating group (property rented details)
by placing the repeating data along with a copy of the original key attribute (clientNo) in a
separate relation, as shown in Figure 13.13.
With the help of the functional dependencies identified in Figure 13.12 we identify a
primary key for the relations. The format of the resulting 1NF relations are as follows:
Client (clientNo, cName)
PropertyRentalOwner (clientNo, propertyNo, pAddress, rentStart, rentFinish, rent,
ownerNo, oName)
The Client and PropertyRentalOwner relations are both in 1NF as there is a single value at
the intersection of each row and column. The Client relation contains data describing clients
and the PropertyRentalOwner relation contains data describing property rented by clients and
property owners. However, as we see from Figure 13.13, this relation also contains some
redundancy and as a result may suffer from similar update anomalies to those described in
Section 13.3.
propertyNo), (clientNo, rentStart), และ (propertyNo, rentStart) เราเลือก (clientNo, propertyNo) เป็น
คีย์หลัก สำหรับความสัมพันธ์ และความชัดเจน ที่เราวางแอททริบิวต์ที่ประกอบ
คีย์หลักที่ด้านซ้ายของความสัมพันธ์กัน ในตัวอย่างนี้ เราสมมุติว่า
ไม่เหมาะสมเป็นส่วนประกอบสำคัญผู้สมัครอาจประกอบด้วยแอตทริบิวต์ rentFinish
nulls (ดูกำหนดความสัมพันธ์ส่วน 3.3.1).
The ClientRental เป็นดังนี้:
ClientRental (clientNo, propertyNo ระเบียน cName, pAddress, rentStart, rentFinish เช่า,
ownerNo, oName)
ClientRental ความสัมพันธ์อยู่ใน 1NF มีค่าเดียวของแต่ละแถว
และคอลัมน์ ความสัมพันธ์ประกอบด้วยข้อมูลที่อธิบายลูกค้า ทรัพย์สินที่ให้เช่า และคุณสมบัติ
เจ้าของ ซึ่งจะถูกทำซ้ำหลายครั้ง ส่งผล ประกอบด้วยความสัมพันธ์ ClientRental
สำรองข้อมูลที่สำคัญ หากดำเนินการ ความสัมพันธ์ของ 1NF จะต้องการ
ปรับปรุงในส่วน 13.3 ความผิด เอาเหล่านี้ เราต้องแปลง
ความสัมพันธ์ลงในฟอร์มที่สองปกติ ซึ่งเราหารือเร็ว ๆ
วิธีสอง เราเอากลุ่มซ้ำ (รายละเอียดของทรัพย์สินที่ให้เช่า)
โดยการใส่ข้อมูลซ้ำพร้อมกับสำเนาของแอททริบิวต์คีย์ต้นฉบับ (clientNo) ในการ
แยกความสัมพันธ์ ดังแสดงในรูปที่ 13.13.
ช่วยอ้างอิงทำงานที่ระบุไว้ในรูปที่ 13.12 เราระบุเป็น
คีย์หลักสำหรับความสัมพันธ์ รูปแบบของความสัมพันธ์ของ 1NF ผลลัพธ์จะเป็นดังนี้:
ไคลเอนต์ (clientNo ระเบียน cName)
PropertyRentalOwner (clientNo, propertyNo, pAddress rentStart, rentFinish เช่า,
ownerNo, oName)
ความสัมพันธ์ PropertyRentalOwner และไคลเอนต์เป็นทั้งใน 1NF มีค่าเพียงค่าเดียวที่
ตัดของแต่ละแถวและคอลัมน์ ความสัมพันธ์ที่ลูกค้าประกอบด้วยข้อมูลที่อธิบายลูกค้า
และข้อมูลอธิบายคุณสมบัติที่เช่า โดยลูกค้าที่ประกอบด้วยความสัมพันธ์ PropertyRentalOwner และ
เจ้าของทรัพย์สิน อย่างไรก็ตาม เราเห็นจากรูปที่ 13.13 ความสัมพันธ์นี้ยังประกอบด้วยบาง
ซ้ำ และผล อาจทรมานจากความผิดปรับปรุงคล้ายกับที่อธิบายไว้ใน
ส่วน 13.3.
การแปล กรุณารอสักครู่..
propertyNo), (clientNo, rentStart) และ (propertyNo, rentStart) เราเลือก (clientNo, propertyNo) เป็น
คีย์หลักสำหรับความสัมพันธ์และเพื่อความชัดเจนเราวางแอตทริบิวต์ที่ทำขึ้น
คีย์หลักร่วมกันที่ด้านซ้ายมือของความสัมพันธ์ ในตัวอย่างนี้เราคิดว่า
แอททริบิ rentFinish ไม่เหมาะสมเป็นส่วนประกอบที่สำคัญของผู้สมัครเป็นมันอาจจะมี
nulls (ดูมาตรา 3.3.1)
ความสัมพันธ์ ClientRental ถูกกำหนดไว้ดังต่อไปนี้
ClientRental (clientNo, propertyNo, CNAME, pAddress , rentStart, rentFinish เช่า
ownerNo, oName)
ความสัมพันธ์ ClientRental อยู่ใน 1NF ที่มีค่าเดียวที่สี่แยกของแต่ละแถว
และคอลัมน์ ความสัมพันธ์มีข้อมูลอธิบายลูกค้าที่ให้บริการเช่าและทรัพย์สินของ
เจ้าของซึ่งเป็นซ้ำหลายครั้ง เป็นผลให้ความสัมพันธ์ ClientRental มี
ความซ้ำซ้อนของข้อมูลที่มีนัยสำคัญ หากต้องการดำเนินความสัมพันธ์ 1NF จะเป็นเรื่องที่
ผิดปกติการปรับปรุงที่อธิบายไว้ในมาตรา 13.3 ในการลบบางส่วนของเหล่านี้เราต้องเปลี่ยน
ความสัมพันธ์ลงในแบบฟอร์มที่สองปกติซึ่งเราจะหารือในไม่ช้า
ด้วยวิธีการที่สองเราเอากลุ่มซ้ำ (สถานที่ให้บริการเช่ารายละเอียด)
โดยการวางข้อมูลที่ซ้ำกันพร้อมกับสำเนาของคุณลักษณะที่สำคัญที่เป็นต้นฉบับ (clientNo) ใน
ความสัมพันธ์ที่แยกจากกันดังแสดงในรูปที่ 13.13
ด้วยความช่วยเหลือของการพึ่งพาการทำงานที่ระบุไว้ในรูปที่ 13.12 เราระบุ
คีย์หลักสำหรับความสัมพันธ์ รูปแบบของความสัมพันธ์ที่เกิดขึ้น 1NF มีดังนี้
ลูกค้า (clientNo, CNAME)
PropertyRentalOwner (clientNo, propertyNo, pAddress, rentStart, rentFinish เช่า
ownerNo, oName)
ลูกค้าและ PropertyRentalOwner ความสัมพันธ์ทั้งใน 1NF ที่มีค่าเดียว ที่
สี่แยกของแต่ละแถวและคอลัมน์ ความสัมพันธ์ลูกค้าที่มีข้อมูลอธิบายลูกค้า
และความสัมพันธ์ PropertyRentalOwner มีสถานที่ให้บริการการอธิบายข้อมูลให้เช่าโดยลูกค้าและ
เจ้าของทรัพย์สิน แต่ที่เราเห็นได้จากรูปที่ 13.13 ความสัมพันธ์นี้ยังมีบางส่วนที่
ซ้ำซ้อนและเป็นผลอาจได้รับจากความผิดปกติคล้ายกับการปรับปรุงที่อธิบายไว้ใน
มาตรา 13.3
การแปล กรุณารอสักครู่..
propertyno ) , ( clientno rentstart , ) , ( propertyno rentstart , ) เราเลือก ( clientno propertyno
, ) เป็นคีย์หลักสำหรับความสัมพันธ์และความชัดเจนที่เราคุณลักษณะที่ทำให้
คีย์หลักด้วยกัน ที่ด้านซ้ายมือของความสัมพันธ์ ในตัวอย่างนี้เราจะสมมติว่า
คุณลักษณะ rentfinish ไม่เหมาะสมเป็นส่วนประกอบของคีย์คู่แข่งเป็นอาจประกอบด้วย
ค่า null ( ดูมาตรา 3.3.1 ) .
ความสัมพันธ์ clientrental เป็นดังนี้ :
clientrental ( clientno propertyno , CNAME , paddress rentstart rentfinish , , , ,
ownerno oname , ) ความสัมพันธ์ clientrental ใน 1NF เป็นค่าเดียวที่จุดตัดของแถวและคอลัมน์แต่ละ
. ความสัมพันธ์มีข้อมูลอธิบายลูกค้า ทรัพย์สินที่เช่า และเจ้าของทรัพย์สิน
ซึ่งถูกทำซ้ำหลายๆ ครั้งเป็นผลให้ความสัมพันธ์ clientrental ประกอบด้วย
ความซ้ำซ้อนข้อมูลสำคัญ ถ้าใช้ , 1NF ความสัมพันธ์จะต้อง update anomalies
อธิบายไว้ในมาตราที่ 13.3 . เพื่อลบบางส่วนของเหล่านี้ เราต้องเปลี่ยนความสัมพันธ์ในรูปแบบปกติที่สอง
ซึ่งเราจะหารือในเร็วๆ นี้ ด้วยวิธีที่สอง เราลบซ้ำกลุ่ม ( คุณสมบัติหรือรายละเอียด )
โดยการทำซ้ำข้อมูลพร้อมกับสำเนาคุณลักษณะคีย์เดิม ( clientno ) ใน
ความสัมพันธ์แยกดังแสดงในรูป 13.13 .
ด้วยความช่วยเหลือของการทำงานการอ้างอิงที่ระบุในรูป 13.12 เราระบุ
คีย์หลักสำหรับความสัมพันธ์ รูปแบบของผล 1NF ความสัมพันธ์ดังนี้ ลูกค้า ( clientno
,
propertyrentalowner ( CNAME ) clientno propertyno paddress , , ,rentstart rentfinish , ให้เช่า ownerno oname )
, ความสัมพันธ์กับลูกค้าและ propertyrentalowner ทั้งใน 1NF เป็นค่าเดียวที่
จุดตัดของแต่ละแถวและคอลัมน์ ความสัมพันธ์กับลูกค้ามีข้อมูลอธิบายลูกค้า
และ propertyrentalowner ความสัมพันธ์มีข้อมูลอธิบายคุณสมบัติเช่า โดยลูกค้าและ
เจ้าของทรัพย์สิน อย่างไรก็ตาม อย่างที่เราเห็นจากรูป 13.13 ,ความสัมพันธ์นี้ยังประกอบด้วย
ความซ้ำซ้อนและเป็นผลที่อาจประสบจากความผิดปกติปรับปรุงคล้ายกับที่อธิบายไว้ใน
ส่วน 13.3 .
การแปล กรุณารอสักครู่..