To understand Database Management System (DBMS), it is necessary to know about Database and even before that, about Data. Data is any facts or figures which can be recorded and which has a latent meaning. A database is a collection of such data, more accurately it is a collection of related data. For e.g. a database of countries of the world and their calling code. Here, countries and calling code are related to each other and the database serves a purpose, to provide the user with correct calling code. A random collection where, data are neither related nor serve a purpose cannot be called as a database. In summary a database is a collection of logically coherent data, which come together to serve a particular purpose and they emulate some aspect of the real world.
Software which is used to manage such databases is called DBMS. For e.g. Oracle, IBM DB2, Microsoft Access, Microsoft SQL Server, Sybase. DBMS software is a collection of programs which facilitate in access, retrieval, security, creation and sharing of database among its users or other applications. Primary Goal of DBMS Software is to provide an efficient and convenient way of storing and retrieving data.
A DBMS is a very widely used software in different industries like Banking, Railways, Airlines, Universities and a lot of other industries. Database System is designed to handle a very large amount of data and may extend up to several Terabytes of size. It must also have an inbuilt mechanism to recover the data in case of system crashes and protect the data for any unauthorized access and manipulation.
It is interesting to know that we all come across database several times during the day, during logging into an email account, user-id and encrypted password associated with it is retrieved. During ATM transaction, money is debited and account is updated with the same in the Database System of the bank, these types of use make us End Users. End users are basically consumers who are using a product; they might use it for generating monthly reports, withdrawing money from a bank or for specialized and complex use like forecasting sales for next season.
Database Administrators are needed to administer and monitor usage of the Database. They are responsible to tune the Database for performance issues, to grant access of DB to users and initiate recovery in the event of system crash and protect the system in case of security issues.
Database Designers come into picture before a database is built. They gather requirements from all prospective users; level of access required for each user or a group and designs the DB which meets the requirement. They are responsible for identifying the data to be populated and appropriate data structures for the database. They are generally part of Database Administrators.
Application programmers are necessary to build user interfaces and applications to satisfy the needs of end users. They develop applications which make data retrieval, creation of reports more convenient. They are fully aware of all the functionalities of DB and use it to their advantage.
Workings with DBMS
DBMS today enjoys one of the most important positions when whole IT Structure of an organization is kept into perspective. For us to know and understand how this position was achieved over the years, we need to look into the advantages this software provides to an organization.
- Redundancy Control: A data which is stored multiple times at different locations is a redundant data. Redundancy leads to usage of more disk space, inconsistency and duplication of effort. When data has to be updated at multiple locations it causes duplication of effort, where ideally only one update should be sufficient. If data in one place is not updated it might lead to whole data being inconsistent with no way of knowing which is the latest data. DBMS avoids it and creates only one record.
- Security: Users should be granted access to only those data and reports which they specifically need. It restricts users from viewing or updating data which is not in their scope. Typically, users are given an account protected with password by a DBA and account restrictions are enforced by the DBMS Software. Like for a DBA account, there are no restrictions, they can create, alter, shutdown and startup DB.
- Efficient Retrieval of data: The sole purpose of storing data is that it should be retrieved as desired. So a DBMS allows users to execute queries efficiently.
- Backup and Recovery: In case of system crash a DBMS has a capability to restore. If the system crashed between complex queries, then it must bring the system back in its consistent state. This is specifically done by taking backup at the right time.
- Multiple User Interface: Since the number of end users might be more with varying degree of roles to match their designation, DBMS should provide different User Interfaces to each.
- Storage for program objects: It provides data structures to store program data such as classes, record types and values of program variables etc. These are very important to a programmer as this program data gets discarded after the program completes its execution. Earlier DBMS were not equipped to handle the data structures of these variables.
- Constraints: DBMS should enforce and define some integrity constraints. For e.g. A DBA can specify that in the DB of a University, students name must be of at least 3 characters or grade they receive in exams must be either A, B, C, D or E. So a name cannot be just of 2 characters and a student cannot receive a grade Y.
- Potential to enforce standards: DBAs can enforce standards depending on the company’s IT policy. For e.g., standards for names, reports, data elements etc.
- Flexibility: DBMS must be scalable so that if new users or data groups are added it is easier to do so. It must also be able to extend the table space size as and when required.
- Fast response time: A DBMS must be able to update the records or modify data and these updates and modifications should be available to user almost instantly. This is will prevent users to work on old and inconsistent data.
Example of IT/ IS failure in Sainsbury’s UK
The Sainsbury’s supermarket was established in 1869 by John James and Mary Ann Sainsbury and is Britain’s longest-standing major food retailing chain. Sainsbury’s were Britain’s largest grocer until 1995 when it was first surpassed by Tesco and subsequently in 2003 by ASDA. Sainsbury is currently Britain’s third grocer which employs 180,000 people through 453 supermarket locations operated out of six major distribution centers.
Historically, Sainsbury managed distribution in the same way for more than 40 years. At the turn of the century the company decided to implement an integrated supply chain solution in order to stop losing market share. The idea was also to build four, fully automated depots over a three year period with a paperless, stockless, accurate and flexible service equipped with a new IT system based on ASNs (Advanced Shipment Notification) that would replace standard delivery notes. The new system was designed to operate on a web based real time reporting software developed by an outsourced consultancy firm Accenture on a 7-year £3.25 billion contract.
Whilst the new IT system promised business savings, accuracy and efficiency it had the opposite effect immediately on its launch. According to Martin White, Supply Chain Director of Sainsbury’s “One of the main problems has been getting suppliers to deliver pallets and cases with accurate and readable barcodes that can be scanned when they arrive at the new distribution centers so only 65% of the ASNs Sainsbury’s received were up to scratch.” Issues over supplier compliance caused delivery rejections into the depot and further complications with distribution to the retail shops. Besides addressing wrong orders, automated distribution centers were breaking down on a daily basis and had to be stopped for four hours of maintenance each day. The result was a distributed system that didn’t work and was flawed, shelves were empty and customers were disappointed hence leaving to compete.
System failure could be attributed to management led by Sir Peter Davis, Sainsbury’s former CEO, as they did not fully assess the situation prior to signing the contract with Accenture, and because they did not carefully monitor all aspects pertaining to the implementation of the automated system. For instance, suppliers were not adequately trained in issuing ASN and SSCC codes and were unsure how to record goods into the software. Furthermore, under pressure to launch the system Sainsbury’s did not test the automation in real-life circumstances. Lastly, the company did not fully evaluate the business case and negotiate automation implementation prior to signing the outsourcing contract.
According to Andy McCue (2004) “as a result of the disastrous automated distribution system and IT project that failed to get goods onto the shelves of its supermarkets Sainsbury’s reported loss of £290m. The write-off of redundant IT assets was £140m and the write-off of automated equipment in the new distribution centers was another £120m. Also £30m in stock losses were due to the disruption caused by the new distribution centers and IT systems. Additionally £200m were spent over the next two years to fix the mistakes and improve existing IT systems and the supply chain including £63 million to terminate the IT outsourcing contract.” Also, the company laid-off 700 management positions and former CEO was replaced.
As a general rule companies wishing to implement Supply Chain Management software has a choice between either designing custom-made or using general purpose SCM software. In case of customization, it is essential to proactively evaluate and manage the entire outsourcing Lifecycle in order to increase efficiency and avoid losing. Notwithstanding many advantages customization can bring to business, many analysts suggest that it is safer and more efficient to opt for general purpose SCM software particularly for better cost management and in order to avoid major system errors.