of working experience as a Developer & Graphic Designer
I'm a software engineer with a BSc (Hons) in Computer Science from
Staffordshire
University, specializing in full-stack development with expertise in .NET, Laravel, React.js,
and Next.js . I've developed diverse applications, including machine learning
models , mobile
apps, and web systems, showcasing my skills in both front-end and back-end development.
Passionate about problem-solving and continuous learning, I excel in delivering efficient,
high-quality solutions and thrive in both collaborative and independent environments.
I'm a dedicated software engineer with expertise in full-stack development, creating
efficient, innovative solutions that bridge technology and user needs. Passionate about
continuous learning..
As a Graphic Designer
I'm a creative graphic designer with a passion for visual storytelling, blending
artistic vision with technical expertise to create impactful designs that captivate audiences..
Skills & Experience
As a software engineer and graphic designer I am skilled in full-stack development
and
visual design. I create efficient, user-centric applications and compelling visuals, merging
technical precision with creative artistry.
My Skills
HTML
CSS
PHP
Ms SQL
Adobe Photoshop
Javascript
.Net
Laravel
Visual Studio
Adobe illustrator
Associate Software Engineer
Neura Scripts (Pvt) Ltd Kandy - 2024 January - Present
I developed web apps with React for interfaces and .NET for
interactive sites, collaborating closely with developers to build and debug
software.
Software Developer Intern
Open Codes Labs (Pvt) Ltd Kandy - 2023 February - 2023
August
I learned Laravel, PHP, CSS, and HTML, focusing on performance and
UX. Directed database integration, code reviews, and collaborated on successful
app delivery.
Graphic Desinger
2019 - Present
BSc (Hons) in Computer Science
Staffordshire University, United Kingdom. (APIIT Sri Lanka) - October 2022 – November 2023
Beginner-Friendly Database Guide: Learn SQL and Database Design
If you’ve ever wondered how banks store transactions, how e-commerce websites manage products,
or how universities keep track of students and courses, the answer is simple: databases.
Databases are the foundation of almost every modern application. Whether you’re a student, aspiring developer,
or complete beginner, this article will give you a clear and simple introduction to databases, SQL, and database design.
📘 What is a Database? (Beginner Definition)
A Database is a structured way of storing information so it can be used efficiently. Unlike messy file systems,
databases keep data organized, secure, and easy to access.
👉 Example:
A Bank Database manages customers, accounts, and transactions.
A University Database stores students, lecturers, and courses.
A Supermarket Database tracks items, suppliers, and sales.
Why use a database?
- Reduce duplicate data
- Improve data consistency
- Allow multiple users to access data at once
- Provide backup and recovery options
📘 What is a Relational Database?
The most common type of database is the Relational Database, where data is stored in tables (rows and columns).
Students Table → StudentID, Name, Age
Courses Table → CourseID, CourseName
Enrollment Table → StudentID, CourseID
📘 What is RDBMS? (Relational Database Management System)
An RDBMS is software that helps you create, manage, and query relational databases.
✅ Popular RDBMS examples:
MySQL
SQL Server
Oracle
PostgreSQL
👉 Why use an RDBMS?
- Data security (permissions, authentication)
- Backup and recovery
- Multi-user support
- Data integrity (valid and consistent data)
📘 Introduction to SQL (Structured Query Language)
If databases are the storage, SQL is the language used to interact with them.
SQL is used for:
DDL (Data Definition Language): CREATE, ALTER, DROP
DML (Data Manipulation Language): INSERT, UPDATE, DELETE, SELECT
DCL (Data Control Language): GRANT, REVOKE
TCL (Transaction Control Language): COMMIT, ROLLBACK, SAVEPOINT
👉 Example:
Want to add a new student? Use INSERT.
Want to view all employees? Use SELECT.
📘 Database Design: The Foundation of a Good Database
A well-designed database is efficient, scalable, and secure.
Steps in Database Design:
1. Requirements Gathering – Identify what data needs to be stored.
2. Conceptual Design – Draw ER diagrams (entities, attributes, relationships).
3. Logical Design – Define tables, keys, and relationships.
4. Physical Design – Implement in an RDBMS with data types, indexes, constraints.
👉 Good design avoids duplication, maintains accuracy, and ensures fast queries.
📘 Keys in Databases (Beginner’s Must-Know)
Keys are essential for uniquely identifying and linking data.
Primary Key → Uniquely identifies each record.
Foreign Key → Connects one table to another.
Candidate Key → Potential primary keys.
Alternate Key → Candidate keys not chosen as primary.
Surrogate Key → Auto-generated IDs.
👉 Example:
Students Table: StudentID (Primary Key)
Enrollments Table: StudentID (Foreign Key)
📘 Normalization (Organizing Data)
Database Normalization is the process of organizing data to minimize redundancy.
1NF (First Normal Form): Atomic values only (no multiple values in one cell).
2NF (Second Normal Form): Remove partial dependency.
3NF (Third Normal Form): Remove transitive dependency.
👉 Example:
Instead of storing DeptName in every employee record, create a separate Department Table.
📘 Joins in SQL
When data is split into multiple tables, SQL Joins help combine them.
INNER JOIN: Only matching rows.
LEFT JOIN: All rows from the left table + matches.
RIGHT JOIN: All rows from the right table + matches.
FULL JOIN: All rows from both tables.
👉 Example:
Join Employees with Departments → See which employee belongs to which department.
🎯 Final Thoughts: Learn Database the Easy Way
Databases are the backbone of modern applications. As a beginner, understanding:
- What databases are
- How RDBMS works
- Basic SQL queries
- Database design principles
- Normalization & joins
…will give you the strong foundation you need in software development, data science, or IT.
👉 If you’re looking for a database tutorial for beginners, start practicing SQL queries on small projects
(like a student management system or an online shop).
With time, you’ll go from beginner to confident database developer!
Contact me
Address
Mapanawathura Road, Kandy Sri Lanka
Call me:
+94 75 5433 842
Mail me:
sameeramjayawickrama@gmail.com
Search me:
Feel free to contact me for inquiries or collaborations. Reach out via email, phone, or visit my location. I look forward to connecting with you!