CS403 FAVOURITE SUBJECT FINAL VIVA PREPARATION
| FOR ALL CS619 STUDENTS |
Favorite Subject Questions:-
1. What is a Database?
A database is a structured collection of data that allows easy storage, retrieval, and management. It
helps in organizing data efficiently.
2. What is DBMS (Database Management System)?
DBMS is software that allows users to interact with databases. It provides tools for data insertion,
deletion, update, and retrieval.
3. Benefits of using DBMS:
Reduces data redundancy
Ensures data integrity and security
Allows multi-user access and data consistency
4. What is RDBMS (Relational DBMS)?
RDBMS stores data in tables (relations) and uses keys to maintain relationships. Examples: MySQL,
Oracle.
5. What is Multi-Dimensional DBMS?
It stores data in a cube-like structure, useful for OLAP (Online Analytical Processing). It supports
complex queries for analysis.
6. What is UML (Unified Modeling Language)?
UML is a standardized modeling language used to visualize, specify, construct, and document
software systems. It uses diagrams to represent system structure and behaviour.
7. VU Process Model in Project:
VU Process Model (Virtual University Software Development Model)
The VU Process Model is a hybrid software development approach that combines the structured
nature of the Waterfall model with the risk management benefits of the Spiral model. It involves
sequential phases, including requirements gathering, planning, analysis and design, development,
and final reporting.
Why We Use These Models:
To plan and manage software projects efficiently based on project size, risk, and requirements.
8. Use Case Diagram:
A Use Case Diagram shows the interaction between actors (users) and the system. It helps
understand system functionality from a user’s point of [Link] capture core system features.
Main Components:
Actor: A person or external system (e.g., Student)
Use Case: A function performed (e.g., Register, Login)
System Boundary: Represents the entire system scope
Connectors: solid lines to connect actors with use cases.
9. Class Diagram:
A Class Diagram is a structural UML diagram that shows the classes in a system, their attributes,
methods (functions), and relationships with other classes. It is mainly used in object-oriented design.
Main Components:
Class Name (e.g., Student)
Attributes (e.g., name, age)
Methods (e.g., enroll(), login())
Class Relationship Types:
Association: General relationship between classes.
Aggregation: Has-a relation; parts can exist independently.
Composition: Strong has-a relation; parts can’t exist independently.
Inheritance: Is-a relation; one class inherits another.
Generalization: combine same classes into one class
15. Data Flow Diagram (DFD):
Shows flow of data in a system through processes, data stores, and external entities.
16. Sequence Diagram:
A Sequence Diagram shows how objects interact with each other in a time-ordered sequence. It
focuses on message passing between objects.
Main Components:
Objects: Represented as rectangles at top
Lifelines: Dotted lines showing object life
Messages: Arrows showing method calls
Activation Box: show actively participation of an object to complete an event with the passage of
time.
17. Sequence Diagram Message Types:
Synchronous: Caller waits for response. Return message needed.
Asynchronous: Caller doesn’t wait. Return message not needed.
Return Message: Represents the return of a message. E.g. confirmation message.
Self-Message: A message object send to itself e.g. verify
Alternative Message/Path: Used to show if-else conditions. Only one option runs based on
condition. Represented using "alt" frame with different conditions.
18. Database Diagram:
Shows structure of database including tables, columns, keys, and relationships. A database
model defines the logical structure of a database, determining how data is stored, organized, and
accessed.
19. ERD (Entity Relationship Diagram):
An ERD (Entity Relationship Diagram) is a graphical representation of the structure of a database. It
visually illustrates the relationships between entities, attributes, and their associated relationships
within the database.
20. ERD Cardinality:
It describes the relationships between data in different tables, specifically the number of instances in
one entity that can relate to instances in another . .
21. ERD Components:
Entities, Attributes, Relationships, Keys, Cardinalities.
22. Weak vs. Strong Entity:
Strong Entity: Has its own unique key.
Weak Entity: Depends on strong entity and uses foreign key. Have no own primary/unique key.
24. An M: N Relationship Require how much number of tables?
It require 3 tables— two entities and one junction table.
25. Why Use Architecture Diagram:
To visualize system layers and different components' interaction.
26. What is 3-Tier Architecture? Its Advantages to use?
A three-tier architecture is a client-server architecture that divides an application into three logical and
physical computing tiers: the presentation tier (user interface), the application tier (business logic), and
the data tier (database). This separation allows for greater flexibility, scalability, and maintainability of
the application.
27. System Actors vs. End Users:
Actors: Interact with the system externally.
End Users: Final consumers of the system. These are also system users/actors.
28. What is SQL?
Structured Query Language used to manage data Especially in RDBMS...
29. Relation:
A table in a database.
30. Table:
A structure of rows and columns to store data.
31. Tuple:
A row in a table representing a single record also called tuple.
32. Field:
A column in a table.
33. Column:
Represents attribute of an entity.
34. Record:
A complete row of data.
35. Attributes:
Properties or characteristics of an entity.
36. Behaviors:
Actions an object can perform also called (methods).
37. Methods:
Functions defined in a class.
Each of below line is a single concept but we use different names for it
Table=relation ,
characteristics=properties=attributes=columns=fields,
tuple=row=record,
methods=behaviors=functions=action=relationship
38. Database View:
A database view is a virtual table based on the result set of an SQL query (SELECT QUERY). It
doesn't store data itself but provides a customized representation of data from one or more
underlying tables
39. Why We Use Views?
Views are often used to simplify complex queries, enhance data security by restricting access to
specific columns or rows, and improve query
40. Triggers:
These are stored Procedures that automatically execute on data in response to a specific event within
a database.
41. Why We use triggers
Automate Tasks,
maintain data integrity,
Enforce business rules.
42. Types of Triggers:
BEFORE Trigger: Executes before an action.
AFTER Trigger: Executes after an action.
INSTEAD OF Trigger: Replaces the default action.
ROW-Level: Executes per row.
STATEMENT-Level: Executes once per statement.
43. Joins:
Used to combine data from multiple tables:
INNER JOIN: Returns matching records.
LEFT JOIN: All from left + matched right.
RIGHT JOIN: All from right + matched left.
FULL JOIN: All records from both.
SELF JOIN: Join table to itself.
CROSS JOIN: Cartesian product.
42. DDL (Data Definition Language):
Used to Defines structure
CREATE,
ALTER,
RENAME
TRUNCATE
DROP
DROP.
43. DML (Data Manipulation Language):
Used to Manages data —
SELECT,
INSERT,
UPDATE,
DELETE.
44. DCL (Data Control Language):
Used To Controls access
GRANT: A SQL command used to give users specific privileges on database objects like tables,
views, or procedures (e.g., SELECT, INSERT).
REVOKE: Used to remove previously granted permissions from a user or role on database
objects, reversing the GRANT command.
45. TCL (Transaction Control Language):
START TRANSACTION: Begins a new transaction block, allowing a group of SQL operations to
be executed as a single unit.
COMMIT: Saves all changes made during the current transaction permanently to the database.
ROLLBACK: Cancels all changes made in the current transaction and restores the previous state of
the database.
46. DQL(Data Query Language):
SELECT QUERY
47. Key:
A field(s) that uniquely identifies records in a database table.
48. Types of Keys:
Primary Key: Unique, no nulls. E.g., Student ID.
Foreign Key: References primary key of another table.
Candidate Key: All fields that can be primary.
Composite Key: Combination of fields.
Alternate Key: Candidate keys not selected as PK.
Super Key: Superset of candidate key.
49. Inheritance:
It means a child class gets (inherits) the properties and methods of a parent class.
Example: A "Car" class can inherit from a "Vehicle" class.
50. Generalization:
It is the process of combining similar classes into one common (general) superclass.
Example: "Car" and "Bike" can be generalized into "Vehicle".
51. Association:
It shows a basic relationship between two entities or classes.
Example: A "Teacher" teaches "Student" — both are linked.
52. Composition:
A strong relationship where the child cannot exist without the parent.
Example: A "House" has "Rooms" — if the house is deleted, rooms are too.
53. Aggregation:
A weak form of composition. The child can exist even if the parent is deleted.
Example: A "School" has "Teachers" — but teachers can exist without the school.
54. Encapsulation:
It means wrapping data (variables) and code (methods) into a single unit (class) and hiding internal details.
Example: Using private variables and public methods in a class.
55. Polymorphism:
One method or function behaves differently in different situations.
Example: A function `draw()` may draw a circle, square, or triangle depending on the object.
56. Abstraction:
It hides unnecessary details and shows only important features to the user.
Example: A user can use a car without knowing how the engine works.
57. Class, Object, Entity — Same?
No:
- Class: A blueprint or template (e.g., `Student` class).
- Object: A real instance of the class (e.g., `Student1`, `Student2`).
- Entity: A real-world object stored in a database (e.g., a student record).
58. Cardinality:
It defines the number of instances of one entity related to another entity.
Example: One teacher teaches many students — 1:N cardinality.
59. Modularity:
It means dividing the system into separate independent parts (modules).
Each module performs a specific function for easy development and testing.
60. Why Use Session in Database:
To keep track of which user is logged in and manage their data/activity until they log out.
61. Common Database Names:
These are widely used DBMS:
- MySQL
- Oracle
- PostgreSQL
- MS SQL Server
62. SQL Database Names:
Examples of SQL-based databases:
- MySQL
- SQLite
- PostgreSQL
- Oracle
- Microsoft SQL Server
63. Anomalies:
Issues that arise in a poorly designed database.
Types:
- Insertion Anomaly: Cannot insert data due to missing other data.
- Deletion Anomaly: Deleting a record deletes useful data.
- Update Anomaly: Inconsistent data after an update.
64. Partitioning:
Breaking large tables into smaller parts to improve performance.
Types:
- Horizontal Partitioning: Splitting rows (based on conditions).
- Vertical Partitioning: Splitting columns (based on features).
65. Range Partitioning:
A type of horizontal partitioning where data is divided by ranges.
Example: Dates (Jan–Mar, Apr–Jun) or ID ranges (1–1000, 1001–2000).
66. TRUNCATE vs DELETE:
TRUNCATE removes all rows from a table instantly without logging each row (faster), while DELETE
removes rows one by one and logs each operation (slower but safer).
67. TRUNCATE vs DROP:
TRUNCATE only deletes only data inside the table, but DROP completely deletes the table structure and
data from the database.
68. ACID Properties:
These are rules to ensure reliable database transactions:
• Atomicity – All steps succeed or none.
• Consistency – Database remains valid after transaction.
• Isolation – Transactions run independently.
• Durability – Changes remain even after system failure.
69. Auto Increment:
Automatically increases a numeric column (usually primary key) by 1 when a new record is inserted,
ensuring unique values.
70. Data Independence:
The ability to change the database structure (like tables or storage) without changing the application or user
interface.
71. Deadlock:
A situation where two or more processes wait forever for each other’s resources, stopping execution
completely.
72. Local vs Global Variable:
Local variables are declared inside a function and used only there. Global variables are declared outside and
can be accessed anywhere in the code.
73. Constraints:
Rules applied to table columns to control the type of data. Examples: NOT NULL, UNIQUE, PRIMARY
KEY, CHECK, FOREIGN KEY.
74. Confidentials:
Sensitive or private information such as passwords, CNIC, credit card numbers that must be protected from
unauthorized access.
75. End Users:
The actual people who use the software system, like students, employees, or customers, without needing to
know the code or backend.
76. Data Integrity:
Maintaining accuracy, consistency, and correctness of data over its entire lifecycle in the database.
77. Types of Data Integrity:
• Entity Integrity – Each row must have a unique primary key.
• Referential Integrity – Foreign keys must match primary keys.
• Domain Integrity – Values must follow correct format/type.
• Key Integrity – No duplicate or null primary keys.
• User-defined – Custom rules made by the developer.
78. Stored Procedure:
A saved SQL block that performs specific tasks and can be called multiple times with different inputs.
79. Cursor:
A tool used to go through each row returned by a query one by one, mainly in stored procedures.
80. Subquery:
A query inside another query, used to get values or filter results in the main query.
81. Metadata:
Data about data. Example: Table name, column types. Datatypes of columns
82. Schema:
Logical structure of database. Types: Star, Snowflake, Galaxy.
83. Partial Dependency:
When a non-key attribute depends on part of a composite primary key. Removed in 2NF.
84. Full Dependency:
When a non-key attribute depends on the entire composite key, not just part of it.
85. Transitive Dependency:
A non-key attribute depends on another non-key attribute. Removed in 3NF.
86. Multivalued Dependency:
One attribute determines multiple independent values of another attribute. Removed in 4NF.
87. Functional Dependency:
If one attribute uniquely determines another. Example: RollNo → Name.
88. Join Dependency:
Occurs when a table can be split into multiple tables and rejoined without losing data. Removed in 5NF.
Dear Students,
To support your final viva and presentation preparation, I have compiled this complete file containing important Database
concepts. It is designed to help you confidently prepare your favourite subject(CS403) for your final degree viva — 100% free
and easy to understand.
📌 I’m also sharing a recorded Google Drive session (free of cost) that is extremely helpful for complete presentation
preparation for all CS619 Students. This presentation session is highly important and recommended for all CS619 students,
regardless of their project topic. It is designed to help you clearly understand all core concepts and important tasks in the simplest
and most detailed way. I have explained every topic with clarity to ensure your full preparation for the final presentation. I strongly
encourage you all to attend this session, clear your concepts, and confidently present your project. Kindly share this session with
all your CS619 fellows so everyone can benefit equally.
It is highly recommended that you first understand all important diagram types, their symbols, key components, and related
concepts. Then attend the first recorded session to strengthen your foundational understanding. After that, review your own
project presentation file and compare the concepts discussed.
Once done, watch the second session where I have shared some logical Presentation questions. Try to answer them based on your
own understanding and project. This approach will help you build confidence and prepare effectively for your final presentation.
🔗 Click below to access the Complete Presentation Session:
[[Link]
🔗 Click below to Access the Recorded Session on Presentation FAQs and Logical Viva Questions:
[Link]
Keep taking steps towards your own success and make others' journeys easier.
Be a part of their prayers and through this gain ease in your success by Allah Almighty.
Best of luck to all students! Don't forget to remember VU MASTERMINDS team and me in
your prayers. With all our heart — we wish you unstoppable confidence, zero stress, and
100% success for your Final Viva and future career!
.
📢 For complete support with final year PHP projects, our expert assistance is available.
Contact us for professional, paid services to ensure a stress-free and successful project
experience.
Whatsapp Email:
With respect and best wishes, Contact:
Your Well-Wisher DIYASHEZADI
0300-5401809 VuMastermindteam@[Link]