Professional Documents
Culture Documents
Sad Ch-2a
Sad Ch-2a
System Design
The whole purpose of database design is to accurately represent the data, the relationship
between the data, and the business constraints pertinent to that organization.
Logical design:-is the process of constructing a model of the information used in an enterprise
based on a specific data model (e.g. relational, hierarchical or network, or object), but independent
of a particular DBMS and other physical considerations.
It is the process of deciding how to arrange the attributes of the entities in a given business
environment into database structures, such as the tables of a relational database.
The goal of logical database design is to create well-structured tables that properly reflect the
company’s business environment.
Example
Logical modeling involves gathering information about business processes, business entities
(categories of data), and organizational units.
After this information is gathered, diagrams and reports are produced including entity relationship
diagrams, business process diagrams, and eventually process flow diagrams.
Deals with how the data will be stored in the database using suitable DBMS and this design is
generally created by database administrators and developers.
Involves the actual design of a database according to the requirements that were established
during logical modeling.
Deals with the conversion of the logical model or design, into a relational database model.
The implementation of the physical model depends on the hardware and software the company
uses.
The hardware can determine what type of software can be used because software is normally
developed according to common hardware and operating system platforms.
Describes the data without regard to how they Represents how the actual database is built.
will be physically implemented in the database.
Defines the data elements and their relationship. Developing the actual database.
Simpler than the Physical database design. Complex than the Logical database design.
Specifies the relationship between two sets of attributes where one attribute determines the value
of another attribute.
It is denoted as X → Y, where the attribute is set on the left side of the arrow, X is called the
Determinant, and Y is called the Dependent.
Functional dependencies are important because they help ensure data consistency and eliminate
data redundancy in a database.
They are used to define the relationships between tables and to ensure that updates to the database
do not violate the integrity of the data.
05/10/202 06:29 AM 11
4
Functional Dependency
From the above table we can conclude some valid functional dependencies:
Roll No → { Name, Department Name, Dept Building },→ Here, Roll No can determine values of
fields Name, Department Name and Dept Building, hence a valid Functional dependency
Roll No → Department Name , Since, Roll No can determine whole set of {Name, Department
Name, Dept Building}, it can determine its subset Department Name also.
Department Name → Dept Building , Department Name can identify the Dept Building accurately,
since departments with different Department Name will also have a different Dept Building
More valid functional dependencies: Roll No → Name, {Roll No, Name} ⇢ {Department Name,
Dept Building}, etc.
System Analysis and Design
05/10/202 06:29 AM 12
4
Functional Dependency
42 abc 17
43 pqr 18
44 xyz 18
Here, {roll_no, name} → name is a trivial functional dependency, since the dependent name is a
subset of determinant set {roll_no, name}.
42 abc 17
43 pqr 18
44 xyz 18
Here, roll_no → name is a non-trivial functional dependency, since the name is not a subset of
determinant roll_no.
Similarly, {roll_no, name} → age is also a non-trivial functional dependency, since age is not a
subset of {roll_no, name}.
System Analysis and Design
05/10/202 06:29 AM 16
4
3. Multivalued Functional Dependency
i.e. If a → {b, c} and there exists no functional dependency between b and c, then it is called a
multivalued functional dependency.
43 pqr 18
44 xyz 18
45 abc 19
Here, roll_no → {name, age} is a multivalued functional dependency, since the dependents name &
age are not dependent on each other(i.e. name → age or age → name doesn’t exist !)
System Analysis and Design
05/10/202 06:29 AM 17
4
4. Transitive Functional Dependency
42 abc CO 4
43 pqr EC 2
44 xyz IT 1
45 abc EC 2
Here, roll_no → dept and dept → building_no. Hence, according to the axiom of transitivity,
roll_no → building_no is a valid functional dependency.
In partial functional dependency a nonkey attribute depends on a part of the composite key, rather
than the whole key. If a relation R has attributes X, Y, and Z where X and Y are the composite key
and Z is non-key attribute. Then X->Z is a partial functional dependency in RBDMS.
A relation violates the first normal form if it contains composite or multi-valued attributes.
In the first normal form, the attribute values are single-valued and there are no repeating groups.
By using the primary key and foreign key, the first normal form creates a functional dependency
between the two tables.
Primary keys
A relation will be in 4NF if it is in Boyce Codd’s normal form and has no multi-valued
dependency.
For a dependency A → B, if for a single value of A, multiple values of B exist, then the
relationship will be a multi-valued dependency.
The given STUDENT table is in 3NF, but the COURSE and HOBBY are two independent entity. Hence,
there is no relationship between COURSE and HOBBY.
In the STUDENT relation, a student with STU_ID, 21 contains two courses, Computer and Math , and two
hobbies, Dancing and Singing. So there is a Multi-valued dependency on STU_ID, which leads to
unnecessary repetition of data.
No relationship
The above table will result in the following redundant data.
STU_ID COURSE HOBBY
21 Computer Dancing
21 Math Singing
21 Computer Singing
21 Math Dancing
34 Chemistry Dancing
74 Biology Cricket
59 Physics Hockey
Hence, the multi-valued dependency of the above table can be removed by dividing the table into
two tables: Student course and student hobby.
Hence, the multi-valued dependency of the above table can be removed by dividing the table into
two tables: Student course and student hobby.
59 Physics 59 Hockey
Try to show the 5th Normal Form by using every necessary step!
A prototype gives stakeholders a better understanding of how users interact with the product,
website, or application while it's in the design and development process.
User interface modeling moves from requirements definition into analysis at the point you decide
to evolve all or part of your essential user interface prototype into a traditional UI prototype.
This im- plies you convert your hand drawings, flip-chart paper, and sticky notes into something a
little more substantial.
Different platforms lead to different prototyping tools, for a browser-based application, you need
to use an HTML development tool, whereas a Java-based application would require a Java
development tool and a different approach to the user interface design.