What are the drawbacks of using File system over database ma
Solution
1) Disadvatages of File System: a) Data Mapping and Access.
b) Data Redundancy
c) Data Dependence
d) Data Inconsistent
e) Data Isolation
f) Security
g) Integrity
h) Atomocity
i) Concurrent Access
Advantages of DBMS: a) No redundant Data
b) Data Consistency and Integerity
c) Secure
d) Privacy
e) Easy to access
f) Easy to recover
g) Flexible
2) Responsibilities of DBMS: a) Security enforcement: Unauthorized users can acces DB, or users authorized to access a part may acces other parts of DB for ehich their is a lack of authirization. For example an high school student could get access defence secrets, or employees can find what their supervisors earn.
b) Integri ty enforcement: Consistency constraints may not satisfied, a/c balances could go below theminimum allowed, employee may earn too much overtime, airline pilots may fly more hours than allowed.
c) Concurrency Control: Consistency constraints may be violated despite proper integrity enforcement in each transaction. For example, incorrect bank balances might be reflected due to simultaneous withdrawls and deposits.
3) A Primary key is one of the candiate keys, designed by database designer.
A candiate key is a minimal super key - a super key with no redundant attributes. In other words, if any one of the attributes are removed, the set of attributes that remain no longer form a super key.
A super is a set of attributes such that the values of the attributes uniquely identify one entity in the entity set.
Every primary key is a candiate key, every candiate key is a super key, but not vice-versa.
for example: consider a relation R(A,B,C,D,E) with 5 attribues A,B,C,D,E
A->BCDE, means A uniquely determines the other attributes B,C,D,E
BC->ADE, means B and C jointly determines all the other attributes A,D,E
Primary Key: A Candiate Key: A, BC Super Key: A, BC, ABC, AD
 ABC and AD are that candiate keys since both are not minimal super keys,
4) a) loan_number ( amount>50,000 (loan))
b) customer-name ( balance>“9000” ( depositer.account-number = account.account-number(account x depositor)))
c) customer-name ( balance>“8000” and branch-name=“Uptown” ( depositer.account-number = account.account- number(account x depositer)))


