# Design Persistence

## Line-by-line Instructions

### What are the most important facts that a developer should know about persistent data storage in this system?

Write a few sentences or bullets indicating the most important aspects of your persistence design. Describe key decisions that are difficult for new developers to understand or that have changed over time.

### What are the ranked goals for persistence in this system?

Consider how the list of sample goals can apply to your project. Add, edit, or delete goals as needed. Order them from most important to least important.

### What is the logical database design?

Link to your logical database design and add addition notes as needed.

### What are the physical tables and views?

Link to your physical database design and add addition notes as needed.

### How will objects in the application be stored in the database?

Briefly describe your approach to object-relational mapping.

### What database access controls will be used?

Describe the set of database users that will be used and their permissions.

### Is this application's central database accessible to other applications?

Briefly explain which applications are expected to use this system's database.

### What data needs to be stored in files?

List and describe all the files that the system writes to disk.

### What are the conventions for directory structure and file naming?

Write a sentence or bullet for each directory that the system uses to store user data, and one for each file naming convention.

### What file system access controls will be used?

Specify the operating system file access controls that will be used. E.g., certain files will be owned by certain operating system users, and each file will be readable, writeable, and/or executable by its owning user, user group, or other users.

### What information (./if any.md) will be stored on client machines? For how long?

If you use cookies or client-side caches, describe those here.

### Expressiveness: To what extent has this been achieved?

Evaluate how well your design achieves its stated goals.

### Ease of access: To what extent has this been achieved?

Evaluate how well your design achieves its stated goals.

### Reliability: To what extent has this been achieved?

Evaluate how well your design achieves its stated goals.

### Capacity: To what extent has this been achieved?

Evaluate how well your design achieves its stated goals.

### Security: To what extent has this been achieved?

Evaluate how well your design achieves its stated goals.

### Performance: To what extent has this been achieved?

Evaluate how well your design achieves its stated goals.

### Interoperability: To what extent has this been achieved?

Evaluate how well your design achieves its stated goals.
