Wednesday, May 6, 2020

Database and Data Independence free essay sample

One of the main advantages of using a database system is that the organization can exert, via the DBA, centralized management and control over the data. The database administrator is the focus of the centralized control. Any application requiring a change in the structure of a data record requires an arrangement with the DBA, who makes the necessary modifications. Such modifications do not affect other applications or users of the record in question. Reduction of Redundancies: Centralized control of data by the DBA avoids unnecessary duplication of data and effectively reduces the total amount of data storage required. It also eliminates the extra processing necessary to trace the required data in a large mass of data. * Elimination of Inconsistencies: The main advantage of avoiding duplication is the elimination of inconsistencies that tend to be present in redundant data files. Any redundancies that exist in the DBMS are controlled and the system ensures that these multiple copies are consistent. * Shared Data: A database allows the sharing of data under its control by any number of application programs or users. For example, the applications for the public relations and payroll departments can share the same data. * Integrity: Centralized control can also ensure that adequate checks are incorporated in the DBMS to provide data integrity. Data integrity means that the data contained in the database is both accurate and consistent. Therefore, data values being entered for the storage could be checked to ensure that they fall within a specified range and are of the correct format. Security: Data is of vital importance to an organization and may be confidential. Such confidential data must not be accessed by unauthorized persons. The DBA who has the ultimate responsibility for the data in the DBMS can ensure that proper access procedures are followed, including proper authentication schemes for access to the DBMS and additional checks before permitting access to sensitive data. Different level s of security could be implemented for various types of data and operations. * Conflict Resolution: Since the database is under the control of the DBA, he/she should resolve the conflicting requirements of various users and applications. In essence, the DBA chooses the best file structure and access method to get optimal performance for the response-critical applications, while permitting less critical applications to continue to use the database, albeit with a relatively slower response. * Data Independence: Data independence is usually considered from two points of view: physical data independence and logical data independence. Physical data independence allows changes in the physical storage devices or organization of the files to be made without requiring changes in the conceptual view or any of the external views and hence in the application programs using the database. Thus, the files may migrate from one type of physical media to another or the file structure may change without any need for changes in the application program. * Logical data independence implies that applicat ion programs need not be changed if fields are added to an existing record; nor do they have to be changed if fields not used by applications programs are deleted. Logical data independence indicates that the conceptual schema can be changed without affecting the existing external schemas. Data Independence is advantageous in the database environment since it allows for changes at one level of the database without affecting other levels. These changes are absorbed by the mapping between the levels. * Cost of software/hardware and migration * Problem associated with centralization. * Complexity of Backup and Recovery. 2. Explain the importance of ER modeling techniques in database development and normalization with examples. (P2. 2) A database can be modeled as: * a collection of entities, * relationship among entities. * An entity is an object that exists and is divided from other objects. * Example: specific person, company, event, plant * Entities have attributes * Example: people have names and addresses * An entity set is a set of entities of the same type that share the same properties. * Example: set of all persons, companies, trees, holi days * Rectangles represent entity sets. * Diamonds represent relationship sets. * Lines link attributes to entity sets and entity sets to relationship sets. Underline indicates primary key attributes As one important aspect of E-R modeling, database designers represent their data model by E-R diagrams. These diagrams enable designers and users to express their understanding of what the planned database is intended to do and how it might work, and to communicate about the database through a common language. The myriad of styles and conventions for E-R diagramming make it difficult to choose the best one. This book utilizes an acceptable style, but certainly not the only one. Each organization that uses E-R diagrams must adopt a specific style for representing The various components. You can be sure that the principles of E-R diagramming are independent of the stylistic details. E-R Diagram 3. Explain phases of a Database Development Life Cycle (DDLC) and analysis the importance of each phase. (P2. 1) A software development life cycle model (SDLC) consists of a set of processes (planning, requirements, design, development, testing, installation and maintenance) defined to accomplish the task of developing a software application that is functionally correct and satisfies the user’s needs. These set of processes, when arranged in different orders, characterize different types of life cycles. When developing a database, the order of these tasks is very important to efficiently and correctly transform the user’s requirements into an operational database. These SDLCs are generally defined very broadly and are not specific for a particular type of application. In this paper the authors emphasize that there should be a SDLC that is specific to database applications. Database applications do not have the same characteristics as other software applications and thus a specific database development life cycle (DBDLC) is needed. A DBDLC should accommodate properties like scope restriction, progressive enhancement, incremental planning and pre-defined structure. Keywords: Software Development, Database, DBMS, lifecycle model, traditional lifecycles Database management systems are generally categorized as transaction processing systems, decision support systems and/or knowledge-based systems. During their development each of these types of DBMS introduces different problems and challenges. Traditionally, SDLC models designed for developing DBMS followed the design-first-implement-later approach because of the DBMS were mainly of the transaction processing type [Weitzel and Kerschberg, 1989]. The authors believe, as we will explain later, that the design-first-implement-later approach does not work for the databases underlying data mining or knowledge-base systems or for that matter for any system where the requirements change very frequently. 4 . Design and develop a fully functional database by using DDLC concepts including following steps (P3. ); 4. 1 Analysis all the existing problems and outline the problem definition for the above scenario and give the database solutions to overcome the problems identified. (P1. 1) For a large enterprise, there is a very large body of crucial information. These are the â€Å"crown jewels† of the information technology part of the company. This information lasts for the whole lifetime of the enterprise. But applications come and go, like migrating birds. The next application to come along might want access data in a different way, for important reasons. The structure of the database structure must adapt well to these new and changing demands. With the older styles of data organization (called â€Å"network† or â€Å"CODASYL†, roughly speaking), sometimes the new application could not be done efficiently. Many times, for all practical purposes, it was impossible to write the application with acceptable performance. You can find the details of this in many books, but to give just one analogy: suppose you have a program with nested loops. In many cases (not 2D arrays), it’s pretty obvious which loop ought to be on the outside. Well, imagine if you forced to do it the other way, even if it made the program very much slower. And that’s just one example. To solve this, we want data organization that can do two things. First, give every application a view of the database that doesn’t change over time, so that the application keeps working. Second, have a way to change the physical organization of the data without changing any of the software that uses the database system, which may be needed to make the new applications faster without hurting the old ones, or not hurting enough that it matters much. This is called â€Å"data independence. † * The Relational Model A novel and effective solution to data independence, the â€Å"relational†, . By representing data in relations, in normalized form, you can solve both of the above problems. I won’t go over all that here; I recommend â€Å"An Introduction to Database Systems† By the way, notice that the name of the book isn’t â€Å"†¦ to Relational Database Systems,† even though that’s what the book is. Why bother with a superlative adjective, when â€Å"everybody knows† that all database systems, other than ancient ones, are relational? The relational model, as an abstract concept, is an excellent and brilliant solution to the data independence problem. Later we’ll see that that is not the only problem for which people want to store data. But in the next post, I’ll look into how well actual relational database systems implement the concept. 4. 2 Draw the conceptual model for the above scenario with possible entities and relationships. Transform the conceptual design into logical design. Normalize the data into 3 NF clearly showing the steps of normalizations. Include user interfaces) (P3. 2) 4. 3 Conduct a survey to evaluate your database development efficiency and methods of improvement. (P3. 3) You are required to prepare, distribute a feedback form for your system users and collect their feedback.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.