Mix-Max: DBMS
Showing posts with label DBMS. Show all posts
Showing posts with label DBMS. Show all posts

Saturday, 2 March 2019

Models Of Database Management System(DBMS)

March 02, 2019 0
Models Of Database Management System(DBMS)

Image result for database management system
 DBMS Models

There are a number of different types of database management systems, also referred to as DBMS models. Each one represents a somewhat different approach to organizing data in a systematic manner. They include:
Flat file
Hierarchical DBMS
Network DBMS
Relational DBMS
Object-oriented DBMS
Of these five models, the relational DBMS is by far the most widely used, but a quick overview of each model is useful.

Flat File

The most basic way to organize data is as a flat file. You can think of this as a single table with a large number of records and fields. Everything you need is stored in this table, or flat file.
Think of a database of customers. Everything you want to know about the customers is stored in this one table. You start off with a single record for every customer. A customer places an order and you enter this in one of the fields. You continue entering customer orders in this way.
What if the same customer places a second order? Do you enter this as a new record in the table, or do you add a field to the existing record for this customer?
There is no single best answer for this. The key point here is that a flat file is quite limited since it provides very little in terms of structure. In fact, it is so simple that you could argue it is not a DBMS at all. However, it is good to start off with the idea of a flat file, and then you will see how alternative models are more flexible and effective.

Hierarchical DBMS

In a hierarchical DBMS one data item is subordinate to another one. This is called a parent-child relationship. The hierarchical data model organizes data in a tree-like structure.
One of the rules of a hierarchical database is that a parent can have multiple children, but a child can only have one parent. For example, think of an online store that sells many different products. The entire product catalog would be the parent, and the various types of products, such as books, electronics, etc., would be the children. Each type of product can have its own children categories. For example, books could be broken up into fiction and non-fiction. Each of these categories can be broken up into subcategories. You can continue like this by listing individual authors and then the individual book titles.
This is a rather simple way to represent data, but it is very efficient. This model works best for data that is inherently hierarchical in nature. Many datasets cannot easily be organized in this manner and require a more complex approach. For example, in the case of the product catalog, what if a book falls into more than one category? Or, what if one author has written several books but also published an audio CD of one of her books? This is where the hierarchical model breaks down.

Network DBMS

In a network DBMS, every data item can be related to many other ones. The database structure is like a graph. This is similar to the hierarchical model and also provides a tree-like structure. However, a child is allowed to have more than one parent. In the example of the product catalog, a book could fall into more than one category. The structure of a network database becomes more like a cobweb of connected elements.
For example, consider an organization with an employee database. For each employee, there are different pieces of data, such as their name, address, telephone number, social security number and job function. Different units in the organization need different levels of access. For example, the human resources department needs to have access to the social security information for each employee so they can take care of tax deductions and set up benefits. This is somewhat sensitive information, so other departments do not need access to this part of the database. All the pieces of data are connected in a network that implements these rules.
While conceptually relatively simple, this database structure can quickly become very complicated.

Relational DBMS

In a relational DBMS, all data are organized in the form of tables. This DBMS model emerged in the 1970s and has become by far the most widely used type of DBMS. Most of the DBMS software developed over the past few decades uses this model. In a table, each row represents a record, also referred to as an entity. Each column represents a field, also referred to as an attribute of the entity.
A relational DBMS uses multiple tables to organize the data. Relationships are used to link the various tables together. Relationships are created using a field that uniquely identifies each record. For example, for a table of books, you could use the ISBN number since there are no two books with the same ISBN. For a table of authors, you would create a unique Author ID to identify each individual author.
Consider a relational database of books and authors. The first table is a table of authors. Each author is identified by a unique author ID, and the table also contains their name and contact information. The second table is a table of books. Each book is identified by its ISBN number, and the table also contains the book's title, the publisher and the author ID associated with the author of the book.
What makes a relational database so effective is that you can link these tables together. In this example, you would use the author ID field to do this. For example, you can store multiple books written by the same author or multiple authors for the same book. The detailed information for each author and each book is only stored once and not duplicated in both tables. Yet, all the information you need can be accessed using the table relationship.

Object-Oriented DBMS

The previous DBMS models work primarily with text and numbers. Object-oriented databases are able to handle many newer data types, such as images, audio and video. These data items are the objects stored in the database.
If you have data that fit neatly into rows and columns, such as a customer database with names, addresses, ZIP codes, etc., a relational DBMS is typically the most suited. On the other hand, if you have a library of multimedia files, an object-oriented DBMS is going to work better.
You can still create tabular representations of your data. For example, you can represent your video library as a table showing a list of your videos with their length, sorted by the date of the recording.
Consider a database for all the medical imagery collected in a hospital, such as X-rays, CAT scans and electrocardiograms. The most suitable way to organize this data would be an object-oriented database. Each image would be an object, and this would be taggedusing the type of image, the name of the patient, the name of the medical doctor who requested the exam, the technician who carried out the exam, etc.
The various models are not entirely exclusive of each other. For example, the object-relational database management system combines elements of both models. It uses a relational model to describe associations between data tables, but it makes it possible to store multimedia objects.
In the case of the hospital example, you could use a relational model to create a database of patient records and store all the imagery as objects. By tagging each image, you can link the patient records with the imagery as needed.

Lesson Summary

There are a number of different models of database management systems. Flat files are like a single, very large table. This only works for very simple data.
Hierarchical databases use parent-child relationships in a tree-like structure. This only works for data that is inherently hierarchical in nature.
Network databases are more like a cobweb structure, with numerous network links between data elements. This quickly gets very complicated.
Relational databases organize data in tables, and these are linked together using table relationships. This is by far the most widely used database model since it is very effective.
Object-oriented databases are well suited to store multimedia data as objects instead of using a tabular structure.

what is Data Warehouses and Data Mining?

March 02, 2019 0
what is Data Warehouses and Data Mining?

Image result for data warehouse
 Data Warehouses

A database consists of one or more files that need to be stored on a computer. In large organizations, databases are typically not stored on the individual computers of employees but in a central system. This central system typically consists of one or more computer servers. A server is a computer system that provides a service over a network. The server is often located in a room with controlled access, so only authorized personnel can get physical access to the server.
In a typical setting, the database files reside on the server, but they can be accessed from many different computers in the organization. As the number and complexity of databases grows, we start referring to them together as a data warehouse.
A data warehouse is a collection of databases that work together. A data warehouse makes it possible to integrate data from multiple databases, which can give new insights into the data. The ultimate goal of a database is not just to store data, but to help businesses make decisions based on that data. A data warehouse supports this goal by providing an architecture and tools to systematically organize and understand data from multiple databases.

Distributed DBMS

As databases get larger, it becomes increasingly difficult to keep the entire database in a single physical location. Not only does storage capacity become an issue, there are also security and performance considerations. Consider a company with several offices around the world.
It is possible to create one large, single database at the main office and have all other offices connect to this database. However, every single time an employee needs to work with the database, this employee needs to create a connection over thousands of miles, through numerous network nodes. As long as you are moving relatively small amounts of data around, this does not present a major challenge.
But, what if the database is huge? It is not very efficient to move large amounts of data back and forth over the network. It may be more efficient to have a distributed database. This means that the database consists of multiple, interrelated databases stored at different computer network sites.
To a typical user, the distributed database appears as a centralized database. Behind the scenes, however, parts of that database are located in different places. The typical characteristics of a distributed database management system, or DBMS, are:
  • Multiple computer network sites are connected by a communication system
  • Data at any site are available to users at other sites
  • Data at each site are under control of the DBMS
You have probably used a distributed database without realizing it. For example, you may be using an e-mail account from one of the major service providers. Where exactly do your e-mails reside? Most likely, the company hosting the e-mail service uses several different locations without you knowing it.
The major advantage of distributed databases is that data access and processing is much faster. The major disadvantage is that the database is much more complex to manage. Setting up a distributed database is typically the task of a database administrator with very specialized database skills.

Data Mining

Once all the data is stored and organized in databases, what's next? Many day-to-day operations are supported by databases. Queries based on SQL, a database programming language, are used to answer basic questions about data. But, as the collection of data grows in a database, the amount of data can easily become overwhelming. How does an organization get the most out of its data without getting lost in the details? That's where data mining comes in.
Data mining is the process of analyzing data and summarizing it to produce useful information. Data mining uses sophisticated data analysis tools to discover patterns and relationships in large datasets. These tools are much more than basic summaries or queries and use much more complicated algorithms. When data mining is used in business applications, it is also referred to as business analytics or business intelligence.
Consider an online retailer that sells a wide variety of products. In a typical day, it may sell thousands of different products to tens of thousands of different customers. How does the company leverage all this data to improve its business? One strategy is to discover which products are often bought together.
This would make it possible to create product bundles that are attractive to customers. Another method is to develop profiles for customers. A company could ask, based on past purchases, which products might the same customer also be interested in? This makes it possible to make suggestions to the customer and increase sales.
Another scenario is fraud detection. Have you ever had your credit card company contact you regarding a suspicious transaction? How does this work? Let's say you're a construction worker in Minneapolis. Normally, you use your credit card at the grocery store, the mall and some local restaurants, all within the Minneapolis area.
Suddenly, your credit card is used to pay for a high-end hotel in Miami Beach, several nightclubs and a jewelry store. It could very well be that you went down to Miami for a romantic weekend with your girlfriend because you are going to propose to her. But, it is also quite possible that your credit card was stolen and you have not noticed it yet.
So, the credit card company has sophisticated algorithms running in real-time to identify patterns that are out-of-the ordinary based on your demographics and past spending habits. A suspicious transaction triggers an alert, and you are contacted by their fraud detection department. Pretty clever and all thanks to data mining.
Data mining algorithms are often designed to get better over time as more data is collected and the outcomes of the analysis are checked for accuracy. You probably recognize these scenarios. Data mining has become integrated into many businesses, especially those with a strong online presence.

Lesson Summary

In summary, databases are often stored in a central computer system known as a computer server. A data warehouse is a collection of databases that work together. This makes it possible to examine patterns and trends by combining multiple databases.
Distributed databases are used to store a database at multiple computer sites to improve data access and processing. Data mining is the process of analyzing data and summarizing it to produce useful information. Data mining uses sophisticated data analysis tools to discover patterns and relationships in large data-sets.

Database Management Systems and its function.

March 02, 2019 0
Database Management Systems  and its function.

Image result for dbms
 Purpose of Database Management Systems

Organizations use large amounts of data. A database management system (DBMS) is a software tool that makes it possible to organize data in a database.
The standard acronym for database management system is DBMS, so you will often see this instead of the full name. The ultimate purpose of a database management system is to store and transform data into information to support making decisions.
A DBMS consists of the following three elements:
  1. The physical database: the collection of files that contain the data
  2. The database engine: the software that makes it possible to access and modify the contents of the database
  3. The database scheme: the specification of the logical structure of the data stored in the database
While it sounds logical to have a DBMS in place, it is worth thinking for a moment about the alternative. What would the data in an organization look like without a DBMS? Consider yourself as the organization for a moment, and the data are all the files on your computer. How is your data organized? If you are like most typical computer users, you have a large number of files, organized in folders.
You may have word processor documents, presentation files, spreadsheets, photographs, etc. You find the information you need based on the folder structure you have created and the names you have given to your files. This is called a file system and is typical for individual computer users.
Now consider the challenges you are faced with. Have you ever lost a file? Have you had difficulty finding a file? Probably. Perhaps you are using multiple computers and your files are located in different physical locations. And, when was the list time you created a backup of all your files? You do back up, right?
You probably get the picture. A file system is relatively simple, but it only works if you keep yourself very organized and disciplined. Now consider an organization with 1,000 employees, each with their own computer. Can you see some of the challenges when using a file system? Do you really want critical financial data floating around the offices as simple files on individual computers?

Functions of a DBMS

So, what does a DBMS really do? It organizes your files to give you more control over your data.
A DBMS makes it possible for users to create, edit and update data in database files. Once created, the DBMS makes it possible to store and retrieve data from those database files.
More specifically, a DBMS provides the following functions:
  • Concurrency: concurrent access (meaning 'at the same time') to the same database by multiple users
  • Data redundancy occurs when duplicate copies of the same data are stored in different places. With our student, Jamie, the teacher has to repeatedly input the name in every table it needs to appear, including the 11 subject tables. This is data redundancy. With a DBMS, data is stored in a one structured database, and data is inputted once in only one place. As a result, the teacher needs to key in Jamie's name just one time. In all other areas where this child's name is referenced, it will be taken from that particular data repository. The control of data redundancy in DBMS also saves storage space.
    Going back to our student, Jamie, is it J-A-I-M-E? Or J-A-M-I-E? Imagine the teacher having to get the spelling right in each of the 13 tables this child's name needs to appear. The possibilities of spelling errors are very high, considering we have 299 other students to input. By controlling data redundancy, we can automatically see how data consistency is attained.
  • Data consistency: It means that in all instances within the database where a piece of data occurs, the data values are identical. With data redundancy controlled by adding, editing, and deleting data in one place, the DBMS automatically updates each occurrence of that piece of data within the entire database.
  • Security: security rules to determine access rights of users
  • Backup and recovery: processes to back-up the data regularly and recover data if a problem occurs
  • Integrity: database structure and rules improve the integrity of the data
  • Data descriptions: a data dictionary provides a description of the data
Within an organization, the development of the database is typically controlled by database administrators (DBAs) and other specialists. This ensures the database structure is efficient and reliable.
Database administrators also control access and security aspects. For example, different people within an organization use databases in different ways. Some employees may simply want to view the data and perform basic analysis. Other employees are actively involved in adding data to the database or updating existing data. This means that the database administrator needs to set the user permissions. You don't want someone who only needs to view the database to accidentally delete parts of the database.

Pros and Cons of DBMS

There are a number of benefits to using a DBMS.
A DBMS provides automated methods to create, store and retrieve data. It may take some time to set up these methods, but once in place, a DBMS can make tedious manual tasks a thing of the past.
A DBMS reduces data redundancy and inconsistency. Have you ever had different versions of the same file on your computer hard drive? The same thing happens in organizations. A well-designed DBMS will eliminate redundancy.
A DBMS allows for concurrent access by multiple users, each with their own specific role. Some users only need to view the data, some contribute to adding new data, while others design and manage the database - all at the same time!
A DBMS increases security and reliability. Database administrators are responsible for creating backups of databases, controlling access and, in general, making sure it works the way it was intended. Having one or more specialists control these tasks is a lot more effective than having each computer user in an organization having to worry about the security of their data.
A DBMS improves data quality. It is easy to make mistakes when entering data. A DBMS makes it possible to set up rules for the database. For example, when entering the phone number of a customer, you should not be entering text characters. A rule can be set up such that you cannot enter text in the phone number field. Or, think of specifying the state where a customer resides. It is easier to select from a pre-defined list of states than to have to type in the name.
As with any information system, there are also some disadvantages to using a DBMS.
Implementing a DBMS can be expensive and time-consuming. Typically, it requires database specialists to implement and maintain a database. More importantly, for a database to be really useful, it needs to be integrated into the existing business processes. In many cases, implementing a DBMS actually means some of those processes need to be changed. This may require training of existing staff and hiring of new staff. And of course, there are costs associated with the hardware and software needed to run a DBMS.
Any database remains vulnerable to security issues. As databases get larger and more complex, so does the challenge of keeping all the data secure. How often have you read a story of a computer hacker getting access to thousands of credit card numbers?

Multi-User Databases

One of the advantages of using a database management system is that multiple users can use the same database at the same time.
Consider for a moment how this is different from using a regular document stored on your hard drive. If you open a word processing or spreadsheet document on your computer, you are the only user. If you want to share this document with a colleague, you could e-mail it to them so they can save it on their hard drive. However, this creates a copy, and now there are two versions of the same file. Both you and your colleague can work with the data, but what happens if you both start making changes? You can see how this is going to get confusing.
Using a DBMS, you can store a database in a central location, such as a computer server. A server is a computer system that provides a network service. One of these services is data storage.
Now, both you and your colleague can work with the same database. Depending on the configuration of the DBMS, you can actually both edit the database at the same time. This does require that the database has been set up for multiple users and that each user has been given the proper permissions.

Lesson Summary

A database management system is a software tool that makes it possible to organize data in a database. It is often referred to by its acronym, DBMS. The functions of a DBMS include concurrency, security, backup and recovery, integrity and data descriptions.
Database management systems provide a number of key benefits but can be costly and time-consuming to implement. One of the key benefits of a DBMS is that multiple users can work with the same database at the same time at different locations.