What is Database? A collected information which is in an organized form for easier access, management, and various updating is known as a database. A database is an organized collection of structured information, or data, typically stored electronically in a computer system. A database is usually controlled by a database management system (DBMS). Together, the data and the DBMS, along with the applications that are associated with them, are referred to as a database system, often shortened to just database. Containers having a huge amount of data are known as databases, for example, a public library stores books. Databases are computer structures that save, organize, protect, and deliver data. Any system that manages databases is called a database management system, or DBM. The typical diagram representation for a database is a cylinder. Data within the most common types of databases in operation today is typically modeled in rows and columns in a series of tables to make processing and data querying efficient. The data can then be easily accessed, managed, modified, updated, controlled, and organized. Most databases use structured query language (SQL) for writing and querying data. What is Structured Query Language (SQL)? SQL is a programming language used by nearly all relational databases to query, manipulate, and define data, and to provide access control. Types of databases There are many different types of databases. The best database for a specific organization depends on how the organization intends to use the data. • Flat Databases. Flat Database ave the following characteristics − Simple, long and dominant, useful for very small scale and simple applications. • Relational databases. Relational databases became dominant in the 1980s. Items in a relational database are organized as a set of tables with columns and rows. Relational database technology provides the most efficient and flexible way to access structured information. • Object-oriented databases. Information in an object-oriented database is represented in the form of objects, as in object-oriented programming. • Distributed databases. A distributed database consists of two or more files located in different sites. The database may be stored on multiple computers, located in the same physical location, or scattered over different networks. • Data warehouses. A central repository for data, a data warehouse is a type of database specifically designed for fast query and analysis. • NoSQL databases. A NoSQL, or nonrelational database, allows unstructured and semistructured data to be stored and manipulated (in contrast to a relational database, which defines how all data inserted into the database must be composed). NoSQL databases grew popular as web applications became more common and more complex. • Graph databases. A graph database stores data in terms of entities and the relationships between entities. • OLTP databases. An OLTP database is a speedy, analytic database designed for large numbers of transactions performed by multiple users. These are only a few of the several dozen types of databases in use today. Other, less common databases are tailored to very specific scientific, financial, or other functions. In addition to the different database types, changes in technology development approaches and dramatic advances such as the cloud and automation are propelling databases in entirely new directions. Some of the latest databases include • Open source databases. An open source database system is one whose source code is open source; such databases could be SQL or NoSQL databases. • Cloud databases. A cloud database is a collection of data, either structured or unstructured, that resides on a private, public, or hybrid cloud computing platform. There are two types of cloud database models: traditional and database as a service (DBaaS). With DBaaS, administrative tasks and maintenance are performed by a service provider. • Multimodel database. Multimodel databases combine different types of database models into a single, integrated back end. This means they can accommodate various data types. • Document/JSON database. Designed for storing, retrieving, and managing document-oriented information, document databases are a modern way to store data in JSON format rather than rows and columns. • Self-driving databases. The newest and most groundbreaking type of database, self-driving databases (also known as autonomous databases) are cloud-based and use machine learning to automate database tuning, security, backups, updates, and other routine management tasks traditionally performed by database administrators. What is Database Management Systems? Database Management Systems (DBMS) refer to the technology solution used to optimize and manage the storage and retrieval of data from databases. DBMS offers a systematic approach to manage databases via an interface for users as well as workloads accessing the databases via apps. A database typically requires a comprehensive database software program known as a database management system (DBMS). A DBMS serves as an interface between the database and its end users or programs, allowing users to retrieve, update, and manage how the information is organized and optimized. A DBMS also facilitates oversight and control of databases, enabling a variety of administrative operations such as performance monitoring, tuning, and backup and recovery. Some examples of popular database software or DBMSs include MySQL, Microsoft Access, Microsoft SQL Server, FileMaker Pro, Oracle Database, and dBASE. What is database software? Database software is used to create, edit, and maintain database files and records, enabling easier file and record creation, data entry, data editing, updating, and reporting. The software also handles data storage, backup and reporting, multi-access control, and security. Strong database security is especially important today, as data theft becomes more frequent. Database software is sometimes also referred to as a “database management system” (DBMS). Database software makes data management simpler by enabling users to store data in a structured form and then access it. It typically has a graphical interface to help create and manage the data and, in some cases, users can construct their own databases by using database software. The management responsibilities for DBMS encompass: • Information within the databases • The processes applied to databases, such as access and modification • The database’s logic structure DBMS also facilitates additional administrative operations such as change management, disaster recovery, compliance, and performance monitoring, among others. Components of DBMS In order to facilitate these functions, DBMS has the following key components: • Software. DBMS is primarily a software system that can be considered as a management console or an interface to interact with and manage databases. The interfacing also spreads across realworld physical systems that contribute data to the backend databases. The OS, networking software, and the hardware infrastructure is involved in creating, accessing, managing, and processing the databases. • Data. DBMS contains operational data, access to database records and metadata as a resource to perform the necessary functionality. The data may include files with such as index files, administrative information, and data dictionaries used to represent data flows, ownership, structure, and relationships to other records or objects. • Procedures. While not a part of the DBMS software, procedures can be considered as instructions on using DBMS. The documented guidelines assist users in designing, modifying, managing, and processing databases. • Database languages. These are components of the DBMS used to access, modify, store, and retrieve data items from databases; specify database schema; control user access; and perform other associated database management operations. Types of DBMS languages include Data Definition Language (DDL), Data Manipulation Language (DML), Database Access Language (DAL) and Data Control Language (DCL). • Query processor. As a fundamental component of the DBMS, the query processor acts as an intermediary between users and the DBMS data engine in order to communicate query requests. When users enter an instruction in SQL language, the command is executed from the high-level language instruction to a low-level language that the underlying machine can understand and process to perform the appropriate DBMS functionality. In addition to instruction parsing and translation, the query processor also optimizes queries to ensure fast processing and accurate results. • Runtime database manager. A centralized management component of DBMS that handles functionality associated with runtime data, which is commonly used for context-based database access. This component checks for user authorization to request the query; processes the approved queries; devises an optimal strategy for query execution; supports concurrency so that multiple users can simultaneously work on same databases; and ensures integrity of data recorded into the databases. • Database manager. Unlike the runtime database manager that handles queries and data at runtime, the database manager performs DBMS functionality associated with the data within databases. Database manager allows a set of commands to perform different DBMS operations that include creating, deleting, backup, restoring, cloning, and other database maintenance tasks. The database manager may also be used to update the database with patches from vendors. • Database engine. This is the core software component within the DBMS solution that performs the core functions associated with data storage and retrieval. A database engine is also accessible via APIs that allow users or apps to create, read, write, and delete records in databases. • Reporting. The report generator extracts useful information from DBMS files and displays it in structured format based on defined specifications. This information may be used for further analysis, decision making, or business intelligence. DBMS system schematic The following diagram illustrates the schematic of a DBMS system: Benefits of DBMS DBMS was designed to solve the fundamental problems associated with storing, managing, accessing, securing, and auditing data in traditional file systems. Traditional database applications were developed on top of the databases, which led to challenges such as data redundancy, isolation, integrity constraints, and difficulty managing data access. A layer of abstraction was required between users or apps and the databases at a physical and logical level. Introducing DBMS software to manage databases results in the following benefits: • Data security. DBMS allows organizations to enforce policies that enable compliance and security. The databases are available for appropriate users according to organizational policies. The DBMS system is also responsible to maintain optimum performance of querying operations while ensuring the validity, security and consistency of data items updated to a database. • Data sharing. Fast and efficient collaboration between users. • Data access and auditing. Controlled access to databases. Logging associated access activities allows organizations to audit for security and compliance. • Data integration. Instead of operating island of database resources, a single interface is used to manage databases with logical and physical relationships. • Abstraction and independence. Organizations can change the physical schema of database systems without necessitating changes to the logical schema that govern database relationships. As a result, organizations can upgrade storage and scale the infrastructure without impacting database operations. Similarly, changes to the logical schema can be applied without altering the apps and services that access the databases. • Uniform management and administration. A single console interface to perform basic administrative tasks makes the job easier for database admins and IT users. For data-driven business organizations, DBMS can turn into extremely complex technology solutions that may require dedicated resources and in-house expertise. The size, cost and performance of a DBMS varies with the system architecture and use cases, and should therefore be evaluated accordingly. Also, a DBMS failure can incur significant losses to organizations that fail to maintain optimal functionality of a DBMS system. What is a MySQL database? MySQL is an open source relational database management system based on SQL. It was designed and optimized for web applications and can run on any platform. As new and different requirements emerged with the internet, MySQL became the platform of choice for web developers and web-based applications. Because it’s designed to process millions of queries and thousands of transactions, MySQL is a popular choice for ecommerce businesses that need to manage multiple money transfers. On-demand flexibility is the primary feature of MySQL. MySQL is the DBMS behind some of the top websites and web-based applications in the world, including Airbnb, Uber, LinkedIn, Facebook, Twitter, and YouTube. Database challenges Today’s large enterprise databases often support very complex queries and are expected to deliver nearly instant responses to those queries. As a result, database administrators are constantly called upon to employ a wide variety of methods to help improve performance. Some common challenges that they face include: • Absorbing significant increases in data volume. The explosion of data coming in from sensors, connected machines, and dozens of other sources keeps database administrators scrambling to manage and organize their companies’ data efficiently. • Ensuring data security. Data breaches are happening everywhere these days, and hackers are getting more inventive. It’s more important than ever to ensure that data is secure but also easily accessible to users. • Keeping up with demand. In today’s fast-moving business environment, companies need real-time access to their data to support timely decision-making and to take advantage of new opportunities. • Managing and maintaining the database and infrastructure. Database administrators must continually watch the database for problems and perform preventative maintenance, as well as apply software upgrades and patches. As databases become more complex and data volumes grow, companies are faced with the expense of hiring additional talent to monitor and tune their databases. • Removing limits on scalability. A business needs to grow if it’s going to survive, and its data management must grow along with it. But it’s very difficult for database administrators to predict how much capacity the company will need, particularly with on-premises databases. Addressing all of these challenges can be time-consuming and can prevent database administrators from performing more strategic functions. What is Database Design? Database design is defined as a collection of steps that help with designing, creating, implementing, and maintaining a business’s data management systems. The main purpose of designing a database is to produce physical and logical models of designs for the proposed database system. What is a Good Database Design? A good database design process is governed by specific rules. The first rule dictates that redundant data must be avoided; as it wastes space and increases the probability of faults and discrepancies within the database. The next rule is that the accuracy and comprehensiveness of information is extremely imperative. If the database contains erroneous information, any documents that fetch data from such a database will also include inaccurate information. Consequently, any decisions based on those documents will be misleading, thus, increasing the importance of a database design that caters to all of the above rules. So, how can you ensure that your database design is good? A well-designed database is the one that: • Distributes your data into tables based on specific subject areas to decrease data redundancy • Delivers the database the information needed to link the data in the tables • Provides support, and guarantees the precision and reliability of data • Caters to your information processing and reporting requirements • Functions interactively with the database operators as much as possible Importance of Database Design Database design defines the database structure used for planning, storing, and managing information. Accuracy in data can only be accomplished if a database is designed to store only valuable and necessary information. A well-designed database is imperative in guaranteeing information consistency, eliminating redundant data, efficiently executing queries, and improving the performance of the database. Meticulously designing a database saves you from wasting time and getting frustrated during the database development phase. A good database design also allows you to easily access and retrieve data whenever needed. The reliability of data depends on the table structure; whereas creating primary and unique keys guarantees uniformity in the stored information. Data replication can be avoided by forming a table of probable values and using a key to denote the value. So, whenever the value changes, the alteration happens only once in the main table. As the general performance of a database depends on its design, a good database design uses simple queries and faster implementation. It is easy to maintain and update; whereas fixing trivial interruptions in a poor database design may harm stored events, views, and utilities. Database Development Life Cycle There are various stages in database development. However, it is not necessary to follow each of the steps sequentially. The life cycle can be broadly divided into three steps: requirement analysis, database designing, and implementation. 1. Requirement Analysis Requirement analysis requires two steps: • Planning: In this stage, the plan of the entire Database Development Life Cycle is decided. It also requires an analysis of the organization’s information systems strategy. • Defining the system: This stage explains and lays out the proposed database system’s scope. 2. Database designing The actual database designing takes into account two key models: • Logical model: It is concerned with using the given requirements to create a database model. The complete design is laid out on paper at this stage, without considering any specific DBMS requirement or physically implementing it. • Physical model: This stage comes after the logical model and therefore involves physically implementing the logical model. It takes the DBMS and other physical implementation factors into consideration. 3. Implementation The implementation stage of the database development life cycle is concerned with: • Data conversion and loading: It comprises data importation and data conversion coming from the old system into the new database. • Testing: Finally, this stage identifies errors in the new system and make sure if all the database requirement specification are met. Database Designing Techniques The two most common techniques used to design a database include: • Normalization: Tables are organized in such a way that it decreases data redundancy and dependency. Larger tables are divided into smaller tables and are linked together using relationships. • Entity-Relationship (ER) Modeling: It’s a graphical database design approach that models entities, their attributes, and defines relationships among these entities to signify real-life objects. An entity is any real-world item that’s different or unique from the surroundings. How to Design Database: Steps of Designing Database Database designing generally starts with identifying the purpose of your database. The relevant data is then collected and organized into tables. Next, you specify the primary keys and analyze relationships between different tables for an efficient data design. After refining the tables, the last step is to apply normalization rules for table standardization. Let’s look at these steps of database design in detail: • Define the objective of your database The first step is to determine the purpose of your database. For example, if you are a small home-based business, you could be designing a customer database that maintains a list of consumer info to generate emails and reports. Hence, understanding the importance of a database is vital. At the end of this step, you’ll have a strong mission statement that you can refer to throughout the database design process. It’ll help you concentrate on your objectives when making important decisions. • Locate and consolidate the necessary data The next step is to collect all kinds of information that you might want to store in the database. Begin with the current information. Mull over the questions you want your database to answer, and it’ll help you decide which data needs to be recorded. • Distribute the data into tables Once you’ve amassed all the necessary data items, the next step is to divide them into main entities or subject areas. For example, if you are a retailer, some of your main entities could be products, customers, suppliers, and orders. Each entity will then become a separate table. • Change data items into columns Data is segregated into tables, such that every data item becomes a field and is shown as a column. For instance, a Customer table might include fields like name, address, e-mail address, and city. After determining the preliminary set of columns for every table, you can refine them. For instance, customer name can be recorded as two distinct columns: first name and last name. Likewise, you can store the address in five distinct columns based on address, town, state, zip code, and region. This will make it convenient for you to filter information. • Identify primary keys The next step to improve your database design is to select a primary key for every table. This primary key is a column or a set of column that’s used to distinctively pinpoint each row. For instance, in your customer table, the primary key could be customer ID. This will allow you to uniquely identify each row based on the customer ID. More than one primary key can also exist, called a composite key, including multiple columns. For example, in your Order Details table, primary keys could be order ID and product ID. The composite key can be made using fields with similar or varying data types. Similarly, if you wish to get an idea of your product sales, you can identify the product ID from the Products table and the order number or ID from the Orders table. • Determine how tables are related After dividing data into tables, information needs to be brought together in a meaningful manner. So, explore each table and determine how the data in one table is linked with the data in another table. If needed, you can add fields or form new tables to simplify the relationship based on the types of information. Below is an example of different entity types and relationship types. Entity type Branch Staff Supervisor Property_for_Rent Private Owner Business_Owner Advert Interview Client Lease_Agreement Inspection Relationship type Has Manages SupervisedBy SupportedBy SetsUp Organize CarryOut Supervised IsAvailableAt ManagedBy OwnedBy Owns Owns Describes PlacedIn With Views Rents Holds AssociatedWith MadeOf Entity type Staff Property_for_Rent Supervisor Secretary Interview Lease_Agreement Inspection Staff Branch Staff Owner Property_for_Rent Property_for_Rent Property_for_Rent Newspaper Client Property_for_Rent Property_for_Rent Lease_Agreement Property_for_Rent Property_for_Rent Database Design Metholodlogy In this step, you’ll create one-to-one, one-to-many, and/or many-to-many relationships between different table entries. When only one item from a table is associated with an item from another table, it’s called a one-to-one (1:1) relationship. In a one-to-many (1:M) relationship, an item in one table is related to many items in the other table, such as one customer placing several orders. A many-to-many (M:N) relationship occurs if many items from one table are related to many items in other tables. E1 One to one 1:1 One to many E2 • Enhance your database design Now that you have all the required tables, fields, and relationships, the next step is to refine your database design by creating and populating your tables with mockup information. Experiment with the sample data by creating queries or adding new items. This will help you analyze your design for faults and you’ll be able to highlight possible errors. If needed, adjust your design to mitigate those problems. • Implement the normalization rules The last step is to implement the normalization rules for your database design. It is a systematic approach that removes redundancy and unwanted characteristics, such as Insertion, Update, and Deletion irregularities. This multi-step process stores data in a tabular form, eliminating redundant data from the relation tables. The database design process helps you simplify the design, development, execution, and maintenance of your corporate data management system. A good database design can help save disk storage space by reducing data redundancy. Along with maintaining data precision and reliability, it allows you to access data in various ways. Moreover, a welldesigned database is easier to use and maintain, making integration a breeze. References: fw_error_www. (2021). Oracle. https://www.oracle.com/ph/database/what-is-database/ Introduction to Databases. (2018). Tutorialspoint. https://www.tutorialspoint.com/Introduction-toDatabases#:%7E:text=A%20collected%20information%20which%20is,is%20known%20as%20a %20database.&text=Databases%20are%20computer%20structures%20that,database%20manage ment%20system%2C%20or%20DBM. GeeksforGeeks. (2019, October 11). Introduction of DBMS (Database Management System) | Set 1. https://www.geeksforgeeks.org/introduction-of-dbms-database-management-system-set-1/ Raza, M. (2018). DBMS: An Intro to Database Management Systems. BMC Blogs. https://www.bmc.com/blogs/dbms-database-management-systems/ Naeem, T. (2021, April 30). Database Design - Overview, Importance, and Techniques. Astera. https://www.astera.com/type/blog/all-you-need-to-know-about-databasedesign/#:%7E:text=Database%20design%20is%20defined%20as,for%20the%20proposed%20dat abase%20system.