Task2 - Solution - Corrected
Task2 - Solution - Corrected
2. Discuss the main categories of data models. What are the basic differences among the
relational model, the object model, and the XML model?
Data models:
o Conceptual (high-level, semantic) data models:
Provide concepts that are close to the way many users perceive data.
(Also called entity-based or object-based data models.)
o Physical (low-level, internal) data models:
Provide concepts that describe details of how data is stored in the
computer. These are usually specified in an ad-hoc manner through
DBMS design and administration manuals
o Implementation (representational) data models:
Provide concepts that fall between the above two, used by many
commercial DBMS implementations (e.g. relational data models used in
many commercial systems).
o Self-Describing Data Models:
Combine the description of data with the data values. Examples include
XML, key-value stores and some NOSQL systems.
Basic differences
o Relational: relations, same type data in columns
o Object: application interaction, classes, methods properties of classes
o XML Model: Hierarchical mode. Different types of data in same document. Data
no inherent ordering
Mappings among schema levels are needed to transform requests and data.
o Programs refer to an external schema, and are mapped by the DBMS to the
internal schema for execution.
o Data extracted from the internal DBMS level is reformatted to match the user’s
external view (e.g. formatting the results of an SQL query for display in a Web
page)
5. What is the difference between logical data independence and physical data
independence? Which one is harder to achieve? Why?
Logical data independence is the capacity to change the conceptual schema without
having to change external schemas are application programs. Change conceptual
schema to expand database. Only view definition and the mappings need to be changed
in a DBMS that supports logical data independence
Physical data independence is the capacity to change the internal schema without
having to change the conceptual schema; hence the external schemas need not be
changed as well. For example, the internal schema may be changed when certain file
structures are reorganized or new indexes are created to improve database
performance
7. Discuss the different types of user-friendly interfaces and the types of users who typically
use each.
Menu-based (Web-based): Include list of options to choose from, popular for browsing
on the web. (End-user)
Forms-based: designed for naïve users, used to filling in entries on a form(End-users)
Graphics-based: Point and Click, Drag and Drop, etc. Specifying a query on a schema
diagram
Natural language: requests in written English
Combinations of the above: For example, both menus and forms used extensively in
Web database interfaces
Speech: Input query and Output response
Interfaces for parametric users: e.g., bank tellers using function keys.
Interfaces for the DBA
o Creating user accounts, granting authorizations
o Setting system parameters
o Changing schemas or access paths
9. What is the difference between the two-tier and three-tier client/server architectures?
Two Tier: client (UI) and query server/transaction server. Upon connection transaction
and query request sent using Open Databases Connectivity's, API’s processed server
side. Specialized Servers with Specialized functions, Clients can access the specialized
servers as needed
Three-tier architectures:
o Application or web layer between client and database.
o Application or web layer stores the web connectivity software and the business
logic part of the application used to access the corresponding data from the
database server
o Application or web layer acts like a conduit for sending partially processed data
between the database server and the client.
12. Think of different users for the database shown in Figure 1.2. What types of applications
would each user need? To which user category would each belong, and what type of
interface would each need?
Different types of users for the database are:
o STUDENT can access into the student portal and can check their personal data
and can have their ID numbers, course name, course code, data and time for
classes and exams, and their grades.
o PROFESSOR can access into his account and can see the data of all students. Can
see their subjects and courses. Professors can give the grades to the students
and he can change the details of student if necessary. Professor can only change
enrolment of the student. And the data will be updated.
o ADMINISTRATOR can have all rights to access to every student data and can
change their data if student requested. But Administrator cannot change the
grade of a student given by the Professor.
o Users of admission office
o Users of Transcripts office
o Front Office users
14. If you were designing a Web-based system to make airline reservations and sell airline
tickets, which DBMS architecture would you choose from Section 2.5? Why? Why would
the other architectures not be a good choice?
Designing a web-based system to make airline reservations and sell airline tickets with
Basic Client/Server Architecture is more secured than using Centralized DBMSs
Architecture. In case of using Client architecture we can have individual details of the
each client. Their database can access with client permission. If any request is sent to
the Client architecture it immediately responds to the request.
And in centralized architecture any client can see other clients’ details. This will effect
on the original client details such as their surnames, payment details, and phone
numbers etc. This is why Client/Server is good choice of architecture than DBMSs
architecture.
15. Consider Figure 2.1. In addition to constraints relating the values of columns in one table
to columns in another table, there are also constraints that impose restrictions on values
in a column or a combination of columns within a table. One such constraint dictates that
a column or a group of columns must be unique across all rows in the table. For example,
in the STUDENT table, the Student_number column must be unique (to prevent two
different students from having the same Student_number). Identify the column or the
group of columns in the other tables that must be unique across all rows in the table.