You are on page 1of 13

Database Normalization Process Design Database (review) In Process Design Database there are: Collect requirement of user / business.

Develop E-R Model based requirement of user / business. Convert E-R Model to relationship gathering ( tables). Relationship normalization to eliminated or removed anomaly. Implementation to database by made table to each relationship which normalization. Database Normalization Normalization is process forming of database structure so most ambiguity can be eliminated, in other mean normalization is the process of efficiently organizing data in a database. Normalization phase started from lightest phase ( 1NF) until tightest ( 5NF). Usually only coming up with level 3NF or BCNF because have adequate enough to yield the tables of which with quality goodness. Why done a normalization?

Optimizing table structures. Improve speed. Remove same data. More efficient in usage of storage media. Lessen redundancy. Avoid anomalies ( anomalies insertion, anomalies deletion, update anomalies). Improved Data integrity.

Functional Dependency The concept of functional dependency (also known as normalization was introduced by professor Codd in 1970 when he defined the first three normal forms (first, second and third normal forms). A table said goodness (efficient) or normal if fulfilling 3 criteria, that is:

If there is decomposition of table, so it had to be secured (Lossless-Join Decomposition). It's mean, after the tables elaborated become new tables, the new tables can result first tables with same precisely. Its preserve dependency functional at the moment data change (Dependency Preservation). Don't break Boyce-Code Normal Form (BCNF)

If third criterion (BCNF) cannot complete, so at least the tables don't break (3rd Normal Form / 3NF). Functional Dependency describe a relation of attributes in a relationship. An attribute said by functionally dependant at other if us use the attribute value to determine other attribute value. Symbol used is --> for representing dependency functional. --> read functional determine. Notation: A --> B A and B are attribute from a table. it's mean functionally A determine B or of B depend on A, if and only if there is 2 data line with A value is same, so B value is same also. Notation: A --> B or A x--> B is reverse from previous notation.

Example:

Functional Dependency: NRP--> Nama Mata_Kuliah, NRP --> Nilai Non Functional Dependency: Mata_Kuliah --> NRP NRP --> Nilai

Functional Dependency from tables of Nilai: # Nrp --> Nama Because to each Nrp value is same, so Name value is same too. # {Mata_Kuliah, NRP} --> Nilai Because attribut value depend on Mata_Kuliah and NRP by together. In other meaning for the Mata_Kuliah and NRP is same, so have same Nilai too, because Mata_Kuliah and NRP is key ( having the character is unique). # Mata_Kuliah --> NRP # NRP --> nilai

First Normal Form - 1NF An table said located in normal form 1 if its do not reside in form of unnormalized table, where happened duplication of field which of a kind and enable there is field null (empty) Don't permitted existence of: 1. Much valuable attribute (Multi value attribute). 2. Composite attribute or combination from both Become: Price of Domain attribute must represent atomic price. For example table Mahasiswa :

That Tables is not complete 1NF condition. Decomposition becomes: Student Table:

Second Normal Form - 2NF Normal form 2NF fulfilled in a table if have fulfilled form 1NF, and all attribute beside primary key, and have Functional Dependency at key primary. A table do not fulfill 2NF, if there is attribute (Functional Dependency) only have character partial only ( only depend on some from key primary. If there are attribute which do not have depended to key primary, so the attribute have to be moved or eliminated. Functional dependency X --> Y is said full if erase an attribute A of X its mean that Y no longer functional dependent. Functional dependency X --> Y is said partial if erases an A's attribute of X matter Y still functional dependent. Relationship schemer on 2NF form if each attribute non primary key A R full dependent functionally on primary key R. This table accomplishes 1NF, but not exclude 2NF:

That table is Not accomplishing 2NF form, because (NIM, KodeMk) is regarded as the primary key: {NIM, KodeMk} -> NamaMhs {NIM, KodeMk} -> Alamat {NIM, KodeMk} -> Matakuliah {NIM, KodeMk} -> SKS {NIM, KodeMk} -> NilaiHuruf Table need to decomposition become some table measures 2NF

Third Normal Form - 3NF 3NF normal form is fulfilled if have fulfilled 2NF form, and if no attribute non primary key that have dependency to attribute non primary key another (transitive dependency). This Following collegian table measures up 2NF, but doesn't accomplish 3NF:

Because still there are attribute not primary key (namely Kota and Provinsi) own depended to attribute not other primary key (name is Kodepos} : Kodepos --> {Town, Provinsi } So that the table require to decomposition become : Mahasiswa ( NIM, Namamhs, Jalan, Kodepos) Kodepos ( Kodepos, Provinsi, Town)

Boyce-Codd Normal Form (BNCF) Boyce-Codd normal form (BCNF) is a normal form used in database normalization. It is a slightly stronger version of the third normal form (3NF). A table is in Boyce-Codd normal form if and only if, for every one of its non-trivial functional dependencies X --> Y, X is a superkeythat is, X is either a candidate key or a superset thereof. BCNF was developed in 1974 by Raymond F. Boyce and Edgar F. Codd to address certain types of anomaly not dealt with by 3NF as originally defined. In the example below there is a relationship of seminar, is the Primary Key NPM + Seminar. Students may take one or two seminars. Each seminar requires 2 each of the students and led by one of the 2 seminar. Each leader can only take one seminar course. NPM in this example and Seminar show a Pembimbing

Relations Seminar is a form of 3NF, but not BCNF, because Seminar Code still depend the function on the Pembimbing, if any Pembimbing can teach a seminar only. Depending on the seminar is not a super key attributes such as required by BCNF. So Seminar relations must be parsed into two tables:

Fourth and fifth Normal Form Relationship in fourth normal form (4NF) if relationship in BCNF and not contains multi value dependency. To remove multi value dependency from one relationship, we are divide relationship become two new relationships. Each relationship contains of two attributes have multi value relationship. Relationship in fifth normal form (5NF) get business with property is calling join without marks sense information loss (lossless join). The fifth normal Form (5 NF) also know as PJNF (projection join normal form). This case is very rare to appearance and hard to detect practically. DATABASE AND ER-DIAGRAM DATABASE A database is a structured collection of records or data that is stored in a computer system (magnetic disk, optical disk, or other secondary store). Database can meaning a collection of interconnection data for a enterprise (company, government institution or private sector). Database example: In Manufacture of company --> plan production data, produce actual data, ordering of material data, etc In Hospital --> data of patient, doctor, nurse, etc

DATABASE MANAGEMENT SYSTEM (DBMS) DBMS is collection of database with software of application being based on database or a computer database relies on software to organize the storage of data. This application programs used to access and protected database. For example: Oracle

First target of DBMS is provide an efficient and easy environment for the use and store information and data.

BIT, BYTE, AND FIELD Bit is part of containing smallest data value 0 or 1 Byte is a collection of same bit. 1 byte = 8 bit. Field is a group of same byte, in database used by attribute.

ATTRIBUTE / FIELD Attribute or field is characteristic from an entity o provide description about entity. An relation can have attribute too. Attribute example:

* Table UNIVERSITY STUDENT : NIM, NAME, ADDRESS * Table CAR : NOMOR_PLAT, COLOR, KIND, CC * Table BOOK : ID, NAME, PUBLISHER, COMPOSER

TYPE OF ATTRIBUTE Single value Vs. Multi value Attributes - Single value --> only can fill at most one value. For example: ID - Multi value --> can fill with interest from one value with same type. For example: Hobbies(swimming, reading, shopping) Composite Vs Atomic Attributes - Atomic --> can not divide into smaller attribute. For example: ID - Composite --> cluster from some smaller attribute. For example: Name ( First name, middle name, and last name) Derived Attribute - Value of attribute result from other attribute value. For example: age from attribute date of birthday Null Value Attribute - Attribute have not value to an record Mandatory Value Attribute - Attribute must have value

RECORD / TUPLE Record is a data line in an relation. Consist of attributes where there attribute can interaction to completelyinformation a entity / relation.

ENTITY / FILE File is a group of same record and have same element, same attribute but different of each data value. Type File In application process, category of file such as: - File Mains - File Transaction - File Report - File History - File Protected - File Activity

DOMAIN Domain is collection of values enabled to stay in one or more attribute. Each attribute in database relational defined as a domain.

KEY OF ELEMENT DATA Key is the element of record which used to find the record when accessing or can used to identify every entity / record / row too.

TYPE OF KEY - Super Key is one or more attribute from a table can used to identify entity / record of table as uniquely ( but not all attribute can become super key). - Candidate Key is a super key with minimum attribute. Candidate key may not contain attribute of other tables so that candidate key is super key but not yet of course on the contrary. - Primary Key One of the attribute from candidate key can be selected / to be determined to become primary key with three criteria: 1. The Key more natural to be used as reference 2. The Key more simple 3. The Key well guarantee - Alternate Key is attribute of candidate key which not chosen become primary key. - Foreign Key is any attribute subjecting to primary key at other tables. Foreign key will happened at one particular at a relation is owning many to one cardinality ( one to many) or many to many. Foreign key usually put at table to many table. - External Key is an attribute lexical ( or gathering of lexical attribute) which its values always identify one object of instance.

ERD (ENTITY RELATIONSHIP DIAGRAM) ERD is a network model using word to keep in system abstract or an abstract and conceptual representation of data. ER diagrams often use symbols to represent three different types of information. Difference between DFD and of ERD DFD represent a function network model to be executed by system, while ERD represent data network model emphasizing at structure and relationship data.

ELEMENT OF ERD Entity An entity is an object or concept about which you want to store information. In ER Diagram, Entity draw with form a rectangle. Entity something in real system and also abstraction where on data storage or where there are data. Relationship Relationship illustrate how two entities share information in the database structure. Relationship is a natural relation between entity. In general called with elementary verb so can easy to read relationship. Relationship Degree Relationship Degree is the amount of entity participating in one relationship. Degree usually use in ERD. Attribute Attribute is characteristic of each entity and relationship

Cardinality Can showing optimum of record to relationship with entity at other entity.

RELATIONSHIP DEGREE - Unary Relationship is a relationship model between entity coming from same entity set. - Binary Relationship is a relationship model between 2 entity. - Ternary Relationship is a relationship between instance from 3 type of entitas unilaterally.

CARDINALITY There are three cardinality, that is: 1. One-to-One (1: 1) Both entities can participate in only one relationship instance. 2. One-to-Many, 3. Many-to-One (1: N, N: 1) One entity can participate in many relationship instances and contrary. 4. Many-to-Many (N: M) Both entities can participate in many relationship instance.

For Example: How many Employees can work in a Department? One employee can work in only one department How many Employees can be employed by a Department? One department can employ many employees How many managers can a department have? One department can have only one manager How many departments can an employee manage? One employee can have manage only one department

NOTATION OF ERD Symbolic notation in ERD: 1. Rectangle express gathering of entity 2. Radian express attribute 3. Rhombic express relationship gathering 4. Line as link between relationship gathering with gathering of entity Gathering and Entity with its attribute

DATA FLOW DIAGRAM (DFD) A data-flow diagram (DFD) is a graphical representation of the "flow" of data through an information system. It differs from the flowchart as it shows the data flow instead of the control flow of the program. DFD usually use to figured a system division into smaller module and can make user to easy that insufficiently understand computer area for understands system who will be worked. A data-flow diagram can be used for the visualization of data processing (structured design). Although DFD have excess, that is can depict system structure with devided become lower level (decomposition), can show data flow in system, can depict parallel process in system, can show data deposit, can show external entity, but DFD have limitation too. Limitation of DFD such as:

DFD not show looping process(loop) DFD not show decision process DFD not show calculation process

Context Diagram Context Diagram is a supreme level from DFD to figured all input to or from system. its consisted of one process and figured scope for a system. its will give picture about overall of system. System limited by boundary ( can be depicted with broken line). In context diagram just one process. There may not store in context diagram .Context Diagram contain public picture(marginally) for system development.

picture of context diagram

Zero Diagram Zero Diagram is a diagram to describe process of data flow diagram. Zero Diagram is Providing views on the overall system in which, showing the main function or process that is, the flow of data and external entity.in this level may be existence storage data. For process which not detailed again in next level added by symbol * or P in the end process number. Input balance and output ( balancing) between diagram 0 with context diagram have to be maintain. Detail Diagram Detail Diagram is a Diagram to describe process in zero diagram or high level.

Numbering level on DFD can be seen on table hereunder: In one level shall not there are more than 7 process and maximal 9, if more must be done decomposition.

Process Specification Each process in DFD must have the process specification. in top level method used to describe process by using descriptive sentence. At more level detailed that is under process (functional primitive) required the specification structure.Process Specification will become guide to programmer in coding. Method used in the process specification : * description process in the story * decision table * decision tree SYMBOL in DFD: 1. External entity 2. Data Flow 3. Process 4. Data Store External Entity Something in outside system, but its give data into system or give data for system, symbol with a notation box. External entity not include of part system. When information system designed to one part then other part which still related become external entity. Guide of External Entity name:

terminal name is noun Terminal may not have the same name except the same objects

Data Flow Data flow is a Place for information stream. Data flow symbol with straight line to connective component of system. Data flow direction is indicated with arrows and lines give the name on the flow of data that flows. Flow data flow between processes, data storage and data flow indicates that the form of data input for the system. Guide of Data Flow name:

Name of data flow which consist of some word flow attributed with continued line. There may not be any data flow which its same name and gift of name have to express its contents Data stream which consist of some element can be expressed with element grup Avoid usage of word data and information to give the name at data flow As possible the name of data flow written is complete

Other rule:

Data flow name which turn in at a process may not same by the name of secretary data flow of that process. Data flow into or out of data storage doesn't need to give a name if:
o o

The flow of data simple and easy to understand Describes the data flow of all data items

There may not any data flow of terminal to data storage or on the contrary because terminal isn't part of system, terminal relation with data storage have to pass process.

Process Process is what's done by system. Process can processed data or data flow to become exit data stream. Function of process is transformation one or some input data become one or some output data as according to specification. Each process have one or some input and also result one or some output data. Process usually calling by bubble. Guide of process name:

Name of process consist of noun and verb Don't use word process as part of the process name May not have some process that has the same name Process must to give number. Number sequence as possible follow process sequence or stream, but that way meaningless number sequence absolutely represent sequence process by chronologically.

Data Store Data store is storage place for data that exists in the system. Data store symbol with couple two parallel line or two line wrongly one side from other side openly. Process can take data from or give data to database. Guide of Data Store name:

The name should reflect the data storage When his name more than one word must be marked with the number

DFD Symbol

Data Dictionary Data dictionary is a reserved space within a database which is used to store information about the database itself. Data dictionary is also called with a system data dictionary is a catalog of facts and data information needs of an information system. In function to help system agent to interpreting application in detail and organization all of data element that utilized by system exactly so user and system analyst have same understanding basic about entry, output, storage and process. In analysis phase, data dictionary used as communication between system analyst with user. in development system phase, data dictionary used to design input, and report database. Data flow in DFD have the character of globally, boldness more detailed can be seen in data dictionary. Data dictionary load the followings :

Name of data current: must note that readers who need further explanation about a flow of data can find it easily Alias: alias or other name of the data can be written when there is Forms of data: used to segment the data dictionary to use when designing the system Flow data: indicates from which data flows and where the data Description: to give an explanation of the meaning of the data flow

Balancing in DFD Data flow into and out of a process must be the same as the flow of data into and out of the details of the process on the level / levels below. Name of the data flow into and out of the process must match the name of the flow of data into and out of the details of the process. Number and the name of an entity outside the process must be equal to the number of names and entities outside of the details of the process. Things which must be gave attention to DFD owning than one level:

There are must input balance and output between one level and level next Balance between level 0 and level 1 seen at input / output of data stream to or from terminal in level 0, while balance between level 1 and level 2 seen at input / output of data stream to/from pertinent process Data flow name, data of storage terminal and every level must be same if its same object

Prohibition in DFD

Data flow may not from external entity directly to wend another external entity without passing a process.

Data flow may not from direct data deposit go to external entity without passing a process Data flow may not from direct data deposit go to other data deposit without passing a process Data flow from one direct process go to other process without passing a data deposit better possible avoided.

You might also like