Entity Relationship Diagram
Entity Relationship Diagram
Diagram in DBMS
BY CHAITANYA SINGH | FILED UNDER: DBMS
A simple ER Diagram:
In the following diagram we have two entities Student and College and their
relationship. The relationship between Student and College is many to one as a
college can have many students however a student cannot study in multiple
colleges at the same time. Student entity has attributes such as Stu_Id,
Stu_Name & Stu_Addr and College entity has attributes such as Col_ID &
Col_Name.
Here are the geometric shapes and their meaning in an E-R Diagram. We will
discuss these terms in detail in the next section(Components of a ER Diagram)
of this guide so don’t worry too much about these terms now, just go through
them once.
Components of a ER Diagram
As shown in the above diagram, an ER diagram has three main components:
1. Entity
2. Attribute
3. Relationship
1. Entity
2. Attribute
1. Key attribute
2. Composite attribute
3. Multivalued attribute
4. Derived attribute
1. Key attribute:
A key attribute can uniquely identify an entity from an entity set. For example,
student roll number can uniquely identify a student from a set of students. Key
attribute is represented by oval same as other attributes however the text of key
attribute is underlined.
2. Composite attribute:
4. Derived attribute:
A derived attribute is one whose value is dynamic and derived from another
attribute. It is represented by dashed oval in an ER Diagram. For example –
Person age is a derived attribute as it changes over time and can be derived
from another attribute (Date of birth).
3. Relationship
When a single instance of an entity is associated with more than one instances of
another entity then it is called one to many relationship. For example – a
customer can place many orders but a order cannot be placed by many
customers.
When more than one instances of an entity is associated with a single instance of
another entity then it is called many to one relationship. For example – many
students can study in a single college but a student cannot study in many
colleges at the same time.
4. Many to Many Relationship
When more than one instances of an entity is associated with more than one
instances of another entity then it is called many to many relationship. For
example, a can be assigned to many projects and a project can be assigned to
many students.
A Total participation of an entity set represents that each entity in entity set must
have at least one relationship in a relationship set. For example: In the below
diagram each college must have at-least one associated Student.
What is Collaboration?
Collaboration relies on openness and knowledge sharing but also some level of focus
and accountability on the part of the business organizations. Governance should be
established addressing the creation and closing of team workspaces with the
assignment of responsibility for capturing the emergent results of the collaborative
effort.
Characteristic How it’s measured
Accuracy
Reliability
See what data quality assessment looks like in practice. Review four key
metrics organizations can use to measure data quality
Read
Relevance
Timeliness
Types of Software
Software can take the form of one line of code or, like Microsoft’s Windows operating
system, span into millions.
Software also works with other software to join as a cohesive system. Your smartphone
is a collection of thousands of software components designed to work together.
Code languages and styles vary in size and scope. The software used to work a
modern microwave is very different from the code that runs an Apple Mac.
The remainder of this article helps to explain the different types of software including:
Application Software
System Software
Firmware
Programming Software
Driver Software
Freeware
Shareware
Open Source Software
Closed Source Software
Utility Software
We provide examples of each and how they could serve your business.
You’ll see the difference between applications versus system software and how the
industry has evolved over the years to the IT juggernaut it’s become today.
Application Software
Word Processing Software: Google Docs, Microsoft Word, WordPad and Notepad
Database Software: MySQL, Microsoft SQL Server, Microsoft Access, Oracle, IBM DB2
and FoxPro
Spreadsheet Software: Google Sheets, Apple Numbers and Microsoft Excel
Multimedia Software: Media Player, Winamp, QuickTime and VLC Media Player
Presentation Software: Google Slides, Microsoft Powerpoint, Keynotes, Prezzy
Enterprise Software: customer relationship management (CRM) software (HubSpot,
Microsoft Dynamic 365)), project management tools (Jira, Monday), marketing
automation tools (Marketo, HubSpot), enterprise resource planning (ERP) software
(SAGE, Oracle, Microsoft Dynamics), treasury management system (TMS) software
(SAP S/4HANA Finance, Oracle Treasury), business intelligence (BI) software (SAP
Business Intelligence, MicroStrategy, Microsoft Power BI)
Information Worker Software: Documentation tools, resource management tools
Communication Software: Zoom, Google Meet, Skype
Educational Software: Dictionaries – Encarta, Britannica; Mathematical: MATLAB;
Others: Google Earth, NASA World Wind
Simulation Software: Flight and scientific simulators
Content Access Software: Accessing content through media players, web browsers
Application Suites: Apache OpenOffice, Microsoft Office365, Apple’s iWork, LibreOffice,
G-Suite, Oracle E-Business Suite
Software for Engineering and Product Development: IDE or Integrated Development
Environments
Email Software: Microsoft Outlook, Gmail, Apple Mail
Mobile app developers create solutions to let businesses sell and market themselves
online. Financial applications run the stock market. The banking system uses
applications to transfer money and log transactions.
If your business needs a digital solution it usually comes in the form of an app.
System Software
System software provides a platform for other software and includes the programs
managing the computer itself, such as the computer’s operating system, file
management utilities and disk operating system (or DOS). The system’s files consist of
libraries of functions, system services, drivers for printers and other hardware, system
preferences and other configuration files. The programs in system software encompass
assemblers, compilers, file management tools, system utilities and debuggers.
While application software is non-essential and won’t shut down your device by being
uninstalled, system software is essential and creates a platform that apps sit inside.
System software runs things in the background and operating systems are an example
of system software.
For smartphones:
Apple’s iOS
Google’s Android
Windows Phone OS
Other than operating systems, some people also classify programming software and
driver software as types of system software. However, we will discuss them individually
in the next two sections.
Firmware
Its job is to ensure the device works directly. When you switch on your laptop, the Basic
Input Output System (BIOS) wakes everything up.
It checks the drive for errors then queries if the operating system is present. If so, it then
turns control over to the likes of Windows 10.
Programming Software
How does software get developed? The answer is by using programming software.
It’s possible to write computer languages like Java or PHP in plain-text editor apps, but
more robust, industry-standard applications are available. Compilers, assemblers,
debuggers, interpreters etc. are examples of programming software. Integrated
development environments (IDEs) are combinations of all these software.
GitHub
GitLab
Android Studio
Visual Studio Code
Eclipse
XCode
Notepad++
Atom
IDEs have tools like highlighting errors in code. They also contain in-built compilers and
preview how the app will work before testing it on a phone.
Trying to track down a bug over thousands of lines of code is next to impossible in a
simple text editor. Yet an IDE makes that easier resulting in quicker development time
and robust software.
Driver Software
Driver software communicates with hardware and control devices and peripherals
attached to a computer. It does this by gathering input from the OS (operating system)
and giving instructions to the hardware to perform an action or other designated task.
Internal components like the hard drive and processor each require its own driver. If the
wrong software’s installed the device won’t work correctly.
In older versions of Windows, device drivers became the bane of office life.
New peripherals like a printer required the correct driver. When the CD went missing it
took forever to find the right driver software online.
Thankfully Windows and other operating systems install and manage drivers behind the
scenes. The result is an optimised and working machine.
Graphic cards
Network cards
Mouse and keyboard
When you insert a USB flash drive into your computer, the OS recognises it as a new
device. The driver then gets installed automatically to make it functional.
Drivers are part of the system software category. Without them, nothing would work.
Hardware manufacturers are usually responsible for creating driver software. However,
Linux and Chromebook often get overlooked because of their small market share.
Someone writes the code to make the device work correctly on their system. They then
share the driver online for others to download and use.
Freeware
Freeware sounds like free software or open-source software but there’s a difference.
Freeware software does not expose or share its source code. Yet the software owner
does not charge others to use it.
Freeware licences vary as to what the software can be used for and who can share it.
Some developers only allow their freeware for private or personal use. Businesses need
a paid licence or get written permission. An example of this is GPT-3 – and only
approved developers and marketers can get access to the program.
Always read the small print and be wary of the copyright of freeware licences.
Examples of Freeware
Freeware software examples cover a wide base of useful applications from audio to
virtual machines.
Explore some of this year’s best freeware software here. And if you want a great free
alternative to Adobe Photoshop check out gimp.org.
Benefits of Freeware
You pay nothing for fully developed software. You can uninstall it if you don’t like the
features. There are no companies ‘forcing’ you to upgrade.
Freeware also helps the online community to share and grow. Developers can
showcase their talents while businesses can avail of some excellent apps.
Shareware
Like freeware, shareware is free to use and share with others, but only for a short time.
It acts as an evaluation. You can try some or all of the features before committing to a
purchase.
Examples of Shareware
It started in 1991 when compression software wasn’t included in Windows. Nearly thirty
years later, it still sees high download volumes. The free trial is time-limited but all
versions include encryption.
Benefits of Shareware
Shareware lets you try the software for free before purchasing a full licence.
Some give a limited feature set or are time-locked. “Try before you buy” is a great way
to check if the software is right for your business’s needs.
Open source means you can explore the actual code that the app was written in.
Developers can download the source code and edit it as they see fit. New flavours of
Linux help target a certain need as a result.
Github.com is the top destination for coders to save and share their code.
Repositories are often open source and developers can find the right solution to their
issues easily. They can clone whole projects or download elements for free.
Most applications are closed source in that they do not expose the original code.
Licences are stringent. No unauthorised copying or cracking is allowed. The app can be
commercial or private but it requires payment of some kind to use.
Any app that hides or encrypts its source code is considered closed-source.
For example, Skype allows video conferencing. It’s owned by Microsoft and although
free to use, the corporation charges high-volume users a fee.
Developers are often employed to write code. That costs money. Therefore companies
don’t want their investment shared without recompense.
Utility Software
The Windows Task Manager shows all open processes in Windows. It details
performance over time and showcases how much memory each uses.
Utility software helps to keep things stable. It’s designed to make your system run
smooth and not get damaged due to overuse.