My dear student of Database Systems Classes (BA02) & (BB02), below is the list of questions for GSLC III (for Database Systems Classes BA02 & BB02). The rules applied for this GSLC are as follows:
1. Each student may answer only a question (note: only a question, you don't need to answer all questions). Correct answer will worth 10 points added to final exam.
2. Choose a question and answer as quickly as possible. If there are redundant answers then I will only consider the first correct answer (i will check the timestamps). The algorithm applied here is 'first-correct-answer-first-get-points'
3. If the questions have been taken by some else and you think that the answers are correct then please don't take the same questions. Thus you avoid redundant answers from the same questions. Yet, if you think the answers are incorrect you can take the questions and submit your answers.
4. There are a lot of questions in this GSLC. I have considered that each of you will corespond exactly to one question. The benefit of replying immediately is that you can freely choose a question among available questions. The later the less choice you will have.
5. There are three topics available, 1) DSDLC (Database System Development Life Cycle), 2) Database Analysis, and 3) Transaction Management (to pay off materials that have not been covered in the previous meeting)
6. You may answer either via comment field in this site/blog or via binusmaya forum. Deadline is 17th of May 2015.
Thank you very much.
--oo00oo--
DSDLC
1. Discuss the relationship between the information systems lifecycle and the database system development lifecycle
2. Describe the main purpose(s) and activities associated with each stage of the database system development lifecycle
3. Discuss what a user view represents in the context of a database system.
4. Discuss the main approaches for managing the design of a database system that has multiple user views.
5. Compare and contrast the three phases of database design.
6. What are the main purposes of data modeling and identify the criteria for an optimal data model?
7. Identify the stage(s) where it is appropriate to select a DBMS and describe an approach to selecting the ‘best’ DBMS
8. Application design involves transaction design and user interface design. Describe the purpose and main activities associated with each.
9. Discuss why testing cannot show the absence of faults, only that software faults are present.
10. Describe the main advantages of using the prototyping approach when building a database system.
11. Define the purpose and tasks associated with data administration and database administration.
DB Analysis
12. Briefly describe what the process of fact-finding attempts to achieve for a database developer.
13. Describe how fact-finding is used throughout the stages of the database system development lifecycle.
14. For each stage of the database system development lifecycle identify examples of the facts captured and the documentation produced.
15. A database developer normally uses several fact-finding techniques during a single database project. The five most commonly used techniques are examining documentation, interviewing, observing the business in operation, conducting research, and using questionnaires. Describe each fact-finding technique and identify the advantages and disadvantages of each.
16. Describe the purpose of defining a mission statement and mission objectives for a database system.
17. What is the purpose of identifying the systems boundary for a database system?
18. How do the contents of a users’ requirements specification differ from a systems specification?
19. Describe one method of deciding whether to use either the centralized or view integration approach, or a combination of both when developing a database system with multiple user views.
Transaction Management
20. Explain the concepts of serial, nonserial, and serializable schedules. State the rules for equivalence of schedules.
21. Discuss the difference between conflict serializability and view serializability.
22. Discuss the types of problem that can occur with locking-based mechanisms for concurrency control and the actions that can be taken by a DBMS to prevent them.
23. Why would two-phase locking not be an appropriate concurrency control scheme for indexes? Discuss a more appropriate locking scheme for tree-based indexes.
24. What is a timestamp? How do timestamp-based protocols for concurrency control differ from locking based protocols?
25. Describe the basic timestamp ordering protocol for concurrency control. What is Thomas’s write rule and how does this affect the basic timestamp ordering protocol?
26. Describe how versions can be used to increase concurrency.
27. Discuss the difference between pessimistic and optimistic concurrency control.
28. Discuss the types of failure that may occur in a database environment. Explain why it is important for a multi-user DBMS to provide a recovery mechanism.
29. Discuss how the log file (or journal) is a fundamental feature in any recovery mechanism. Explain what is meant by forward and backward recovery and describe how the log file is used in forward and backward recovery. What is the significance of the write-ahead log protocol? How do checkpoints affect the recovery protocol?
21. View-serializability of a schedule is defined by equivalence to a serial schedule (no overlapping transactions) with the same transactions, such that respective transactions in the two schedules read and write the same data values ("view" the same data values).
ReplyDeleteConflict-serializability is defined by equivalence to a serial schedule (no overlapping transactions) with the same transactions, such that both schedules have the same sets of respective chronologically ordered pairs of conflicting operations (same precedence relations of respective conflicting operations).
There are 5 stage of database system development lifecycle, each of them have their own purpose and very important one to another
ReplyDelete1. Planning
In this stage, the group must first determine what the system needs to do for the organization. Often this means asking questions such as:
• What do we need this system for?
• How long does it take
• What will the system do for the organization?
• How are we going to make this system?
2. Analysis
The Analysis Phase is the second phase of the SDLC and is when the group that has been placed in charge of the project must decide if the project should go ahead with the resources available. The feasibility of the project is also considered, and the group has to ask questions such as :
• Can this system be created with the resources (and budget) we have available?
• Will this system significantly improve the organization?
• Does the old system even need to be replaced
3. Design
The Design Phase is the third phase of the SDLC and it involves the actual creation and design of a system. The team will put together the different pieces that will create the system. In a database approach, this would include
Layout is made.
• The server hosting the database
• The software that will form the database (Access, Oracle, mySQL, etc)
• Other needed DBMS (DataBase Management System) software
4. Implementation
The Implementation Phase is the final phase of the SDLC and it involves the actual construction and installation of a system. This phase also includes the maintenance of the system and any future updates or expansion of the system. With the database project example, the following activities would be common:
• Physical installation of the server hosting the database
• Installation of the database onto the system
• Installation of the Database Management System
• Initialization and continuous operation of the database and DBMS
• Maintaining the hardware and software hosting the database
• Updating the hardware (physical hard drives, etc) and software (DBMS) as needed
5. Maintenance
The database administrator must be prepared to perform routine maintenance activities within the database. Some of the required periodic maintenance activities include:
• Preventive maintenance . Corrective maintenance .
• Adaptive maintenance (enhancing performance, adding entities and attributes, and so on).
• Assignment of access permissions and their maintenance for new and old users.
• Generation of database access statistics to improve the efficiency and usefulness of system audits and to monitor system performance.
no 2.
ReplyDeleteThere are 5 stage of database system development lifecycle, each of them have their own purpose and very important one to another
1. Planning
In this stage, the group must first determine what the system needs to do for the organization. Often this means asking questions such as:
• What do we need this system for?
• How long does it take
• What will the system do for the organization?
• How are we going to make this system?
2. Analysis
The Analysis Phase is the second phase of the SDLC and is when the group that has been placed in charge of the project must decide if the project should go ahead with the resources available. The feasibility of the project is also considered, and the group has to ask questions such as :
• Can this system be created with the resources (and budget) we have available?
• Will this system significantly improve the organization?
• Does the old system even need to be replaced
3. Design
The Design Phase is the third phase of the SDLC and it involves the actual creation and design of a system. The team will put together the different pieces that will create the system. In a database approach, this would include
Layout is made.
• The server hosting the database
• The software that will form the database (Access, Oracle, mySQL, etc)
• Other needed DBMS (DataBase Management System) software
4. Implementation
The Implementation Phase is the final phase of the SDLC and it involves the actual construction and installation of a system. This phase also includes the maintenance of the system and any future updates or expansion of the system. With the database project example, the following activities would be common:
• Physical installation of the server hosting the database
• Installation of the database onto the system
• Installation of the Database Management System
• Initialization and continuous operation of the database and DBMS
• Maintaining the hardware and software hosting the database
• Updating the hardware (physical hard drives, etc) and software (DBMS) as needed
5. Maintenance
The database administrator must be prepared to perform routine maintenance activities within the database. Some of the required periodic maintenance activities include:
• Preventive maintenance . Corrective maintenance .
• Adaptive maintenance (enhancing performance, adding entities and attributes, and so on).
• Assignment of access permissions and their maintenance for new and old users.
• Generation of database access statistics to improve the efficiency and usefulness of system audits and to monitor system performance.
no 5.
ReplyDeleteDatabase design has 3 main phases:
Conceptual database design
Logical database design
Physical database design
1. Conceptual database design:
It is a process of constructing a data model for each view of the real world problem which is
independent of physical considerations.
This step involves :
Constructing the ER Model
Check the model for redundancy
Validating the model against user transactions to ensure all the scenarios are supported
ER Modelling :
Pictorial Representation of the Real world problem in terms of entities (which have attributes) and relations between the entities is referred as ER diagram.
Entities: An entity is a class of distinct identifiable objects or concepts
Relations: Associations among entities is referred as €œRelations€
Attributes: Attributes are properties or characteristics of entities.
2. Logical database design
It is a process of constructing a model of information , which can then be mapped into storage objects supported by the Database Management System.
This step involves:
Table Generation From ER Model
Normalization of Tables
Table Generation From ER Model
The Cardinality of relationships among the entities can be considered while deriving the
tables from ER Model into:
One-to-one:
Entities with €œone-to-one€ relationships should be merged into a single entity
Each remaining entity is modeled by a table with a primary key and attributes, some of which may be foreign keys
One-to-many
€œOne-to-many€ relationships are modeled by a foreign key attribute in the table . This foreign key would refer to another table that would contain the €œmany€ side of the relation.
Many-to-many
€œMany-to-many€ relationships among two entities are modeled by a third table that has foreign keys that refer to the entities.
Normalization of Tables
Normalization is a process of eliminating redundancy and other anomalies in the system.
In most cases in the enterprise world , normalization upto Third Normal form would suffice.
In certain cases or some transactions it is desirable that certain table be denormalised for efficiency in querying the database tables.In those cases tables can be in denormalised form.
3.Physical database design
The physical design of the database specifies the physical configuration of the database on
the storage media.
This step involves describing the base relations, file organisations, and indexes design used to achieve efficient access to the data, and any associated integrity constraints and security measures.
no. 1
ReplyDeleteThe systems development life cycle (SDLC), also referred to as the application development life-cycle, is a term used in systems engineering, information systems and software engineering to describe a process for planning, creating, testing, and deploying an information system. The systems development life-cycle concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both.
A systems development life cycle is composed of a number of clearly defined and distinct work phases which are used by systems engineers and systems developers to plan for, design, build, test, and deliver information systems. Like anything that is manufactured on an assembly line, an SDLC aims to produce high quality systems that meet or exceed customer expectations, based on customer requirements, by delivering systems which move through each clearly defined phase, within scheduled time-frames and cost estimates. Computer systems are complex and often (especially with the recent rise of service-oriented architecture) link multiple traditional systems potentially supplied by different software vendors. To manage this level of complexity, a number of SDLC models or methodologies have been created, such as "waterfall"; "spiral"; "Agile software development"; "rapid prototyping"; "incremental"; and "synchronize and stabilize".
To manage and control any SDLC initiative, each project will be required to establish some degree of a work breakdown structure (WBS) to capture and schedule the work necessary to complete the project. The WBS and all programmatic material should be kept in the "project description" section of the project notebook. The WBS format is mostly left to the project manager to establish in a way that best describes the project work.
To Conclude, The relationship between the information system life cycle and the database system development life cycle is that the informational systems help management entities to shift and move resources from one department to another easily by using a shared database system.
27. Discuss the difference between pessimistic and optimistic concurrency control!
ReplyDeleteAnswer :
Pessimistic concurrency model involves locking rows to prevent other users from modifying the same data at the same time. Until the lock is released by the lock owner, no other users will be able to access that data. Pessimistic locking can very easily lead to performance bottle necks in an application.
Optimistic concurrency does not involve locking rows when reading. Instead, this model checks if two users tried to update the same record at the same time. If that happens one user's changes are committed and the other user's changes are discarded and an exception will be thrown to notify the user.
Vincent Iskandar - 1701302103
ReplyDeleteno 3. Discuss what a user view represents in the context of a database system.
A user view defines what is required of a database system from the perspective of a particular job (such as Manager or Supervisor) or business application area (such as marketing, personnel, or stock control).