INSS 6511 Lecture 4 Normalization An Normalization example

  • View
    221

  • Download
    3

Embed Size (px)

Transcript

  • Slide 1
  • INSS 6511 Lecture 4 Normalization An Normalization example
  • Slide 2
  • INSS 6512 Normalization A process for evaluating and correcting table structure Minimize data redundancy Eliminate Anomalies
  • Slide 3
  • INSS 6513 Is Normalization Necessary? NO But it is helpful to maintain data integrity and consistency
  • Slide 4
  • INSS 6514 Denormalization Reversing normalization i.e from 3 rd NF to 2 nd NF Or 2 nd to 1 st NF
  • Slide 5
  • INSS 6515 Anomalies Updaterequires update in multiple locations DeletionA deletion may lose important information InsertionRequires complete definitions, ie does see page 187 (an employee can not be entered unless he is assigned a project
  • Slide 6
  • INSS 6516 Normalization Process 1 st NF 2 nd NF 3 rd NF Almost for 90-98% application 3 rd NF is sufficient
  • Slide 7
  • INSS 6517 Dependency When an attribute value depends on attribute B then B is dependent on A A--- B or values of B can be determined by value of A, reverse may or may not be true Ex: ssn-- Name SSN, CID-- Grade
  • Slide 8
  • INSS 6518 Un-normalized relation Remove REPEATING groups 1st NF Remove PARTIAL dependency 2nd NF Remove TRANSIENT dependency 3rd NF Every determinant is a candidate key Boyce-CODD NF If we can convert a relation into 3NF almost 90-98% of anomalies are removed
  • Slide 9
  • INSS 6519 Un-normalized form A relation is in un-normalized form, if it contains repeating group Typically shown in parentheses Ex: PART NO DESC. VENDOR-NAME ADDRESS UNIT-COST 1234 LOGIC INTEL SAN JOSE 150.00 chip LSI LOGIC SAN JOSE 120.00 5678 MEMORY INTEL SAN JOSE 50.00 chip SUPPLIER (Part_no, Part_DESC, (Vendor_name, Vendor_address, Unit_cost))
  • Slide 10
  • INSS 65110 Another Way (Part_NO, V_NAME)-> Unit_cost Part_NO->P_Desc (Partial dependency) V-Name->V_DESC (Partial Dependency) Part_NO P-DESCV_NAMEV_ADDRESSUNIT_COST
  • Slide 11
  • INSS 65111 1 st NF A relation is in 1 st NF if it does NOT contain any repeating groups (Part_no, Part_DESC, (Vendor_name, Vendor_address, Unit_cost)) 1 st NF..remove repeating groups Break it into TWO relations One without repeating group and ONE with repeating group AND PK of other relation S1 (Part_no, Part_DESC) S2 (Vendor_name, Part_no, Vendor_address, Unit_cost
  • Slide 12
  • INSS 65112 2 nd NF A relation is in 2nf NF if it is in 1stNF and it does not contain any partial dependency Partial dependency: A partial dependency exists if an attribute is dependent ONLY on PART of the PK and the WHOLE PK We must examine each relation for partial dependency NOTE: A partial dependency can only exist if there are more than ONE attribute as PK
  • Slide 13
  • INSS 65113 S1 (Part_no, Part_DESC) S2 (Vendor_name, Part_no, Vendor_address, Unit_cost Note S1 is already in 2 nd NF since there is only attribute as PK In S2: Question is Vendor_address dependent on BOTH vendor_name AND Part_NO? Question is Unit_price dependent on BOTH vendor_name AND Part_NO?
  • Slide 14
  • INSS 65114 Question is Vendor_address dependent on BOTH vendor_name AND Part_NO? Answer: NO Give me vendor_no and I can find vendor_address, we do NOT need Part_No to know vendor_address, ie Vendor_address depends ONLY Vendor_name, hence the partial dependency
  • Slide 15
  • INSS 65115 Question is Unit_price dependent on BOTH vendor_name AND Part_NO? YES if you examine the table, price changes with vendor and part_no, ie price depnds on both Part_no AND which vendor supplies it
  • Slide 16
  • INSS 65116 Remove Partial Dependency VENDOR _ADDRESS VENDOR_name UNIT_PRICE PART# Create TWO tables: One with Partial dependency and other without it S21 (Vendor_name, vendor_address) S22(Vendor_name, Part_no, Unit_price)
  • Slide 17
  • INSS 65117 3rd NF A relation is in 3 rd NF if it is in 2 nd NF and it does not contain any transitive dependency Transitive dependency: A transitive dependency exists when some of the non- key attributes are dependent on other non- key attributes
  • Slide 18
  • INSS 65118 So far we have three relations that are in at least 2 nd NF S1 (Part_no, Part_DESC) S21 (Vendor_name, vendor_address) S22(Vendor_name, Part_no, Unit_price) S1, S21 & S22 are also in 3 rd NF since there is ONLY ONE non_key attribute and transitive dependency can NOT exist
  • Slide 19
  • INSS 65119 ERD PARTPART-SUPPLIED VENDOR
  • Slide 20
  • INSS 65120 Q6/p 175 A Using notation from the book a.(C1, C3)- C2,C4,C5 (i.e., C2, C4, C5) are functionally dependent on C1 and C3 Above relation is in at least 1stNF, since there are No repeating groups C1 C2 there is PARTIAL dependency since C2 depends on PART of the PK and the whole PK C4-- C5 (transitive dependency since C5 ( a non-PK attribute) depends on another non-PK attribute (C4)
  • Slide 21
  • INSS 65121 Part b
  • Slide 22
  • INSS 65122 Part c
  • Slide 23
  • INSS 65123 Q8/P177 Table P5.8 Sample ITEM Records Attribute Name Sample Value ITEM_ID231134-678342245-225254668-449 ITEM_LABELHP DeskJet 895CseHP TonerDT Scanner ROOM_NUMBER325 123 BLDG_CODENTC CSF BLDG_NAMENottooclearNottoclearCanseefar BLDG_MANAGERI. B. Rightonit May B. Next
  • Slide 24
  • INSS 65124 ITEM_DESCRIPTION BLDG_CODE BLDG_NAME BLDG_MANAGER ITEM_ID BLDG_ROOM Problem 8 Solution
  • Slide 25
  • INSS 65125 ITEM_DESCRIPTION BLDG_CODE BLDG_NAME EMP_FNAME EMP_INITIAL BLDG_NAME BLDG_MANAGER BLDG_CODE EMP_CODE EMP_LNAME Problem 9 Solution: All tables in 3NF ITEM_ID BLDG_ROOM ITEM_DESCRIPTIONITEM_ID BLDG_ROOMBLDG_CODE EMP_CODE
  • Slide 26
  • INSS 65126
  • Slide 27
  • INSS 65127