You are on page 1of 23

Ministry of Education

Lavin Private Institute for Computer Science


Department of Computer

By
Himdad Mohammed Jalal
Tara Shukr Mustafa
Manar Sabah Sadiq
Niyan

Supervised By
Harem Shera

ERBIL, KURDISTAN
April 2020
1
2
TABLE OF CONTENTS

1-1 Information About Database.......................................3

1-2 Information about C#.................................................6

1-3 Information about MySql.............................................8

1-4 Advantages of Database............................................10

1-5 History of C#.............................................................12

1-6 History of MySQL.......................................................14

1-7 Information about payroll database..........................15

1-8 Why we created Payroll database..............................18

1-9 Project: Payroll System in C#....................................21

3
1-1 INFORMATION ABOUT DATABASE
A database is a collection of data that is saved and organized to
allow easy retrieval when needed. It is the collection of schemas,
tables, queries, reports, views, and other objects. In order to
maintain and access the database you will need a DBMS
(database management system). This kind of system manages
and protects data so that the database is safe and secure.
Databases are not limited to only computers; in fact, a phone
book is an example of a database. All of the names alphabetized
and each column has its own category. There is a column for your
name, phone number, and possibly a street address. With a
relational database, all of the data within the row can be pulled
up when you are looking for the specific attribute. There are a
few advantages to using a database management system. On the
plus side, it has the ability to control redundancy, the integrity of
the information being stored can be maintained, it can restrict
access, it can share data, and can backup/recover information. A
database management system can counteract redundancy by
compiling the information in one spot. The same way that you
can't have two audio files with the same name and extension in a
single folder, you can't have the same file in a single database.
This controls and can increase storage space. The integrity of the
information being stored can also be increased based on the
specifications of the database developer. This means that the
constraints on the information put into the database (which is
determined by the developer) will keep the data stored accurate.
If a database is only able to store pictures, for example, then a
music file will be rejected ensuring that a picture will always be
retrieved from the database with 100% accuracy. This is a very
simple example to get the idea across as the constraints imposed
by the developer can determine different things. Databases can
also share data as well allowing a developer to build multiple
applications off of one source of information rather than having to

4
create new stored files. Databases can also backup and recovery
data. If a computer system fails during a long, complex update
then the database can restore the files to the place in the update
when it is becomes operational again. Primarily, databases are
used for collecting data and organizing, one may wonder what
instances this may be used for. Some examples of databases are
Microsoft Excel or Access. For an example of what these
databases could be used for we can go with a situation: you are
having a wedding and need to make an invitation list. For a
process like this, users can utilize Microsoft Excel because their
database will not have many types of transactions and should not
become too uncontrollable. However, if this were to happen,
Access would be more compatible with the material needed.
Access is basically just a more advanced version of Excel that is
only needed for uncontrollable databases or ones that need to be
directly linked to others in order to access information in a
systematized way. Either database can help you make informed
decisions and can also help you make sense of the data in
different ways. The storage in Access is not repetitive so it can
essentially save space and improve accuracy. Access also has
different templates to choose from so that you do not have to
create a new database from scratch. There is also a relationship
you can establish between the tables so that you can navigate
easier. For creating a wedding invitation list: you can decide who
to invite and who not to invite to the reception and put those
people in separate tables. Databases are also important in
businesses. Especially when it comes to keeping inventory.
Databases can be used for controlling inventory as well as
reducing the time, cost, and effort of inventory management.
Controlling your inventory is essential in order to have good and
efficient business. A database can provide an up-to-date picture
of stock levels and products. It helps in maintaining that the
stocks keep up with the demand of the consumers. It can be used
to provide forecasts and trends of demand in order to adjust
adapt to the change of the market and maximize profit. It also
provides automation which improves productivity. It can update

5
stock levels automatically as well as control stock to ensure
products are always available for consumers. This automation
frees up employees to do more productive things such as help our
customers. Speaking of customers, they always order things and
want them delivered on time and right away. Well a database can
help in increasing and maintaining the efficiency of orders and
deliveries. They help make it easier to place orders and find
products. While these are also important in business, they can be
applied to any organization that may have inventory. An example
of such would be libraries. With the millions of books that a
library can potentially carry, a database is not only important but
necessary. (www.Wikipedia.com)

6
1-2 INFORMATION ABOUT C#
The C# Programming Language C# is a modern object-oriented,
general purpose programming language, created and developed
by Microsoft together with the .NET platform. There is highly
diverse software developed with C# and on the.NET platform:
office applications, web applications, websites, desktop
applications, mobile applications, games and many others. C# is
a high-level language that is similar to Java and C++ and, to
some
extent, languages like Delphi, VB.NET and C. All C# programs are
object-oriented. They consist of a set of definitions in classes that
contain methods and the methods contain the program logic –
the instructions which the computer executes. Nowadays C# is
one of the most popular programming languages. It is used by
millions of developers worldwide. Because C# is developed by
Microsoft as part of their modern platform for development and
execution of applications, the .NET Framework, the language is
widely spread among Microsoft-oriented companies, organizations
and individual developers. For better or for worse, as of this book
writing, the C# language and the .NET platform are maintained
and managed entirely by Microsoft and are not open to third
parties. Because of this, all other large software corporations like
IBM, Oracle and SAP base their solutions on the Java platform
and use Java as their primary language for developing their own
software products. Unlike C# and the .NET Framework, the Java
language and platform are open-source projects that an entire
community of software companies, organizations and individual
developers take part in. The standards, the specifications and all
the new features in the world of Java are developed by
workgroups formed out of the entire Java community, rather than
a single company (as the case of C# and .NET Framework).The
C# language is distributed together with a special environment

7
on which it is executed, called the Common Language Runtime
(CLR). This environment is part of the platform .NET Framework,
which includes CLR, a bundle of standard libraries providing basic
functionality, compilers, debuggers and other development tools.
Thanks to the framework CLR programs are portable and, once
written they can function with little or no changes on various
hardware platforms and operating systems. C# programs Preface
19 are most commonly run on MS Windows, but the .NET
Framework and CLR also support mobile phones and other
portable devices based on Windows Mobile, Windows Phone and
Windows 8. C# programs can still be run under Linux, FreeBSD,
iOS, Android, MacOS X and other operating systems through the
free .NET Framework implementation Mono, which, however, is
not officially supported by Microsoft.

8
1-3 INFORMATION ABOUT MYSQL

MySQL (/ˌmaɪˌɛsˌkjuːˈɛl/ "My S-Q-L") is an opensource relational


database management system (RDBMS). Its name is a
combination of "My", the name of co-founder Michael Widenius's
daughter, and "SQL", the abbreviation for Structured Query
Language. MySQL is free and open-source software under the
terms of the GNU General Public License, and is also available
under a variety of proprietary licenses. MySQL was owned and
sponsored by the Swedish company MySQL AB, which was bought
by Sun Microsystems (now Oracle Corporation). In 2010, when
Oracle acquired Sun, Widenius forked the open-source MySQL
project to create MariaDB. MySQL is a component of the LAMP
web application software stack (and others), which is an acronym
for Linux, Apache, MySQL, Perl/PHP/Python. MySQL is used by
many database-driven web applications, including Drupal,
Joomla, phpBB, and WordPress. MySQL is also used by many
popular websites, including Facebook, Flickr, MediaWiki, Twitter,
and YouTube.

9
Overview
MySQL is written in C and C++. Its SQL parser is written in yacc,
but it uses a home-brewed lexical analyzer. MySQL works on
many system platforms, including AIX, BSDi, FreeBSD, HP-UX,
eComStation, i5/OS, IRIX, Linux, macOS, Microsoft Windows,
NetBSD, Novell NetWare, OpenBSD, Open Solaris, OS/2 Warp,
QNX, Oracle Solaris, Symbian, SunOS, SCO Openserve, SCO
UnixWare, Sanos and Tru64. A port of MySQL to OpenVMS also
exists. The MySQL server software itself and the client libraries
use dual-licensing distribution. They are offered under GPL
version 2, or a proprietary license. Support can be obtained from
the official manual. Free support additionally is available in
different IRC
channels and forums. Oracle offers paid support via its MySQL
Enterprise products. They differ in the scope of services and in
price. Additionally, a number of third party organizations exist to
provide support and services, including MariaDB and Percona.
MySQL has received positive reviews, and reviewers noticed it
"performs extremely well in the average case" and that the
"developer interfaces are there, and the documentation (not to
mention feedback in the real world via Web sites and the like) is
very, very good". It has also been tested to be a "fast, stable and
true multi-user, multi-threaded sql database server".

10
1-4 ADVANTAGES OF DATABASE

Advantages A number of advantages of applying database approach in


application system are obtained including:
1. Control of data redundancy the database approach attempts to
eliminate the redundancy by integrating the file. Although the database
approach does not eliminate redundancy entirely, it controls the
amount of redundancy inherent in the database.
2. Data consistency by eliminating or controlling redundancy, the
database approach reduces the risk of inconsistencies occurring. It
ensures all copies of the data are kept consistent.
3. More information from the same amount of data with the
integration of the operated data in the database approach, it may be
possible to derive additional information for the same data.
4. Sharing of data Database belongs to the entire organization and can
be shared by all authorized users.
5. Improved data integrity Database integrity provides the validity and
consistency of stored data. Integrity is usually expressed in terms of
constraints, which are consistency rules that the database is not
permitted to violate.
6. Improved security Database approach provides a protection of the
data from the unauthorized users. It may take the term of user names
11
and passwords to identify user type and their access right in the
operation including retrieval, insertion, updating and deletion.
7. Enforcement of standards the integration of the database enforces
the necessary standards including data formats, naming conventions,
documentation standards, update procedures and access rules. 5
8. Economy of scale Cost savings can be obtained by combining all
organization's operational data into one database with applications to
work on one source of data.
9. Balance of conflicting requirements by having a structural design in
the database, the conflicts between users or departments can be
resolved. Decisions will be based on the base use of resources for the
organization as a whole rather that for an individual entity.
10.Improved data accessibility and responsiveness by having an
integration in the database approach, data accessing can be crossed
departmental boundaries. This feature provides more functionality and
better services to the users.
11.Increased productivity the database approach provides all the low-
level file-handling routines. The provision of these functions allows the
programmer to concentrate more on the specific functionality required
by the users. The fourth-generation environment provided by the
database can simplify the database application development.
12.Improved maintenance Database approach provides a data
independence. As a change of data structure in the database will be
affect the application program, it simplifies database application
maintenance.
13.Increased concurrency Database can manage concurrent data access
effectively. It ensures no interference between users that would not
result any loss of information nor loss of integrity.

12
14.Improved backing and recovery services Modern database
management system provides facilities to minimize the amount of
processing that can be lost following a failure by using the transaction
approach.

1-5 HISTORY OF C#
During the development of the .NET Framework, the class
libraries were originally written using a managed code compiler
system called "Simple Managed C" (SMC). In January 1999,
Anders Hejlsberg formed a team to build a new language at the
time called Cool, which stood for “C-like Object Oriented
Language". Microsoft had considered keeping the name "Cool" as
the final name of the language, but chose not to do so for
trademark reasons. By the time the .NET project was publicly
announced at the July 2000 Professional Developers Conference,
the language had been renamed C#, and the class libraries and
ASP.NET runtime had been ported to C#. Hejlsberg is C#'s
principal designer and lead architect at Microsoft, and was
previously involved with the design of Turbo Pascal, Embarcadero
Delphi (formerly Code Gear Delphi, Inprise Delphi and Borland
Delphi), and Visual J++. In interviews and technical papers, he
has stated that flaws in most major programming languages (e.g.
C++, Java, Delphi, and Smalltalk) drove the fundamentals of the
Common Language Runtime (CLR), which, in turn, drove the
design of the C# language itself. James Gosling, who created the
Java programming language in 1994, and Bill Joy, a co-founder of
Sun Microsystems, the originator of Java, called C# an "imitation"
of Java; Gosling further said that "[C# is] sort of Java with
reliability, productivity and security deleted. Klaus Kreft and
Angelika Langer (authors of a C++ streams book) stated in a blog
post that "Java and C# are almost identical programming
languages. Boring repetition that lacks innovation, hardly
anybody will claim that Java or C# are revolutionary
programming languages that changed the way we write

13
programs," and "C# borrowed a lot from Java - and vice versa.
Now that C# supports boxing and unboxing, we'll have a very
similar feature in Java. “In July 2000, Hejlsberg said that C# is
"not a Java clone" and is "much closer to C++" in its design.
Since the release of C# 2.0 in November 2005, the C# and Java
languages have evolved on increasingly divergent trajectories,
becoming two quite different languages. One of the first major
departures came with the addition of generics to both languages,
with vastly different implementations. C# makes use of
reification to provide "first-class" generic objects that can be used
like any other class, with code generation performed at class-load
time. Furthermore, C# has added several major features to
accommodate functional-style programming, culminating in the
LINQ extensions released with C# 3.0 and its supporting
framework of lambda expressions, extension methods, and
anonymous types. These features enable C# programmers to use
functional programming techniques, such as closures, when it is
advantageous to their application. The LINQ extensions and the
functional imports help developers reduce the amount of
boilerplate code that is included in common tasks like querying a
database, parsing an xml file, or searching through a data
structure, shifting the emphasis onto the actual program logic to
help improve readability and maintain ability. C# used to have a
mascot called Andy (named after Anders Hejlsberg). It was
retired on January 29, 2004.C# was originally submitted to the
ISO subcommittee JTC 1/SC 22 for review, under ISO/IEC
23270:2003, was withdrawn and was then approved under
ISO/IEC 23270:2006.

14
1-6 HISTORY OF MYSQL
MySQL was created by a Swedish company, MySQL AB, founded
by David Axmark, Allan Larsson and Michael "Monty" Widenius.
Original development of MySQL by Widenius and Axmark began
in 1994. The first version of MySQL appeared on 23 May 1995. It
was initially created for personal usage from mSQL based on the
low-level language ISAM, which the creators considered too slow
and inflexible. They created a new SQL interface, while keeping
the same API as mSQL. By keeping the API consistent with the
mSQL system, many developers were able to use MySQL instead
of the (proprietarily licensed) mSQL antecedent.

15
1-7 INFORMATION ABOUT PAYROLL DATABASE
To pay your employees accurately and on time, you need a
payroll system. A payroll database is an automated system that
allows you to input employees’ payroll information and
compensate them accordingly. The database may be a stand-
alone system that enables only payroll operations, or an
integrated system that enables related business functions.

Stand-Alone
A stand-alone payroll database is a single payroll application that
you use to perform payroll tasks. This option may come in handy
if you already have HR and accounting solutions in place. An
effective stand-alone database gives you a complete range of
services that allows you to fully manage your payroll activities.
This includes new-hire reporting, wage and deduction
calculations, check printing, direct deposit, wage garnishments,
tax reporting and management, paycheck reconciliation, multiple
company management, and electronic record-keeping.

Integrated
An integrated database incorporates payroll with functions such
as human resources and accounting. The system may integrate
all three applications, or two out of the three, such as payroll and
HR or payroll and accounting. For example, an integrated

16
database with all three functions enables payroll, billing, human
resources records, accounts receivable, accounts payable, general
ledger, bank reconciliation, workers’ compensation and risk
management, benefits administration, tax filing, and
unemployment reporting.

Tables
In the database are tables that allow you to input information and
execute your payroll duties. Tables depend on whether the
database is an integrated or stand-alone unit. Payroll tables may
include deductions, leaves, pay codes, payroll calendar, job class,
bank code, department, earned income credit, and salary
schedule. They also provide for federal, state, local and FICA
taxes. Once your payroll database is established, you can add
and update employee records. Data includes each employee’s
name, address, birth date, Social Security number, pay rate, and
withholding tax conditions, plus voluntary benefits, such as health
care and retirement deduction amounts. You can also generate
and print reports. For example, to create a payroll register, you
would go to the report printing function and enter the pay period
start and end dates. The system would then generate the
paycheck data that relates to that time frame.

Implementation
A payroll software company reviews your current payroll system,
and designs and engineers a database that suits your needs. If
you’re starting from scratch, the vendor might have integrated
systems that are already designed. If you already have a system
in place, the vendor can integrate what you need with your
existing system. The vendor should offer a one-on-one custom

17
experience, so the implementation is unique to your business.
Regardless of whether the database is stand-alone or integrated,
it should undergo testing before you use it to officially run your
first payroll. This way, errors can be detected and resolved
beforehand.

Access
Through the use of user identification numbers and passwords,
relevant employees can access the payroll database. Access
should be restricted to the appropriate personnel. For example, if
your human resources and payroll departments are separate, but
they share the same database, the HR department should not
have access to paycheck processing and the payroll department
should not have access to benefits administration.
(https://yourbusiness.azcentral.com/examples-payroll-databases-16140.html )

18
1-8 WHY WE CREATED PAYROLL DATABASE
Managing accounts and maintaining proper records of all
employees’ time and attendance to prepare payroll manually is a
complex and time-consuming process. Payroll system developed
for small business has made the tasks easier. Now, most of the
companies prefer to use payroll software for their small business
to calculate employees’ salaries accurately and quickly.

A payroll system is an important software program that calculates


payroll accurately in compliance with taxing authority. Payroll
software developed for small businesses in Malaysia are simple to
use and affordable. These systems can calculate taxes and
deductions according to the Malaysian tax system.

Use of Payroll software is efficient way of calculating pays than a


manual system. Payroll software programs simplify information,
generate reports, and minimize manual efforts. The simplicity and
effectiveness of payroll systems provide great advantages to
organizations. These systems allow easy management of
employees’ salaries, wages, taxes and other deductions.

19
Companies need to be extra careful while calculating taxes, EPF
and SOCSO to prevent any mistakes. Calculating salaries
accurately builds trust among employees therefore; easy to use
payroll system is quite helpful in providing accurate calculations.
Payroll Software provides complete solution of your payroll needs.

Features of Payroll System for Small Businesses:

Small business payroll software possesses significant user friendly


features and provides fast calculations with accuracy. Some
features of payroll software are stated below:

1.It can handle multi company transactions


2.It can calculate bonuses, commissions and advance payments
3.It can calculate monthly salary, EPF, SOCSO and PCB.
4.It can generate various management and operation reports
5.It gives accurate calculation.
6.It is suitable to maintain employees’ profiles.
7.It provides payroll detail report
Payroll software usually has simple interface as they are
developed keeping in mind the common user. It can calculate
staff’s monthly salary, generates pay slip, and payroll summary.
It is important to use fast and easy to use software. Malaysia
payroll system is a perfect set up for all your payroll needs.

Payroll software for small companies has no complicated


parameters and options. Its simple interface gives fast and easy
access to your payroll data and calculations. It is capable of
generating reports and data that assists in making decisions on

20
HR related matters. Use of payroll software reduces the costs of
hiring employees for managing companies’ payroll. Payroll
software can handle these tasks efficiently. It is an ideal solution
for small businesses.

A lot of companies are providing software solutions all over the


world. It important to choose a reputable company that offers
quality and reliable software solutions. Choose software that suits
to your business needs.

We offer software solutions for small businesses. Many small


companies are using our software solutions with positive reviews
as they are simple, user friendly, affordable and suitable for small
businesses. If you are running a small business and want to get
quality software solutions, contact us today.

21
1-9 PROJECT: PAYROLL SYSTEM IN C#
Payroll System is a simple desktop application developed using
C# Language. The Project is based on the concept of managing
employee’s record as well as their payroll. Talking about the
system, a user has to pass through a login system for using its
features. The admin can add employee records, manage users,
create payroll, view reports, etc.
The user can manage employees, to add employee records the
user has to enter assign code, full name, contact details,
relationship status, gender, date of birth, age, daily rate,
payment method, and other work information. Simply, the user
can create payroll of registered employees by entering their code,
payroll details like the number of days, deductions. After entering
all these fields, the system automatically generates the
employee’s total payment. All the data can be also generated in
report view and the last feature of this system in about User
management system, where the admin can add and arrange the
roles of different users.
Design of this is so simple that the user won’t find difficulties
while working on it. Payroll System project helps the user on
managing employee’s information as well as their payroll. For
handling data, MySQL is used as a database. This project is easy
to operate and understood by the users. To run this project, you
must have installed Visual Studio IDE and XAMPP on your PC.

22
Payroll System in C# is free to download with source code. For
the project demo, have a look at the video below.

Payroll System in C# project Features:


Login System
Manage Employees
Create Payroll
List all payroll
User management system
Generate Report

23

You might also like