UPPER NILE UNIVERSITY
FACULTY OF SCIENCE AND HUMAN DEVELOPMENT
COMPUTER SCIENCE DEPARTMENT
LEVEL: THIRD YEAR
SUBJECT: INTRODUCTION TO DATABASE DESIGN AND SQL
ASSIGNMENT NO: 1
TOPIC:
……………… Database
PREPARED BY
…………………………………….
ASSIGNED BY
CHAN JOHN DAK
SUBMISSION DATE: …../………/2025
1. Requirements Gathering
Activities:
Stakeholder Interviews: Engage with stakeholders (e.g., users, managers, IT staff) to
gather detailed requirements.
Identify Data Needs: Determine the types of data to be stored, how they will be used,
and who will use them.
Define Functional Requirements: Outline what the database should do, including
specific functionalities like data entry, reporting, and security.
Document Non-Functional Requirements: Specify performance criteria, scalability,
security measures, and compliance standards.
Functional Requirements – what the database should do
a. …………………
b. ……………….
c. ……………….
Non-Functional Requirements – how the database should perform
a. ………………….
b. ……………………
c. …………………..
2. Conceptual Design
Activities:
Develop an Entity-Relationship Diagram (ERD): Identify key entities (e.g., Users,
Products, Orders) and their relationships (e.g., one-to-many, many-to-many).
Define Attributes: Specify the attributes for each entity (e.g., UserID, ProductName,
OrderDate).
Establish Relationships: Determine how entities interact with each other, ensuring
clarity in data connections.
……………………………………………………………………………………………………
……………………………………………………………………………………………………
…………..
1
3. Logical Design
Activities:
Normalize the Data: Apply normalization rules (up to the Third Normal Form, 3NF) to
eliminate data redundancy and ensure data integrity.
Define Tables and Columns: Convert entities into tables and attributes into columns,
specifying data types for each column.
Establish Primary and Foreign Keys: Identify primary keys for each table and establish
foreign keys to enforce relationships between tables.
Create Detailed ERD: Refine the Entity-Relationship Diagram to include all table
structures, keys, and relationships.
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
.
4. Physical Design
Activities:
Select DBMS: Choose an appropriate database management system (e.g., MySQL,
PostgreSQL, Oracle) based on requirements and constraints.
Design Storage Structures: Define tablespaces, indexes, partitions, and other storage-
related configurations.
Optimize Performance: Implement indexing strategies, denormalization where
necessary, and consider query optimization techniques.
Define Security Measures: Establish user roles, permissions, and encryption methods
to protect data integrity and confidentiality.
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………...
2
5. Implementation
Activities:
Create Database Schema: Use SQL scripts or DBMS tools to create tables, indexes,
views, stored procedures, and other database objects.
Data Migration: Import existing data into the new database structure, ensuring data
integrity and consistency.
Set Up Security: Implement the defined security measures, including user roles,
permissions, and encryption.
Develop Interfaces: Create interfaces for data entry, reporting, and other interactions as
required by the application.
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………...
6. Testing
Activities:
Functional Testing: Verify that all database functionalities work as intended, including
data entry, retrieval, updates, and deletions.
Performance Testing: Assess the database's performance under various loads and
optimize queries, indexing, and configurations as needed.
Security Testing: Test the effectiveness of security measures to protect against
unauthorized access and data breaches.
Backup and Recovery Plans: Establish and test backup procedures and recovery plans
to safeguard data against loss or corruption.
Ongoing Maintenance: Regularly monitor database performance, apply updates and
patches, optimize queries, and manage data growth.
User Feedback: Collect feedback from users to identify any issues or areas for
improvement and implement necessary changes.
……………………………………………………………………………………………
……………………………………………………………………………………………
…………………………….