The document discusses functional dependencies and database normalization. It provides examples of functional dependencies and explains key concepts like:
- Functional dependencies define relationships between attributes in a relation.
- Armstrong's axioms are properties used to derive functional dependencies.
- Decomposition aims to eliminate redundancy and anomalies by breaking relations into smaller, normalized relations while preserving information and dependencies.
- A decomposition is lossless if it does not lose any information, and dependency preserving if the original dependencies can be maintained on the decomposed relations.
You can get clear knowledge about the functional dependencies in "Normalization". And also the rules, types of FDs and finally the closure and its applications
Notation, Regular Expressions in Lexical Specification, Error Handling, Finite Automata State Graphs, Epsilon Moves, Deterministic and Non-Deterministic Automata, Table Implementation of a DFA
You can get clear knowledge about the functional dependencies in "Normalization". And also the rules, types of FDs and finally the closure and its applications
Notation, Regular Expressions in Lexical Specification, Error Handling, Finite Automata State Graphs, Epsilon Moves, Deterministic and Non-Deterministic Automata, Table Implementation of a DFA
Description of all types of Loaders from System programming subjects.
eg. Compile-Go Loader
General Loader
Absolute Loader
Relocating Loader
Practical Relocating Loader
Linking Loader
Linker Vs. Loader
general relocatable loader
This slide is prepared By these following Students of Dept. of CSE JnU, Dhaka. Thanks To: Nusrat Jahan, Arifatun Nesa, Fatema Akter, Maleka Khatun, Tamanna Tabassum.
Description of all types of Loaders from System programming subjects.
eg. Compile-Go Loader
General Loader
Absolute Loader
Relocating Loader
Practical Relocating Loader
Linking Loader
Linker Vs. Loader
general relocatable loader
This slide is prepared By these following Students of Dept. of CSE JnU, Dhaka. Thanks To: Nusrat Jahan, Arifatun Nesa, Fatema Akter, Maleka Khatun, Tamanna Tabassum.
Normalization is the process of organizing data in a database. This includes creating tables and establishing relationships between those tables according to rules designed both to protect the data and to make the database more flexible by eliminating redundancy and inconsistent dependency.
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
What is the purpose of the Sabbath Law in the Torah. It is interesting to compare how the context of the law shifts from Exodus to Deuteronomy. Who gets to rest, and why?
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
2. Fuctional dependencies play a key role in differentiating
good database designs from bad database designs.
Let R be a relation schema,
α R and β R
The functional dependency
α β
holds on R if and only if for any legal relations
r(R), whenever any two tuples t1 and t2 of R agree on the
attributes α, they also agree on the attributes β. That
is,
t1 [α] = t2 [α] t1 [β] = t2 [β ]
3. Example:
Consider r(A,B) with the following instance of r.
On this instance, A B does NOT hold, but B A does
hold.
A functional dependency is a generalization of the notion
of a key
1 4
1 7
4 6
4. K is a superkey or for relation schema R if and only if K
R
K is a candidate key for R if and only if
K R, and
for no α K, α R
Functional dependencies allow us to express
constraints that cannot be expressed using superkeys.
5. Consider the schema:
inst_dept (ID, name, salary, dept_name, building,
budget )
We expect these functional dependencies to hold:
dept_name building
ID building
but would not expect the following to hold:
dept_name salary
6. A functional dependency is trivial if it is satisfied by
all instances of a relation
Example:
ID, name ID
name name
In general, α β is trivial if β α
7. The most important properties are Armstrong's
axioms, which are used in database normalization:
Subset Property
If Y is a subset of X, then X → Y
Augmentation
If X → Y, then XZ → YZ
Transitivity
If X → Y and Y → Z, then X → Z
8. From these rules, we can derive these secondary rules:
Union:
If X → Y and X → Z, then X → YZ
Decomposition:
If X → YZ, then X → Y and X → Z
Pseudotransitivity:
f X → Y and WY → Z, then XW → Z
9. We can avoid update anomalies by decomposition of
the original relation.
The relation scema R is decomposed into relation
schemas:
{R1,R2,R3,…….,Rn} in such a way that
R1 R2 … Rn = R
10. Lending_schema =
(Branch_name, Branch_city, Assets,
Cusomer_name, Loan_number, Amount)
The Lending schema is decomposed into following two
relations:
1) Branch_customer_schema =
(Branch_name, Branch_city, Assets,
Cusomer_name)
2) Customer_loan_schema =
(Cusomer_name, Loan_number, Amount)
11. Branch_Name Branch_City Assets Customer_Name
Downtown Brooklyn 90000 Jones
Redwood Palo Alto 21000 Smith
Perryridge Horseneck 90000 Jackson
Mianus Horseneck 80000 Jones
Northtown Rye 37000 Hayes
Customer_Name Loan_No Amount
Jones L-17 10000
Smith L-23 2000
Jackson L-14 1500
Jones L-11 900
Hayes L-16 1300
The Branch_customer Relation
The Customer_loan Relation
12. Branch_Na
me
Branch_Ci
ty
Assets Customer_
Name
Loan_No Amount
Downtown Brooklyn 90000 Jones L-17 10000
Downtown Brooklyn 90000 Jones L-11 9000
Redwood Palo Alto 21000 Smith L-23 2000
Perryridge Horseneck 90000 Jackson L-14 1500
Mianus Horseneck 80000 Jones L-11 900
Mianus Horseneck 80000 Jones L-17 1000
Northtown Rye 37000 Hayes L-16 1300
The result of this join is shown below:
The relation Branch_customer Customer_loan
13. 1. If the relation Branch_customer and Customer_loan
is compared with the original lending relation, we
observe that:
Every tuple in lending relation is in Branch_customer
and Customer_loan relation.
The relation Branch_customer and Customer_loan
contain following additional tuples:
(Downtown,Brooklyn,90000,Jones,L-11,9000)
(Mianus,Horseneck,80000,Jones,L-17,1000)
14. 2. Consider the query:
“Find all the branches that have made a loan in an
amount less than Rs. 1000.”
The result of this query using the lending relation is :
Mianus.
The result of the same query using the relation
Branch_customer and Customer_loan is: Downtown
and Mianus.
15. 3. From the above two cases we can say that
the decomposition of lending relation into
Branch_customer and Customer_loan
results in bad database design. It results in
loss of information and repetition of
information.
4. Because of loss of information, we call the
decomposition of lending relation into
Branch_customer and Customer_loan a
lossy decomposition or a lossy-join
decomposition.
16. Decomposition help us eliminate redundancy, root of
data anomalies.
There are two important properties associated with
decomposition:
1. Lossless join
2. Dependency Preservation
17. This property ensures that any instance of the original relation
can be identifies from the corresponding instances in the smaller
relation.
Let R be a relational schema, and let F be a set of functional
dependencies on R. Let R1 and R2 form a decomposition of R.
This decomposition is a lossless-join decomposition of R if at
least one of the following functional dependencies is in F+
R1 R2 R1
R1 R2 R2
In other word, if R1 R2 forms a superkey of either R1 or R2, the
decomposition of R is a lossless-join decomposition.
18. Question: Let R(A,B,C) and F=(AB).Check the
decomposition of R into R1(A,B) and R2(A,C).
R1 R2 is A which is comman attribute.
A B is the FD in F. (augmentation rule)
A AB which is relation R1.
Thus,
R1 R2 is satisfies.
Hence, above decomposition is lossless-join
decomposition.
19. Question: Let R(A,B,C) and F=(A B).Check the
decomposition of R into R1(A,B) and R2(B,C).
R1 R2 is B which is comman attribute.
But B is not a superkey of either R1 or R2.
Hence this decomposition is not a lossless-join
decomposition.
20. This property ensures that a constraint on the original
relation can be maintained by simply enforcing some
constraint on each of the smaller relation.
Given a relational schema R and set of fuctional
dependencies associated with it is F.
R is decomposed into the relation schema R1,R2,…Rn
with functional dependencies F1,F2,…Fn.
21. Then the decomposition is dependency preserving
if the closure of F’ (where F’=F1,F2,….Fn) is
identical to F+.
F’+ =F+
Getting lossless decomposition is necessary.
22. Question: R=(A, B, C), F={A B, B C} Decomposition
of R: R1=(A, C) R2=(B, C) Does this decomposition preserve
the given dependencies?
In R1 the following dependencies hold:
F1’={A A, C C, A C, AC AC}
In R2 the following dependencies hold:
F2’= {B B, C C, B C, BC BC}
The set of nontrivial dependencies hold on R1 and R2:
F‘ = {B C, A C}
A B can not be derived from F’, so this decomposition is
NOT dependency preserving.
23. Question: R=(A, B, C), F={A B, B C}
Decomposition of R: R1=(A, B) R2=(B, C) Does this
decomposition preserve the given dependencies?
In R1 the following dependencies hold:
F1={A B, A A, B B, AB AB}
In R2 the following dependencies hold:
F2= {B B, C C, B C, BC BC}
F’= F1’ U F2’ = {A B, B C, trivial dependencies}
In F’ all the original dependencies occur, so this
decomposition preserves dependencies.