Database Analysis   «Prev  Next»

Lesson 9 Permissions and requirements analysis
Objective Describe the role of requirements analysis in assigning permissions.

Permissions and Requirements Analysis

In the first course in this series, you looked at requirements analysis in the context of initial database design culminating in the creation of a normalized (to 1NF) ER diagram.
Requirements analysis [1] does not stop there. It is an ongoing process, which includes determining the smallest set of permissions users need to do their job. The best way to define which permissions users need is to sit down with their supervisors and review their job descriptions. Determine what information they will need to use, what information (if any) they will need to change, and what information (if any) they will need to delete. If users need to analyze table data independently, then they may require the Reference permission.

CRC card: Acronym for class responsibility collaborator card, which is a custom development business architecture design document consisting of a large index card that is used to document the responsibilities and collaborators of a type while architecting the business model, the requirements analysis of the application domain model, the class during software design, and the programming class comments.

Why Use Views?

There are three good reasons to include views in the design of a database:
  1. As mentioned earlier, views provide a significant security mechanism by restricting users from viewing portions of a schema to which they should not have access.
  2. Views can simplify the design of a database for technologically unsophisticated users.
  3. Because views are stored as named queries, they can be used to store frequently used, complex queries. The queries can then be executed by using the name of the view in a simple query.
Like other structural elements in a relational database, views can be created and destroyed at any time. However, because views do not contain stored data but only specification of a query that will generate a virtual table, adding or removing view definitions has no impact on base tables or the data they contain. Removing a view will create problems only when that view is used in an application program and the program is not modified to work with a different view or base table.
Requirements Analysis
The next lesson wraps up this module.
[1]Requirements analysis: The stage in the database design cycle when designers find out everything they can about the data the client needs to store in the database and the conditions under which that data needs to be accessed.