Presentation is loading. Please wait.

Presentation is loading. Please wait.

Overview Of Relational DBMS Presented by Satrio Agung Wicaksono.

Similar presentations


Presentation on theme: "Overview Of Relational DBMS Presented by Satrio Agung Wicaksono."— Presentation transcript:

1 Overview Of Relational DBMS Presented by Satrio Agung Wicaksono

2 Relational Database Concepts  A database is a repository of data, designed to support efficient data storage, retrieval and maintenance  Relational databaseis a database modeled by relations  RelationR defined over n sets D1, D2, …Dnwhere Di represents some domain.  n-tuple(tuple) is a set where d1εD1, d2εD2, …

3 Sample Database Scheme  The relation schemas for this database can be defined as follows:  EMP(ENO, ENAME, TITLE, SAL, PNO, RESP, DUR)  PROJ(PNO,PNAME, BUDGET)

4 Key  Super Key :  uses keys to define identifiers for a relation’s tuples  used to enforce rules and/or constraints on database data.  Candidate Key  is a unique identifier for the tuples of a relation  most relations have multiple candidate keys  Primary Key  candidate key that is chosen to represent the relation in the database and to provide a way to uniquely identify each tuple of the relation  Alternate Key  the remaining candidate keys

5 The problem of redundancy  Data redundancy implies finding the same data in more than one location within deatabase tables  The following problems  Repetition anomaly  Insertion Anomalies  Deletion Anomalies  Update Anomalies  Cont’d….

6 Repetition anomaly  Repetition anomaly :  Certain information may be repeated unnecessarily  This is obviously a waste of storage and is contrary to the spirit of databases NIMNAMAPRODIK_MKTHN_MKTHN_AKADEMIKSEMESTERNAMA_MKSKSNILAI 10509xxxWiraIlkomSIF150122012 GanjilBDT3A 10509xxxWiraIlkomSIF150112012 GanjilABD3A

7 Insertion Anomalies  insertion anomaly : happens when the insertion of a data record is not possible unless we also add some additional unrelated data to the record NIMNAMAPRODIK_MKTHN_MKTHN_AKADEMIKSEMESTERNAMA_MKSKSNILAI 10509xxxWiraIlkomSIF150122012 GanjilBDT3A 10509xxxWiraIlkomSIF150112012 GanjilABD3A

8 Deletion Anomalies  deletion anomaly happens when deletion of a data record results in losing some unrelated information that was stored as part of the record that was deleted from a table NIMNAMAPRODIK_MKTHN_MKTHN_AKADEMIKSEMESTERNAMA_M K SKSNILAI 10509xxxWiraIlkomSIF150122012 GanjilBDT3A 10506xxxWiriTIFSIF150122012 GanjilBDT3A

9 Update Anomalies  An update anomaly occurs when updating data for an entity in one place may lead to inconsistency, with the existing redundant data in another place in the table NIMNAMAPRODIK_MKTHN_MKTHN_AKADEMIKSEMESTERNAMA_MKSKSNILAI 10509xxxWiraIlkomSIF150122012 GanjilBDT3A 10509xxxWiraIlkomSIF150112012 GanjilABD3A

10 Decompositions  Decomposition in relational database design implies breaking down a relational schema into smaller and simpler relations that avoid redundancy.  The idea is to be able to query the smaller relations for any information that we were previously able to retrieve from the original relational schema NIMNAMAPRODIK_MKTHN_MKTHN_AKADEMIKSEMESTERNAMA_MKSKSNILAI 10509xxxWiraIlkomSIF150122012 GanjilBDT3A 10506xxxWiriTIFSIF150122012 GanjilBDT3A NIMNAMAPRODI 10509xxxWiraIlkom 10506xxxWiriTIF NIMK_MKTHN_MKTHN_AKADEMIKSEMESTERNAMA_MKSKSNILAI 10509xxxSIF150122012 GanjilBDT3A 10506xxxSIF150122012 GanjilBDT3A

11 Functional Dependencies  Functional Dependency (FD) i:  a type of integrity constraint that extends the idea of a super key.  It defines a dependency between subsets of attributes of a given relation  Functional Dependency can be understood as “A determines B”, “B is dependent on A” or “A implies B” and denoted as “A → B”.

12 Functional Dependencies Example  Set Of Functional Dependecies …? NIMNAMAPRODIK_MKTHN_KURIKULUMTHN_AKADEMIKSEMESTERNAMA_MKNILAI 10509xxxWiraIlkomSIF150122012 GanjilBDTA 10509xxxWiraIlkomSIF150112012 GanjilABDA

13 Normal Forms  Normalization is a procedure in relational database design that aims at converting relational schemas into a more desirable form  The goal is to remove redundancy in relations and the problems that follow from it, namely insertion, deletion and update anomalies.  Type of Normal Form:  First Normal Form (1NF)  Second Normal Form (2NF)  Third Normal Form (3NF)  Boyce-Codd Normal Form (BCNF

14 First Normal Form (1NF)  A relation is considered to be in first normal form if all of its attributes have domains that are indivisible or atomic  A table is in 1NF if and only if it satisfies the following five conditions :  There is no top-to-bottom ordering to the rows.  There is no left-to-right ordering to the columns.  There are no duplicate rows  Every row-and-column intersection contains exactly one value from the applicable domain (and nothing else).  All columns are regular [i.e. rows have no hidden components such as row IDs, object IDs, or hidden timestamps]. Cont’d….

15 First Normal Form (1NF) NIMNAM A NO_HPFAKPROD I K_MKTHN_KURIK ULUM THN_AKADE MIK SEMESTE R NAMA_ MK SKSNILA I 10509xx x Wira0821xxx 08775xx PTIIKIlkomSIF150 12 2012 GanjilBDT3A 10506xx x Wiri08555xx 0888xxx PTIIKTIFSIF150 12 2012 GanjilBDT3A NIMNAM A NO_HPFAKPRO DI K_MKTHN_KURI KULUM THN_AKADE MIK SEMESTE R NAMA_ MK SKSNIL AI 10509xx x Wira0821xxxPTII K IlkomSIF1501 2 2012 GanjilBDT3A 10509xx x Wira08775xxPTII K IlkomSIF1501 2 2012 GanjilBDT3A 10506xx x Wiri08555xxPTII K TIFSIF1501 2 2012 GanjilBDT3A 10506xx x Wiri0888xxxPTII K TIFSIF1501 2 2012 GanjilBDT3A 1NF transformation

16 First Normal Form (1NF) NIMNAM A NO_HPFAKPRO DI K_MKTHN_ MK THN_AKADE MIK SEMEST ER NAMA_ MK SKSNILAI 10509xx x Wira0821xxx 08775xx PTIIKIlkomSIF150 12 2012 GanjilBDT3A 10506xx x Wiri08555xx 0888xxx PTIIKTIFSIF150 12 2012 GanjilBDT3A NIMNAMAFAKPRODI 10509xxxWiraPTIIKIlkom 10506xxxWiriPTIIKTIF NIMNO_HP 10509xxx0821xxx 10509xxx08775xx 10506xxx08555xx 10506xxx0888xxx NIMK_MKTHN_M K THN_AKADEM IK SEMESTE R NAMA_ MK SKSNILA I 10509xx x SIF150 12 2012 GanjilBDT3A 10506xx x SIF150 12 2012 GanjilBDT3A

17 Second Normal Form (2NF)  A relation is in second formal form when it is in 1NF and there is no such non-key attribute that depends on part of the candidate key, but on the entire candidate key NIMNAMAFAKPRODI 10509xxxWiraPTIIKIlkom 10506xxxWiriPTIIKTIF NIMNO_HP 10509xxx0821xxx 10509xxx08775xx 10506xxx08555xx 10506xxx0888xxx NIMK_MKTHN_MKTHN_AKADEMIKSEMESTERNILAI 10509xxxSIF150122012 GanjilA 10506xxxSIF150122012 GanjilA K_MKTHN_MKNAMA_MKSKS SIF15 012 2012BDT3 SIF15 012 2012BDT3

18 Third Normal Form (3NF)  A relation is in third normal form if it is in 2NF and there is no such non-key attribute that depends transitively on the candidate key.  That is every attribute depends directly on the primary key and not through a transitive relation where an attribute Z may depend on a non-key attribute Y and Y in turn depends on the primary key X  Transitivity means that when X→Y and Y→ Z, then X→Z. Cont’d…

19 Third Normal Form (3NF) NIMNAMAPRODI 10509xxxWiraIlkom 10506xxxWiriTIF NIMNO_HP 10509xxx0821xxx 10509xxx08775xx 10506xxx08555xx 10506xxx0888xxx NIMK_MKTHN_MKTHN_AKADEMIKSEMESTERNILAI 10509xxxSIF150122012 GanjilA 10506xxxSIF150122012 GanjilA K_MKTHN_MKNAMA_MKSKS SIF15 012 2012BDT3 SIF15 012 2012BDT3 FAKPRODI PTIIKIlkom PTIIKTIF

20 Boyce-Codd Normal Form (BCNF)  Boyce-Codd Normal Form is a stricter version of 3NF that applies to relations where there may be overlapping candidate keys.  A relation is said to be in Boyce-Codd normal form if it is in 3NF and every non-trivial FD given for this relation has a candidate key as its determinant.  That is, for every X → Y, X is a candidate key.

21 Boyce-Codd Normal Form (BCNF) K_MKTHN_MKTHN_AKADEMIKSEMESTERKELASPRODIHARI_KE SIF150122012 GanjilAILKOM1 SIF150122012 GanjilATIF2 PTI150072012 GanjilATIF2 PTI150072012 GanjilATIF5

22 Relational Algebra  Relational algebra is a set of operators to manipulate relations  Defined 8 such operators, two groups of 4 each:  The traditional set operations: union, intersection, difference and Cartesian product  The special relational operations: select, project, join and divide

23 Union  The union of two union-compatible relations R1 and R2, R1 UNION R2, is the set of all tuples t belonging to either R1 or R2 or both  The formal notation for a union operation is U

24 Intersection  The intersection of two union-compatible relations R1 and R2, R1 INTERSECT R2, is the set of all tuples t belonging to both R1 and R2.  The formal notation for an intersect operation is ∩.

25 Difference  The difference between two union-compatible relations R1 and R2, R1 MINUS R2, is the set of all tuples t belonging to R1 and not to R2.  The formal notation for a difference operation is -

26 Cartesian product  The Cartesian product between two relations R1 and R2, R1 TIMES R2, is the set of all tuples t such that t is the concatenation of a tuple r belonging to R1 and a tuple s belonging to R2. The concatenation of a tuple r = (r1, r2, …, rm) and a tuple s = (sm+1, sm+2, …, sm+n) is the tuple t = (r1, r2, …, rm, sm+1, sm+2, …, sm+n).  R1 and R2 don’t have to be union-compatible.  The formal notation for a Cartesian product operation is ×

27 Selection  The select operation selects a subset of tuples from a relation.  It is a unary operator, that is, it applies on a single relation.  The tuples subset must satisfy a selection condition or predicate.  The formal notation for a select operation is: σ ( )  where is  / [AND/OR/NOT / …]  The comparison operator can be, =, =, <> and it depends on attribute domain or data type constant value

28 Selection

29 Projection  The project operation builds another relation by selecting a subset of attributes of an existing relation.  Duplicate tuples from the resulting relation are eliminated. It is also a unary operator.  The formal notation for a project operation is:  π ( )  where is the subset attributes of an existing relation

30 Projection

31 JOIN  The join operation concatenates two relations based on a joining condition or predicate.  The relations must have at least one common attribute with the same underlying domain, and on such attributes a joining condition can be specified.  The formal notation for a join operation is:  R ►◄ S  where is   The comparison operator can be, =, =, <> and it depends on attributes domain.

32 JOIN

33 Division  The division operator divides a relation R1 of degree (n+m) by a relation R2 of degree m and produces a relation of degree n.  The (n+i)th attribute of R1 and the ith attribute from R2 should be defined on the same domain.  The result of a division operation between R1 and R2 is another relation, which contains all the tuples that concatenated with all R2 tuples are belonging to R1 relation.  The formal notation for a division operation is ÷.

34 Division


Download ppt "Overview Of Relational DBMS Presented by Satrio Agung Wicaksono."

Similar presentations


Ads by Google