CSC316: Database Systems I
A database is a structured collection of data, accessible in various ways. It can be as simple as a text file with a list of names or it can be a complex one, a large relational database management system (DBMS), complete with in-built tools to help one maintain the data. Database design is about how to organize large amounts of information so that it is understandable and can be stored in a computer in such a way that it can be easy and fast to find the desired information. Types of database systems include: PC, centralized, client/server, distributed databases and database models. File systems were an early attempt to computerize the manual filing approach. In a file system, data is directly stored in a set of files. If only one table is stored in a file, they are called flat files. Because there are no control mechanisms in files, data can only be read sequentially, therefore making it inefficient and time consuming. The burden of locating the necessary file, going through the records, checking for the existence of certain data, remembering what files to edit is all on the user. The user has to perform the task manually or has to write a script that does them automatically with the help of the file management capabilities of the operating system. Because of these reasons, file systems are easily vulnerable to serious issues such as inconsistency, threats on integrity and lack of security (Ragel, 2011).
Due to the shortcomings present in using a file system to store electronic data, DBMSs provide mechanisms to solve those problems. The four elements to solve the problems are: modeling language, data structures, query language and mechanism for transactions. The modeling language defines the language of each database. Data query language allows for maintaining and the security of the database (monitors login data, access rights, and protocols) and finally, the mechanism that allows for transactions help concurrency and multiplicity. DBMSs provide backup and with all these advancements, DBMSs solve almost all problems associated in file systems (Ragel, 2011).
A DBMS is computer software with the capabilities of storing, modifying, and extracting information from a database and also enabling users with tools to retrieve, manipulate, manage and analyze data stored in one location.
A DBMS can range from smaller systems suitable for personal computers that are used at home or in the office. Others are used for bigger projects such as mainframe systems for big businesses that require mass amounts of information that flow at one time. Smaller systems such as flight organizations in airports or automated teller machines are just some examples of smaller DBMSs. With advanced technology, large computers are no longer housing for hundreds of gigabytes. We now have laptops that support that kind of storage. Depending on their use, personal computers, tablets, and cell phones can be thought of as small DBMSs as well. The bigger systems can support hundreds and even thousands of users using the system at one time, for example, the Internet. In this case, corporate databases such as Google, Flickr, and Amazon to name a few, routinely store terabytes and even petabytes to service their users (Ullman, Widom).
Advantages of a DBMS include improved data sharing, data security, data access, minimized data inconsistency, improved decision making, and increased end-user productivity.
With improved data sharing, the DBMS helps create an environment in which end users have better access to more and better-managed data. Through improved data security, the more users access data, the greater the risks of security breaches. Corporations invest time, money, and efforts to ensure that corporate data are used properly. A DBMS provides a framework for better data privacy and security policies. Improved data access makes it