This page is the place for gathering information for the oral exam portion of the BUS 581 class.
ORAL EXAM QUESTIONS & ANSWERS |
1. Be prepared to take a quick first cut at normalizing a set of data. |
- Normalizing a set of data is called decomposition. A poorly constructed database can lead to performance and accuracy problems.
- First Three Levels of Normalization:
1NF - Data is atomic. 1 item in each table cell. No repeating groups. Primary Key designated.
2NF - Full functional dependency on the Primary Key.
3NF - Resolved all transitive dpendencies.
- Cross-Referencing Tables
Primary Key (one) embedded as the foreign key (many) for each 1:N relationship.
|
2. Compare "Query by Example" and a simple SQL editor like Oracle's
SQL*Plus. What are the strengths and weaknesses of each. When would you use one
or the other?
|
QBE
- Direct Manipulation Language (DML) queries
- Graphical Approach
- Available in MS Access
- Translates QBE to SQL, and vice-versa
- Useful for end-user database programming
- Good for adhoc processing and prototyping
|
SQL Editor
- Some queries cannot be written in the QBE--like union queries.
- Tables structure cannot be changed in QBE
- Nested queries
| |
|
3. Why is it that some valid SQL queries can not be displayed using a QBE
method? |
- No graphical way to display these types of data.
- Examples are union queries and DDL (Data Definition Language) queries
|
4. What additional problems does database design for the Web introduce? How
can they be solved?
|
- Architecture: Web is n-tier, with the browser as the client and the database a server component. (3-Tier includes an application server.)
- Connectivity: ODBC, OLEDB, Native Drivers
- Security: NT Authentication (Kerberos), Database Roles & Security
|
5. Some Internet Service Providers (ISPs) do not give their customers the
ability to operate on-line databases. Suggest some alternative means to get
data from your Website customers to your system. |
- Use scripting (Perl) plus text files.
- Use E-mailed form information and manually enter.
- Set up a remote server with database capability and call that server from the DB-despising ISP. (In effect, hosting 2 different Web sites.)
|
6. What are the steps that must be taken to implement a Web-based database
on a Windows NT or 2000 server? Discuss database setup, HTML forms, and
server-side scripting, such as ASP. |
- Install database on server (MS Access/MS SQL Server). Create ODBC object, if that is the connection to be used.
- Install Web Server (IIS 4.0 or IIS 5.0) from Server O/S files.
- Create site in IIS.
- Set up site's naming (IP address/DNS entry).
- Install or create application files (ASP 3.0/ASP.NET and HTML/Javascript)
- Run the application from a browser.
|
7. What do you think are the most important skills that a database designer
must employ? |
- A mind that likes to make connections/form relationships (the planning mind?)
- Problem-solving controls & skills (SQL, design theory, data integrity, performance, etc.)
- Ability to communicate about abstract concepts
|
8. What are some characteristics that make a good printed report format?
What makes a good on-screen display form? What are some criteria for a good
main menu form? |
- Printed Report Format:
- Title: Should reflect scope, conditions, grouping, and time period of report.
- Standard Report Fields: Date/time of printing, page numbers (x of xx),
- Details: Effective layout paramount in tables and lists. Do column arrangements make sense? For multiple pages, are sections kept together?
- On-Screen Display Form:
- Reduce user's visual work: Left-right, top-down task flow, align labels on left column, don't use all-caps (lessens reading speed by 14-20%).
- Reduce user's intellectual work: Using lists instead of text boxes, avoid complicated instructions or long text, match field length to data length, avoid special codes (like PKIDs).
- Reduce physical work: scrolling, pop-up windows (non-modal), avoid small buttons.
- Main Menu Form: Use active verbs. Previous comments apply. Users should know where they are, where they can go, how to get there, and how to get back
|
9. Chose any case study from the textbook (student's choice) and describe
it, the technical problems that it illustrates, and a means for resolving those
technical issues? |
PROBLEM: An auto rental company wants to develop an automated system
to handle car reservations, customer billing, and car
auctions. Usually a customer reserves a car, picks it up, and
then returns it after a certain period of time. At the time of pickup,
the customer has the option to buy or waive collision insurance
on the car. When the car is returned, the customer receives a bill
and pays the specified amount. In addition to renting cars, every
six months or so, the auto rental company auctions the cars that have
accumulated over 20,000 miles.
Draw a use-case diagram for capturing
the requirements of the system to be developed. Include an abstract use case
for capturing the common behavior among any two use cases. Extend the
diagram to capture corporate billing, where corporate customers are
not billed directly; rather, the corporations they work for are billed
and payments are made sometime later.
- 1. Technical problem to solve:
-
Create a use case diagram: Analysis artifact, what not how, functional requirements
- Use-Case driven design: Promotes traceability, use case controls creation of all artifacts
- 2. Means for resolving
- Ask the following questions:
- What are the main tasks to be performed by each actor?
- Will the actor read or update any information in the system?
- Will the actor have to inform the system about changes outside the system?
- Does the actor have to be informaed about unexpected changes?
- Use a CASE tool to create the diagram. I used Enterprise Architect from Sparx Systems.
(Very obviously, the trial edition!!)
- Here is the result:
|
10. List the steps required to manually transform an ER diagram in 3NF into
an operational database. |
- Entities: Create a table for each entity
- Attributes: Create fields in the associated table for each attribute.
- Associations: Create relationships for each primary key/foreign key.
|
11. What would you like your resume to look like when you graduate? in
five years? in ten years? |
- Upon graduation:
- More project management
- Reflect education
- (More than my resume, aiming toward job satisfaction/business understanding right now)
- In 5 Years
- Team lead (technical management)
- Public speaking / public service--as in volunteering
- Writing
- In 10 Years
- Book(s) published (either technical/business ethics or fiction)
- MIS position of increasing responsibility (increasing pay never hurts, either)
- Kept up with technologies--I know there will continue to be more to learn.
|
12. Some experts place the cost of a new information system at about 30% of
the total lifetime cost. Maintenance and upgrades account for the other 70%.
Suggest some reasons why this is so. |
- COTS Packages - Commercial software requires maintenance/support fees, training, and software upgrade costs.
- New Technology - New hardware, operating systems, and development languages require software upgrades.
- Customizations - Software customizations will offer another level of complexity to your IS deployments.
|
13. A company currently uses MS Access but is succumbing to rapidly growing
data volumes (doubling every year). What else must you know about the situation
before you can make a reasonable recommendation about a feasible and effect
upgrade path to a new database product? |
- Users: Number of users, client interface configuration, users' level of technical proficiency
- IT Strategies: What is the current configuration? What is the plan for IT growth in hardware, software, and networking? What will be the sandbox this database will need to play in?
- Constraints: What are the budgetary, time, security, and/or resource constraints on the project?
|
14. When designing a system for someone else (that is, you will not be
administering it), what must you know about the system users, managers, and
administrators? Why? |
- Business objectives
- Current operations: processes, functions, data flows, reports
- Terminlogy
- New requirements: new functionality, views, reports needed.
- Who, what, why, where, when
Answers will provide guidance as to the form and content of your designs.
|
15. To what factors do you attribute the success of the relational database
model? |
- E.F. Codd - data (meaningless on its own) tables (tuples/attributes) related by a common field
- ANSI SQL - Ellison -
- Hardware innovations
|
16. Further discuss your 582 project. |
Project has two aspects: WebDir (would like to at least show documentation, if not whole project)
and Clinkenbeard Collection project (consists of database, Excel, Web).
- Planning
- Formulating stakeholder requests (What exactly do we want the system to do?)
- Limited Web reporting / Importing from Excel spreadsheets
- Not sure about rules for grouping sets of items
- Feasibility of using my own Web server at home (MS SQL) or MySQL (SWCP) considered...Would make it more Web-based.
- Building
- Access Database
- Spreadsheet data sources (ongoing or one-time?)
- Web reporting
- Operating
- I will maintain any Web sites myself
- Would be nice to package it so it could be installed on anyone's PC...
|
17. Why should someone switch from managing information in a spreadsheet to
using a database system? Why should they stick to a spreadsheet? Is there any
middle ground? |
Spreadsheet indicators:
- Performing calculations (especially repeatedly)
- Small amount of data
- Easy creation of charts and graphs
- You have a "what-if" scenario
|
Database indicators
- Searching/sorting needed
- Reporting
- Unknown number of data items
- Concurrent viewing
- Data needs to be related
|
Spreadsheets can be used for a front-end to databases. Through automation/VBA or table linking, Access can push or pull data to/from spreadsheets.
|
18. A set of monthly performance graphs are based on summary information
from a database plus the input from one critical staff member. What steps can
you take to make this a "push-button" process? |
- The system should contain a page for the "Create Graph" button. If the critical staff member is logged on, the system should recognize this fact and a form that allows the critical staff member to submit his input should show up above the "Create Graph" button on this same page.
- The system should combine the critical user's information with query results when the "Create Graph" button is clicked.
- The system should then display the graph to the user.
|
19. Discuss the pros and cons of a networked database solution (for example,
sharing an Access mdb across the company intranet) versus a Web-enabled solution
(for example, a corporate database reached with a Web browser). |
Networked database:
- pros:
- File-level Security
- User familiarity
- cons:
- File-corruption/data loss
- No distributed processing
- Record locking may cause problems
- Client requires application
|
Web-enabled:
- pros:
- Scalable
- Faster with thin-client architecture--means server does processing
- Only a browser is needed on the client-side
- Control--IT staff can manage state on the server-side
- cons:
- Differing browsers
- Technically more complex
|
|
20. How does a tool like Visio make database design easier? On the other
hand, what difficulties does it introduce? |
Benefits:
- Automated normalization if you start with something like FORML.
- Reverse-engineering
|
Costs:
- If you cannot round-trip effectively, you will overwrite your ORM and ERD designs. I have been problems with this in Visio, but maybe it's a picnic.
- ERWin and Rational have Enterprise-level products.
|
|