My Week 1 Learning Journey in DBMS


Introduction
This week, I started my journey into Database Management Systems (DBMS). Instead of just keeping notes to myself, I’ve decided to share my weekly learnings here so that others who are also studying DBMS can benefit from the same resources.
Along with learning theory, I also tried implementing concepts through ER diagrams, which made the ideas much clearer.
What I Learned This Week
LEC-1: Introduction to DBMS
Difference between Data and Information
Types of Data → Quantitative vs Qualitative
Why we need Databases and what makes DBMS better than file systems
Advantages of DBMS → less redundancy, more security, consistency, concurrency support
This concept is explained comprehensively in the following lecture
LEC-2: DBMS Architecture
Three Schema Architecture → Physical, Logical, and View levels
Concept of Schema vs Instance
Data Models → ER, Relational, Object-oriented
Database Languages → DDL & DML
Role of the Database Administrator (DBA)
DBMS Application Architectures → 1-tier, 2-tier, and 3-tier
This concept is explained comprehensively in the following lecture
LEC-3: Entity-Relationship (ER) Model
What entities and entity sets are
Types of Attributes → Simple, Composite, Multi-valued, Derived
Relationships → Strong vs Weak
Mapping Cardinalities → One-to-One, One-to-Many, Many-to-One, Many-to-Many
Participation Constraints → Total vs Partial
This concept is explained comprehensively in the following lecture
LEC-4: Extended ER (EER) Features
Specialization (Top-Down approach)
Generalization (Bottom-Up approach)
Attribute Inheritance
Aggregation (representing relationships among relationships)
This concept is explained comprehensively in the following lecture
Core Approach (Step by Step Guide + Examples)
Identify Entity Sets (e.g., Student, Customer, Post, Employee)
Identify Attributes of each entity (simple, composite, multivalued, derived).
Assign Data Types & Keys (PK, FK, unique, nullable).
Identify Relationships between entities:
Strong or Weak
Degree (Unary, Binary, Ternary)
Mapping Cardinality (1:1, 1:N, M:N)
Participation Constraints (Total / Partial).
Example 1: Banking System ER Model
A banking system is one of the most popular examples used in DBMS.
Entities:
Branch (Branch_ID, Name, Location, Opening_Date)
Employee (Employee_ID, Name, Role, Salary, Manager_ID, Branch_ID)
Customer (Customer_ID, Name, DOB, Address, Contact Numbers)
Account (Account_No, Balance, Date_Opened, Status)
Loan (Loan_ID, Loan_Type, Amount, Interest_Rate, Tenure)
Transaction (Transaction_ID, Date_Time, Amount, Type)
Card (Card_No, Expiry, CVV, Card_Type)
Special Features:
Composite attribute: Address (Street, City, State).
Multivalued: Customer may have multiple phone numbers.
Weak entities: Transaction (depends on Account), Card (depends on Account).
Derived: Age (from DOB), Account_Age (from Date_Opened).
Relationships:
Branch–Employee: One branch employs many employees (1:N).
Customer–Account: One customer can own multiple accounts (1:N).
Account–Transaction: An account can have multiple transactions (1:N).
Employee–Employee: Supervisor relation (Unary).
Loan–Customer: A customer can take multiple loans (1:N).
Example 2: Online Delivery System ER Model
Think about Swiggy, Foodpanda, or Uber Eats.
Entities:
Customer (Customer_ID, Name, Contact, Address).
Vendor/Restaurant (Vendor_ID, Name, Address).
Employee/Delivery Person (Employee_ID, Name, Role).
Branch (Branch_ID, Location).
Order (Order_ID, Date, Status).
Payment (Payment_ID, Mode, Amount).
Delivery (Delivery_ID, Time, Status).
Special Features:
Generalization: Order → FoodOrder, ParcelOrder.
Weak entity: Order_Item (depends on Order).
Derived: Total_Price (calculated from items).
Relationships:
Customer–Order: One customer can place many orders (1:N).
Order–Payment: Each order has exactly one payment (1:1).
Vendor–Order: Vendor fulfills multiple orders (1:N).
Employee–Delivery: Delivery person delivers multiple orders (1:N).
Example 3: University System ER Model
Universities are classic DBMS case studies.
Entities:
Student (Student_ID, Name, Roll_No, DOB).
Professor (Professor_ID, Name, Dept, Salary).
Department (Dept_ID, Name, Location).
Course (Course_ID, Title, Credits).
Classroom (Room_No, Capacity).
Exam (Exam_ID, Date, Type).
Result (Result_ID, Marks, Grade).
Special Features:
Weak entity: Result (depends on Student + Exam).
Unary: Professor mentors another Professor.
Multivalued: Student may have multiple contact numbers.
Relationships:
Student–Course: Many-to-Many (M:N Enrolls).
Professor–Course: One professor teaches many courses (1:N).
Department–Professor: Department has many professors (1:N).
Exam–Student–Result: Aggregation (Result depends on both Exam and Student).
Example 4: Facebook ER Model
Social networks are very rich examples.
Entities:
User (User_ID, Name, Email, Password, DOB).
Post (Post_ID, Content, Media, Created_At).
Story (Story_ID, Content, Expiry_At, Visibility).
Reaction (Reaction_ID, Type, Emoji).
View (Viewer_ID, Story_ID, View_Time).
Comment (Comment_ID, Content, Created_At).
Like (Like_ID, Reaction_Type).
Friendship (Friendship_ID, Request_Status).
Group, Group_Membership (Admin, Role).
Page, Page_Follow (Page_Name, Category).
Message (Message_ID, Sender, Receiver, Content).
Special Features:
Weak entities: Comment, Like, View.
Unary: Friendship (User–User).
Associative: Group_Membership, Page_Follow.
Aggregation: Story–Reaction–View.
Relationships:
User–Post (1:N).
Post–Comment (1:N).
User–User (Friendship M:N).
Story–View (M:N).
Story–Reaction (M:N).
Example 5: Instagram ER Model
Entities:
User (User_ID, Username, Email, DOB, Bio).
Post (Post_ID, Content, Media, Hashtags).
Comment (Comment_ID, Content, User_ID).
Like (Like_ID, Type).
Story (Story_ID, Expiry_At).
Reel (Reel_ID, Media, Audio).
Hashtag (Tag_ID, Tag_Name).
Message (Message_ID, Sender, Receiver, Content).
Follower (Follower_ID, Following_ID).
Special Features:
Weak: Comment, Like, Reel_Comment, Reel_Like.
Associative: Follower, Post_Hashtag.
Unary: Follower (User follows User), Messages (User ↔ User).
Derived: Age (DOB).
Relationships:
User–Post: One user can create multiple posts (1:N).
Post–Hashtag: Posts can have multiple hashtags (M:N).
User–Follower: One user can follow multiple users (Unary M:N).
User–Story: One user can post multiple stories (1:N).
Reel–Like: Reels can have multiple likes (1:N).
ER Diagram → Relational Model Conversion Rules:
👉 Converting ER design into Relational design is a crucial step in building a database. Let’s break down how each ER concept maps into a relational schema.
1. Strong Entity
Each strong entity becomes an individual table.
Attributes → Columns in the table.
Primary Key (PK) → Entity’s PK is directly the relation’s PK.
Foreign Keys (FKs) → Added to establish relationships with other entities.
Example:Customer(Customer_ID [PK], Name, Email, Phone)
2. Weak Entity
A weak entity cannot exist without its strong entity.
Becomes a separate table.
PK of strong entity is added as FK.
Composite PK = {Strong Entity PK (FK) + Discriminator Key}.
Example:Order_Item(Order_ID [FK], Item_No, Quantity, PRIMARY KEY(Order_ID, Item_No))
3. Single-Valued Attributes
Directly represented as columns in the table.
No extra table is needed.
Example: Salary
, Date_Of_Joining
4. Composite Attributes
Break into atomic attributes in the main table.
Do not keep the composite attribute as a column.
Example:
Instead of Address
, store → Street, City, State, Zip
.
5. Multivalued Attributes
Stored in a separate table.
Table includes entity’s PK as FK + multivalued attribute.
PK of new table = {Entity_PK + Multivalued Attribute}.
Example:
Employee(Emp_ID [PK], Name)
Employee_Phone(Emp_ID [FK], Phone_No, PRIMARY KEY(Emp_ID, Phone_No))
6. Derived Attributes
Not stored in relations.
Calculated when needed.
Example: Age
derived from DOB
.
7. Generalization / Specialization
Method 1 (Default)
Create a table for the supertype.
Create separate tables for each subtype, including subtype attributes + supertype PK (as FK).
Example (Bank Account):
Account(Account_No [PK], Balance)
Savings_Account(Account_No [FK, PK], Interest_Rate)
Current_Account(Account_No [FK, PK], Overdraft_Limit)
Method 2 (Disjoint + Complete Generalization)
Skip the supertype table.
Create tables for subtypes including both supertype and subtype attributes.
Example:
Savings_Account(Account_No [PK], Balance, Interest_Rate)
Current_Account(Account_No [PK], Balance, Overdraft_Limit)
Drawback: If overlapping/generalization is not complete → redundancy & missing data risk.
8. Aggregation
Represented as a relationship table.
Includes PKs of all participating entities + descriptive attributes.
Example:
Customer places Order → generates Payment.Order_Payment(Customer_ID [FK], Order_ID [FK], Payment_ID [FK], Payment_Mode, Amount)
Resources I Used
Along with standard references, I especially followed DBMS YouTube Series( CodeHelp-by babbar DBMS Series), which explained the concepts in a very simple and student-friendly way.his playlist explains DBMS concepts in a simple and student-friendly way.
👉 What’s even better: each video has detailed notes provided in the description/under the video, so you don’t need to write everything yourself. You can directly learn, revise, and practice using them
Other helpful resources:
📘 Database System Concepts by Silberschatz, Korth, Sudarshan
🌐 GeeksforGeeks DBMS Notes
🌐 TutorialsPoint DBMS Tutorial
Conclusion
That’s a wrap for my Week 1 of DBMS learning.
The biggest takeaway for me was that databases are not just about storage, but about meaningful organization of data into useful information.
From next week, I’ll continue hands-on practice on SQL Workbench, where I’ll be writing and testing queries. I’ll also put together a list of important SQL queries that can help beginners get started easily.
Stay tuned for my updates — it’s going to be fun and practical!
Subscribe to my newsletter
Read articles from NISAR FATIMA directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

NISAR FATIMA
NISAR FATIMA
Tech learner with Core Java experience, revising DSA & DBMS while diving into Cloud, DevOps, and modern tools like Docker, Kubernetes & Azure