270 likes | 374 Views
Oracle Academy. prof. Carmen Popescu Oracle Academy Lead Adjunct. Entities / Atributes / Unique Identifiers Section 2. Entities / Atributes / Unique Identifiers Section 2. Entities / Atributes / Unique Identifiers Section 2. Entities / Atributes / Unique Identifiers Section 2.
E N D
Oracle Academy prof. Carmen Popescu Oracle Academy Lead Adjunct
Subtypes/SupertypesSection 4 WHEN: - When a group of instances has special properties, such as attributes or relationships that exist only for that group, or when there is some functionality that applies only to the group. RULES: - Exhaustive: sunt acoperite toate cazurile posibile, adica in exemplul nostru, orice publucatie este o carte (BOOK), o revista (MAGAZINE), brosura promotionala (PROMO BROCHURE), iar pt. a fi siguri ca acoperim toate situatiile sau daca ne gandim ca in viitor vom putea avea si alte produse s-a inclus si subtipul OTHER.
Subtypes/SupertypesSection 4 • RULES: • Mutually Exclusive:orice instanta apartine doar unui singur subtip, adica un produs nu poate fi simultan atat carte cat si revista. ANALOGIE: Se obtine de fapt o partitie a multimii instantelor supertipului.
BUSSINESS RULESSection 4 STRUCTURAL RULES: Reguli care se pot deduce de pe ERD Exemplu: Toti profesorii din scoala trebuie sa aiba o diploma de licenta. (=>campul licenta este obligatoriu!) PROCEDURAL RULES: Reguli interne ale firmei care nu pot fi “prinse” in ERD. Pentru a asigura respectarea acestor reguli se apeleaya la software. Aceste reguli trebuie sa fie documentate. Exemplu: Pentru a participa la cursul de Programare elevii trebuie sa fi parcurs cursul de Algebra. (se va scrie un program care verifica in baza de date daca elevul a facut acest curs)
TRANSFERABILITYSection 5 Nontransferabilitatea => valoarea campului AUTHOR_ID din tabela POEMS nu se poate modifica. Diamondul apare intotdeauna pe partea cu MANY!!!
BARED RELATIONSHIPSSection 5 Varianta 1: Order Item-urile vor primi un identificator unic in intreaga tabela. In acest caz fiecare ORDER ITEM este identificat unic doar prin id-ul din entitatea Order Item.
BARED RELATIONSHIPSSection 5 Varianta 2: Itemurile pot primi un numar de ordine in cadrul unei comenzi:. In acest caz doar id-ul din Entitatea ORDER ITEM nu mai este suficient, se observa ca sunt mai multe instante cu acelasi id 1. De aceea identificatorul unic este compus din Id-ul din ORDER ITEM impreuna cu Id-ul comenzii (combinatia ID + ORDER ID). Acest tip de UID se marcheaza cu relatie barata in partea entitatii ORDER ITEM (bara inseamna ca "imprumutam" id-ul entitatii din cealalta parte a relatiei)
SOLVING MANY-TO-MANY Section 5 • 1. Se pastreaza optionalitatea relatiilor originale • Ex: Each ORDER MUST contain one or more products • Each ORDER MUST contain one or more order items. Each PRODUCT MAY appear on one or more ORDERS. • Each PRODUCT MAY appear on one or more ORDER ITEMS.
SOLVING MANY-TO-MANY Section 5 2. In partea entitatii de intersectie (ORDER ITEM) relatiile sunt mandatorii. Each ORDER ITEM MUST contain one and only one PRODUCT. Each ORDER ITEM MUST be for one and only one ORDER.
SOLVING MANY-TO-MANY Section 5 3. Relatiile dinspre entitatea de intersectie sunt cu MANY: Each ORDER must contain ONE OR MORE order items. Each PRODUCT may appear on ONE OR MORE ORDER ITEMS.
SOLVING MANY-TO-MANY Section 5 4. Deobicei relatiile dinspre entitatea de intersectie sunt barate, asta insemnand ca un ORDER ITEM este unic identificat prin id-ul ORDER-ului impreuna cu ID-ul PRODUCT-ului. Se poate insa decide includerea unei chei artificiale care sa identifice unic fiecare order item si atunci dispar barele… Aceasta varianta este de preferat daca UID-urile entitatilor originate sunt compuse.