I'm taking a database class and I am struggling with the basics right now.
First of all, I need to know the difference between physical and logical data independence. I have the definitions but it's really not making a lot of sense to me.
This is what I have:
Logical data independence is the capacity to change the conceptual schema of a database system without having to change the schema at the view level. You only need to change external/conceptual mappings
Physical data independence is the capacity to change the internal schema of a database system without having to change the schema at the conceptual level
You only need to change conceptual/internal mappings .
For instance, what is meant by "the conceptual level and the viw level" also what are the conceptual , internal, and external mappings?
I also need to know what is meant by "database state" and how it is different from "database schema".
Right now I have a fictitious scenario where I need to decide what features a database user should opt for based on his needs. I won't go into what the user requires as that is something I obvious need to figure out on my own but if someone could maybe elaborate on these features and perhaps give examples of each. I'm a bit confused because I wouldn't think some of these are optional and that they would just automatically come with any DBMS. Here is the list of options I am to choose from. Please explain what is meant by each:
A security facility.
Concurrency control.
Crash recovery.
A view mechanism.
A query language.
Thank you so much for any help you can give. I'm really trying to grasp these basics.