| Basis | File System | DBMS |
|---|---|---|
| Procedure | User has to write procedures for managing data. | User is not required to write procedures. |
| Data Representation | Provides details of data representation and storage. | Provides an abstract view of data and hides the details. |
| Crash Recovery | Does not have a crash recovery mechanism. | Provides a crash recovery mechanism. |
| Data Protection | It is difficult to protect files. | Provides a good protection mechanism. |
| Storage & Retrieval | Cannot efficiently store and retrieve data. | Efficiently stores and retrieves data using sophisticated techniques. |
| Concurrent Access | Has problems with concurrent access. | Manages concurrent access using locking mechanisms. |
| Basis | Physical Data Independence | Logical Data Independence |
|---|---|---|
| Focus | Focuses on how data is stored physically. | Focuses on the structure and organization of data. |
| Schema | Deals with the internal schema. | Deals with the conceptual schema. |
| Effect on Programs | Changes do not affect application programs. | Changes may require updates in application programs. |
| Difficulty | Easier to achieve. | More difficult to achieve. |
| Purpose | Used for performance and storage optimization. | Used for evolving database design. |
| Example | Example: Moving data files or adding indexes. | Example: Adding or removing a column in a table. |
| Physical (Internal) Level | Logical (Conceptual) Level | View (External) Level |
|---|---|---|
| It is the lowest level of data abstraction. | It is the intermediate level of data abstraction. | It is the highest level of data abstraction. |
| Defines how data is physically stored in the database. | Defines what data is stored and the relationships between data. | Defines how users view the required part of the database. |
| Deals with data structures, storage, and access methods. | Deals with tables, relationships, and constraints. | Deals with different views of the same database. |
| Very complex and hidden from users. | Less complex than the physical level. | Easiest level for users to understand. |
| Database administrator decides how and where data is stored. | Programmers generally work at this level. | End users generally work at this level. |
| Example: Disk space allocation and data access methods. | Example: Defining tables and relationships. | Example: Showing only a student's marks and name to the student. |
| Basis | Hierarchical Model | Network Model | Relational Model | E-R Model |
|---|---|---|---|---|
| Structure | Tree | Network/Graph | Tables | Diagram |
| Data | Records | Records | Rows and columns | Entities and attributes |
| Relationship | Parent–Child | Linked records | Tables linked by keys | Entities connected by relationships |
| Relationship Type | Mainly 1:M | 1:1, 1:M, M:N | 1:1, 1:M, M:N | 1:1, 1:M, M:N |
| Flexibility | Low | Medium | High | High |
| Complexity | Simple | Complex | Simple | Easy to understand |
| Data Access | Fixed path | Links/Pointers | SQL queries | Conceptual design |
| Storage | Tree structure | Network structure | Tables | Not directly stored |
| Main Use | Hierarchical data | Complex relationships | Database management | Database design |
| Example | Company → Employees | Students → Courses | Student table | Student — Enrolls — Course |
Made By SOU Student for SOU Students