Design And Analysis Of Databases Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Most of us are fully aware of term data. The fact that we use this term on a daily basis, such as the persons age, prices of products, the number of staff in the company, and the postal code of the city, etc. are some examples of data. In our life we have to remember a lot of data but it is easier for us to remember all the information on a small number of individuals. It is very difficult for us to remember a lot of information when the number is greater. The database is an important aspect of all aspects of life and especially business, where we need database more than others for keeping the records. In the information society that we have, is dedicating a lot of computing power in the world to maintain and use databases.

Databases include all types of businesses, where are stored all types of data, like e-mail messages and contact information, financial data and sales records in the form of a database.

Database Management System (DBMS):

A Database management system (DBMS), sometimes called a database manager, and reflects the program that allows users of a computer and one or more of the establishment of data in the database and access. Management systems and databases, manages user requests (and requests from other programs) so that users and other programs are free from having to understand where the data is physically located on storage media and, in a multi-user system, which else may also be accessing the data.

In dealing with user requests, the database management systems ensure data integrity, which means that the system is working to ensure that, the data are still available for using, and it organizes continuously as required. It also ensures that data is safe, which means that access to data it will be free of data security violations.

The most typical DBMS is a relational database management system (RDBMS). A standard user and program interface is the Structured Query Language (SQL). A newer kind of DBMS is the object-oriented database management system (ODBMS).

Database management system (DBMS) is a class of software used to create, organize, retrieve, analyze and sort information in the databases based on the computer. Often such programs are referred to informally as the "database software." Database and database management systems are distinct, just as the text of the document differs from a word processing program used to create and modify it.

Companies use the databases in many applications to the rules of accurate and comprehensive data, and usually to maintain databases of clients and suppliers, employees, inventory, supplies, products and orders, and service requests, and many other things. Database system can deal with all aspects of the data on the differences, and provide the desired methods required for data analysis. It is an essential tool for the management of all businesses.

Database & DBMS Structures

Data units are called usually within the database "records". Each record is unique and is divided into more limited numbers of "Fields", which describes the nature of the record. For example, in the database of employees, there is a unique number for each employee, and the fields in each record specifies the name of each employee, title, salary, date of appointment, phone number, the name of the supervisor, and many of the data to be stored in the system, and so forth. Fields may have fixed or variable information, and may or may not be unique in the record, but at least one must be unique for the record. Fields may contain text or numbers.

Figures in value- and date-type fields can be used for computations when the DBMS is used to analyze the data.

Fields can contain images, video clips, and audio, if the database management systems and computer hardware compatible to deal with multimedia data. Usually, the records- containing the same set of field classifications- kept within single file. For example, in the business database, groups of record exist in many cases, both for tangible objects, such as customers or vendors, or in the form of activities, such as orders, payments, and production statistics.

While many database management systems are designed specifically for applications of many specific industries, and can be customized only by the programmer, often database management systems users have the ability to design at least some of the characteristics of the fields or records and determine how the fields, records, and files relate to each other. To maintain complex databases in companies or institutions , a database designer or database administrator position is typically created specifically for this task. Database design is also the main activity of the Computer Consulting Services

When a database containing the records is designed, it is include data entry, whether through human input or by computer, such as the barcode scanning. The adding, deleting and modifying processes for the records, it will be possible, almost in the real time for that entry. If there are large volumes of records that require modification, they can by updated, or processed, by a computer operating in batch mode at some specified time after multiple computer users have entered the requests for changes. Such batch-mode data processing typically takes place after the business day is over in order to record the day's sales or shipments.

While all databases include records and fields in one form or another, DBMS vary in how they treat the relationships between records and files. The two best known categories of DBMS structures or models are flat-file and relational. Flat-file systems treat the relationship between fields and records as a two-dimensional table with columns and rows for records and fields, and they are limited in their ability to analyze data from more than one file. Some of the simpler flat file programs, usually called "file managers" instead of DBMS, can only open and analyze records in one file at a time. Relational DBMS, on the other hand, can analyze data from multiple files with complete flexibility of relationship between records of the multiple files. Other types of DBMS models that can relate data in more than one file but only in restricted relationships include hierarchical DBMS, which relate records from different files in a one-way, many-to-one tree structure. In such a relationship, there exist a number of levels of operation in which each "child" record has only one "parent," and variables are restricted accordingly. Another type, network DBMS, can relate records bidirectionally. The ability to relate records reduces the redundancy of data and makes it unnecessary to update multiple records when data in a single related record changes. A typical scenario of the relationship between data in two files would be the linking of a record in a purchase order file to the customer file based on a single unique field, such as a customer identification number. The latest model is the object-oriented database, in which units of data are treated as abstract objects. Thus, the operations and functions are not dependent on the database application. A particular advantage of the object-oriented database is its ability to create new objects in terms of previously defined objects. This model is most suited for databases containing a combination of media, such as text, sound, and pictures. By the early 1990s, relational DBMS had become the most popular category for new DBMS purchases among businesses.

A Database Management System (DBMS) is a set of computer programs that controls the creation, maintenance, and the use of a database. It allows organizations to place control of database development in the hands of database administrators (DBAs) and other specialists. A DBMS is a system software package that helps the use of integrated collection of data records and files known as databases. It allows different user application programs to easily access the same database. DBMSs may use any of a variety of database models, such as the network model or relational model. In large systems, a DBMS allows users and other software to store and retrieve data in a structured way. Instead of having to write computer programs to extract information, user can ask simple questions in a query language. Thus, many DBMS packages provide Fourth-generation programming language (4GLs) and other application development features. It helps to specify the logical organization for a database and access and use the information within a database. It provides facilities for controlling data access, enforcing data integrity, managing concurrency, and restoring the database from backups. A DBMS also provides the ability to logically present database information to users.

Database Models:

A database model or database schema is the structure or format of a database, described in a formal language supported by the database management system, In other words, a "database model" is the application of a data model when used in conjunction with a database management system.

Hierarchical Model

The hierarchical data model organizes data in a tree structure. There is a hierarchy of parent and child data segments. This structure implies that a record can have repeating information, generally in the child data segments. Data in a series of records, which have a set of field values attached to it. It collects all the instances of a specific record together as a record type. These record types are the equivalent of tables in the relational model, and with the individual records being the equivalent of rows. To create links between these record types, the hierarchical model uses Parent Child Relationships. These are a 1:N mapping between record types. This is done by using trees, like set theory used in the relational model, "borrowed" from maths. For example, an organization might store information about an employee, such as name, employee number, department, salary. The organization might also store information about an employee's children, such as name and date of birth. The employee and children data forms a hierarchy, where the employee data represents the parent segment and the children data represents the child segment. If an employee has three children, then there would be three child segments associated with one employee segment. In a hierarchical database the parent-child relationship is one to many. This restricts a child segment to having only one parent segment. Hierarchical DBMSs were popular from the late 1960s, with the introduction of IBM's Information Management System (IMS) DBMS, through the 1970s. Figure 2.1 shows an example of the hierarchical data model.

Fig. 2.1: Hierarchical Model

Network Model

The popularity of the network data model coincided with the popularity of the hierarchical data model. Some data were more naturally modeled with more than one parent per child. So, the network model permitted the modeling of many-to-many relationships in data. In 1971, the Conference on Data Systems Languages (CODASYL) formally defined the network model. The basic data modeling construct in the network model is the set construct. A set consists of an owner record type, a set name, and a member record type. A member record type can have that role in more than one set; hence the multi parent concept is supported. An owner record type can also be a member or owner in another set. The data model is a simple network, and link and intersection record types (called junction records by IDMS) may exist, as well as sets between them . Thus, the complete network of relationships is represented by several pairwise sets; in each set some (one) record type is owner (at the tail of the network arrow) and one or more record types are members (at the head of the relationship arrow). Usually, a set defines a 1:M relationship, although 1:1 is permitted. The CODASYL network model is based on mathematical set theory.

Relational Model

(RDBMS - relational database management system) A database based on the relational model developed by E.F. Codd. A relational database allows the definition of data structures, storage and retrieval operations and integrity constraints. In such a database the data and relations between them are organised in tables. A table is a collection of records and each record in a table contains the same fields.

Properties of Relational Tables:

Values Are Atomic

Each Row is Unique

Column Values Are of the Same Kind

The Sequence of Columns is Insignificant

The Sequence of Rows is Insignificant

Each Column Has a Unique Name.

Certain fields may be designated as keys, which mean that searches for specific values of that field will use indexing to speed them up. Where fields in two different tables take values from the same set, a join operation can be performed to select related records in the two tables by matching values in those fields. Often, but not always, the fields will have the same name in both tables. For example, an "orders" table might contain (customer-ID, product-code) pairs and a "products" table might contain (product-code, price) pairs so to calculate a given customer's bill you would sum the prices of all products ordered by that customer by joining on the product-code fields of the two tables. This can be extended to joining multiple tables on multiple fields. Because these relationships are only specified at retrieval time, relational databases are classed as dynamic database management system. The RELATIONAL database model is based on the Relational Algebra.

The relational model used the basic concept of a relation or table. The columns or fields in the table identify the attributes such as name, age, and so. A tuple or row contains all the data of a single instance of the table such as a person named Doug. In the relational model, every tuple must have a unique identification or key based on the data. In this figure, a social security account number (SSAN) is the key that uniquely identifies each tuple in the relation. Often, keys are used to join data from two or more relations based on matching identification. The relational model also includes concepts such as foreign keys, which are primary keys in one relation that re kept in another relation to allow for the joining of data. As an example of foreign keys is storing your mother's and father's SSAN in the tuple that represent you. Your parents' SSANs are keys for the tuples that represent them and they are foreign keys in the tuple that represents you. Figure 2.2 shows an example of the relational model.

Fig. 2.2: relational model

Object/Relational Model

The object-relational model is designed to provide a relational database management that allows developers to integrate databases with their data types and methods. It is essentially a relational model that allows users to integrate object-oriented features into it.

Advantage, Feature for Object/relational model:

Extensibility - Users are able to extend the capability of the database server; this can be done by defining new data types, as well as user-defined patterns. This allows the user to store and manage data.

Complex types - It allows users to define new data types that combine one or more of the currently existing data types. Complex type’s aid in better flexibility in organizing the data on a structure made up of columns and tables.

Inheritance - Users are able to define objects or types and tables that procure the properties of other objects, as well as add new properties that are specific to the object that has been defined.

A field may also contain an object with attributes and operations.

Complex objects can be stored in relational tables.

The object-relational database management systems which are also known as ORDBMS, which can provide an addition of new and extensive object storage capabilities to the relational models at the center of the more modern information systems of today.

These systems assimilate the management of conventional fielded data, more complex objects such as a time-series or more detailed geospatial data and varied dualistic media such as audio, video, images, and applets.

This can be done due to the model working to summarize methods with data structures, the ORDBMS server can implement complex analytical data and data management operations to explore and change multimedia and other more complex objects.

Functions and advantages to the Object-Relational Model

It can be said that the object relational model is an evolutionary technology, this approach has take on the robust transaction and performance management aspects of its predecessors and the flexibility of the object-oriented model.

Database developers can now work with somewhat familiar tabular structures and data definition but with more power and capabilities. This also allows them to perform such task all the while assimilating new object management possibilities. Also the query and procedural languages and the call interfaces in the object relational database management systems are familiar.

The main function of the object relational model is to combine the convenience of the relational model with the object model. The benefits of this combination range from scalability to support for rich data types. However, the relational model has to be drastically modified in order to support the classic features of the object oriented programming. This creates some specific characteristics for the object-relational model. Figure 2.3 shows an example of the relational model.

Fig. 2.3: Object-Relational Model

Object-Oriented Model

Object DBMSs add database functionality to object programming languages. They bring much more than persistent storage of programming language objects. Object DBMSs extend the semantics of the C++, Smalltalk and Java object programming languages to provide full-featured database programming capability, while retaining native language compatibility. A major benefit of this approach is the unification of the application and database development into a seamless data model and language environment. As a result, applications require less code, use more natural data modeling, and code bases are easier to maintain. Object developers can write complete database applications with a modest amount of additional effort.

According to Rao (1994), "The object-oriented database (OODB) paradigm is the combination of object-oriented programming language (OOPL) systems and persistent systems. The power of the OODB comes from the seamless treatment of both persistent data, as found in databases, and transient data, as found in executing programs."

In contrast to a relational DBMS where a complex data structure must be flattened out to fit into tables or joined together from those tables to form the in-memory structure, object DBMSs have no performance overhead to store or retrieve a web or hierarchy of interrelated objects. This one-to-one mapping of object programming language objects to database objects has two benefits over other storage approaches: it provides higher performance management of objects, and it enables better management of the complex interrelationships between objects. This makes object DBMSs better suited to support applications such as financial portfolio risk analysis systems, telecommunications service applications, World Wide Web document structures, design and manufacturing systems, and hospital patient record systems, which have complex relationships between data.

Database Applications:

Once a database is created, the DBMS can be used to select records that meet user requirements based on the information contained (or not contained) in their fields. For example, in using an inventory database, the user can check the availability of a product that meets certain criteriaâ€"such as style, color, and additional featuresâ€"each of which are defined in the fields. A retrieval request may be made for a single, specific record or for multiple records. An example of a request for multiple records in a customer database would be for all those customers whose invoices are past due. The user would, in this case, request records in which the difference between today's date and the date the invoice was recorded being sent is, say, greater than 30 days, and in which the "date of payment receipt" field is blank.

Different DBMS offer different methods of entering commands or "queries" to retrieve information. The most common query command format is Structured Query Language (SQL), in large part because it allows several users on a network to access a database simultaneously. Some DBMS offer the choice of query by command, through menus, or by example forms.

In addition to data retrieval, DBMS allow the user to sort data in the fields by any criteria. This could involve all records in a database or, more practically, those that meet specified selection criteria. For example, records can be selected from a sales database of all salespeople who sold over a certain total dollar amount, and that list then can be sorted to rank the salespeople by amount sold.

Finally, DBMS software allows for generation of various printed or electronic reports from the selected data. One of the most common formats of a database report is a table based on a list of sorted records with selected fields displayed. Data from individual records can also be automatically merged into templates, or empty fields of specific forms or attributes. Additionally, mailing labels can be created by printing data from name and address fields. Some DBMS also incorporate additional software features, such as spreadsheet, word processing, and communications functions, permitting further manipulation of information retrieved from the database.

Databases and DBMS are used on all kinds of computer systems, many of which permit multiple users to access a database simultaneously. On mainframe and minicomputer/midrange systems, users access the database through multiple terminals. DBMS are also increasingly being used on client-server computer networks of personal computers or workstations, including over corporate intranets using a Web browser interface. The database and the DBMS server software reside on one computer that acts as the server, and other copies of the DBMS software are on each of the client computers linked to the server. Finally, there are distributed databases, in which a database is physically stored in two or more computers at different locations yet managed by a single DBMS through copies of the software at each location.