eduwavepool.unizwa.edu.om€¦  · Web viewIn our information society, record keeping and data...

44
Advanced database development using Oracle-COMP375 Week 1 Introduction Introduction to Database Concept In our information society, record keeping and data processing using database has become an important aspect of every organization, and much of the world's computing power is dedicated to doing this. You probably use databases all the time, often without knowing it. For examples, withdrawing money from the ATM or selecting courses from University of Nizwa online system. Database Data are unprocessed raw facts that include text, number, images, audio, and video. Information is processed data that is organized, meaningful, and useful. Data & Information Data Information 1 Data is collection of facts and figures. Processed form of data is information. 2 No conclusions can be drawn on data. Used to draw conclusions. 3 Data is raw material for processing. It is processed Information can also be further utilized to produce high quality 1 Department of Computer Science, College of Art and Sciences, University of NIZWA

Transcript of eduwavepool.unizwa.edu.om€¦  · Web viewIn our information society, record keeping and data...

Advanced database development using Oracle-COMP375Week 1

Introduction

Introduction to Database ConceptIn our information society, record keeping and data processing using database has become an

important aspect of every organization, and much of the world's computing power is dedicated

to doing this. You probably use databases all the time, often without knowing it. For examples,

withdrawing money from the ATM or selecting courses from University of Nizwa online system.

DatabaseData are unprocessed raw facts that include text, number, images, audio, and video.

Information is processed data that is organized, meaningful, and useful.

Data & Information

Data Information

1 Data is collection of facts and figures. Processed form of data is information.

2 No conclusions can be drawn on data. Used to draw conclusions.

3 Data is raw material for processing. It is

processed further.

Information can also be further utilized to

produce high quality information.

Eg. Student’s marks in course are a data.

This data is further used for calculating Students grade and CGPA etc. when such processing is

done on data, it is called as information. So information is processed form of data.

Database, in simple terms, can be stated to be storage of information in a systematic manner

— usually records, from which data can be easily (relatively speaking) retrieved or to which

modifications can be made or new data can be added.

Formally, a database is a collection of organized data and a means to allow you to manipulate

it in a useful way.

1 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

Database & database system are essential component of everyday life.

Traditional database application - bank database, student database, airline/hotel

reservation, college library, supermarket database. Information stored in text and

numeric format. This is also called conventional database.

Multimedia database - New media technology made it possible to store images, audio

clips, video streams along with text and numeric data.

Geographic information system (GIS) – It can store & analyze maps, weather data,

satellite images.

Data warehouse - It is used in many companies to extract and analyze useful

information from very large database to support decision making.

Real Time database - It is used to control industrial and manufacturing processes.

What is a Database?Database is an organized collection of inter related information.

It contains conventional & non-conventional information.

Conventional information - facts about persons, things, events etc. eg. data in form of text

and numbers.

Non-conventional information - photographs, fingerprints, videos etc. eg. graphical data.

Need of Database ManagementAny organization has to maintain the records of all its activities, which are interdependent.

To specify information requirements of user.

To provide a natural and easy way of structuring, storage of data.

To support the processing requirements like computation and comparison.

To design data structure this will remain robust over time. (eg. new information can be

easily added to database).

Effective & efficient reports at time.

Smooth running of an organization.

2 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

Database Applications: Banking: all money transactions.

Airlines: reservations, schedules.

Universities: registration of students, results of students.

Sales: customers information, products info., purchases info.

Online retailers: order tracking, customized recommendations.

Manufacturing: production, inventory, orders, supply chain.

Human resources: employee records, salaries, tax deductions.

Databases touch all aspects of our lives.

Database Management System (DBMS)Database is an organized collection of interrelated information.

When we perform some operation on the data and organize in some meaningful format, it is

called as database system.

The software which allows user to create (table creation) maintain (insert, delete, change), and

share database is called DBMS.

Example: On PCs, Microsoft Access is a popular example of a single or small-group user

DBMS.

Relational Database management systemA Relational Database management system (RDBMS) is a program that lets you create,

update, and administer a relational database.(DBMS that is based on the Relational Model).

3 Department of Computer Science, College of Art and Sciences, University of NIZWA

Student

Department

CoursesTeachers

Finance

Advanced database development using Oracle-COMP375Week 1

Example:Most commercial RDBMS’s use the Structured Query language,(SQL), to access the database.

The leading RDBMS products are Oracle Corporation's Oracle, IBM's DB2and Microsoft’s SQL

Server.

Properties of a databasePersistent - Data reside on permanent storage such as magnetic disk and available for ever.

Shared - Database can have multiple uses and users.

Interrelated - Data stored as separate units can be connected to provide a whole picture.

Components(Resources) of a Database SystemData - (Data / Information)

Hardware - (Computer, Secondary Storage Devices, Processor, Input/Output Devices etc.,)

Software - Set of programs. (DBMS)

Users - (Application Programmers, End-Users, DBA)

UsersDatabase Administrator (DBA) - Who is responsible for creating & maintaining the data in the

database stable & safe.

Application programmer - Who is responsible for writing programs that use the information

stored in database.

End users - Who is responsible for retrieving/ using information available in the database.

4 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

Features of DBMS/RDBMSDBMS provides the following facility to develop and operate database system:

Database Definitions - It has language and graphical tools to define entities,

relationships, integrity, constraints and authorization rights.

Non procedural access - It allows to access data without writing complex programs.

Fast application development - It has graphical tools to develop Menu, Forms, reports,

queries.

Procedural language interface - It has facility that allows non procedural access to be

combined with programming language.

Transaction processing - a mechanism that prevents interference from many

simultaneous user.

Database Tuning - allows improving the database performance and maintenance of

database.

Provides a virtual table creation - in which sensitive data can be stored and simplified

query can be applied.(views)

Sharing a common column - in two or more tables(primary key and foreign key)

Provides multi user accessibility - that can be controlled by individual users.

There are two approaches for storing and maintaining the data on persistent storage - FILE - BASED SYSTEM and DATABASE SYSTEM.

File Processing versus DatabaseUsually there are two approaches to store and manage data: file processing or database.

In a typical file processing system, each department or area within an organization has its

own set of files. These files are often are designed specifically for their particular applications.

The records in one file may not relate to the records in any other files.

By using the database approach, all data is centralized in one place such that many programs

and users share the data in the database.

5 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

FILE-BASED SYSTEM They are independent systems (stand alone)

Each programmer has their own set of data without having any link to the other.

Application programs cannot exchange information.

Own set of data

No link / sharing

Works independently

Changing is be done separately

DATABASE SYSTEM

6 Department of Computer Science, College of Art and Sciences, University of NIZWA

PROGRAMMER (Application Program)

FILE-BASED SYSTEM

DATA BASE SYSTEM

TEACHERS

STUDENTS AFFAIRS

ADVISOR

Students

Registration

Details

Student Information

Attendance Report

Advanced database development using Oracle-COMP375Week 1

Centralized data

Sharing (many users)

Works together

Elements of a database Database consists of three major elements.

Example – Entities, Relationships, Procedures.

Entity - an entity can denote a person, place, thing or event.

Example - Employees, Departments, Students, Course, Registration etc.,

Relationship - it represents a link or a relationship between the entities.

Example - Employees working in a department, Students registered for a course.

Procedures - An ordered set of tasks for performing some action on the database.

Example : Teachers assignment, Course Scheduling, Registering students.

Find the entities, relationships and procedures in the following problem.Computer Department wants to create a database which will store information about all the

students those who are studying the department, all the teachers working in the department,

list of courses offered, the information about the courses allotted for a teacher, students registered for a particular course, and teacher for a particular course, using the above

information, Students registration, add course and drop course should be done successfully.

7 Department of Computer Science, College of Art and Sciences, University of NIZWA

Students Personal InformationStudents AttendanceStudents Result

DATABASE

ADVISOR

STUDENT AFFAIRS

LECTURES

Advanced database development using Oracle-COMP375Week 1

Eg. COLLEGE DATABASE

Find the entities, relationships and procedures in the following problem In a Hypermarket a database is maintained to store the information about all the products that

are available in that shop, all the employees working, the shopping carts available and the

details of the customers.

Whenever any customer comes to the shop, the customer should collect all the products he

need in a shopping cart, if he needs any help, he can contact any employee of the shop and

finally a bill should be generated by an employee and stock should be updated for all the

products.

Eg. HYPERMARKET DATABASE

DATABASE SYSTEM It is a computerized record keeping system.

Its purpose is to maintain information and make that information available to all users anytime they are required.

8 Department of Computer Science, College of Art and Sciences, University of NIZWA

Entities:

StudentsTeachersCoursesDepartment

Relationships:

Course - TeacherStudent – CourseTeacher - Course

Add course

Drop Course

Registering students

Entities:

CustomersProductsEmployeesShopping-cart

Relationships:

Products - CustomerCustomer – Shopping CartShopping Cart - Products

Billing

Stock Updating

Advanced database development using Oracle-COMP375Week 1

The information kept in a database can be anything that is important to the company or organization.

In a database system, data kept in the computer will be integrated and shared by users.

Integrated - means that the database can be thought as a collection of information where

repeated data are removed from the system.

Shared - means that individual pieces of data in a database can be shared among different users.

DATA SHARING

Data is easily available to all users in database system as it is shared.

The database approach provides following advantages:1. Reduce data redundancy: Since all data is centralized in one place, all the programs and

users share the same data in the database. So that it reduces the data replication.

2. Improve data integrity: DBMS performs validity check to help ensure the entered data

is correct. Also, the database approach reduces the possibility of introducing inconsistencies.

3. Share data: The data in a database environment belongs to and is shared, usually over a

network, by the entire organization.

4. Easier access: The database approach allows non-technical users to access and

maintaining data.

9 Department of Computer Science, College of Art and Sciences, University of NIZWA

Students Personal InformationStudents AttendanceStudents Result

STUDENTS AFFAIRS

HEAD OF THE DEPT

LECTURES

Advanced database development using Oracle-COMP375Week 1

5. Reduce development time: It is often easier and faster to develop programs that use the

database approach.

6. More secure: When the companies use databases, they typically have security settings to

define who can access, add, change, and delete the data in a database

REDUNDANCY OF DATA CAN BE REDUCED

Here, College_Id, Student_name, Specialization is repeated in PERSONAL INFORMATION,

STUDENT RESUL AND STUDENT ATTENDANCE. That is redundancy (repetition of

information).

INCONSISTENCY CAN BE AVOIDEDPERSONAL INFORMATION

College-ID Student-Name Specialization Address

1001 SALIM IT Nizwa

STUDENTS RESULT

College-ID Student-Name Specialization Result

1001 SALIM ENG PASS

STUDENTS ATTENDENCE

College-ID Student-Name Specialization Attendance %

1001 SALIM IT 79

Inconsistency means incorrect information or confusing information.

10 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

SECURITY RESTRICTIONSDBA - Database Administrators

USERS

Permissions to access, modify or delete data.

DBA creates users and give rights (permissions) to them to access, modify or deletion of

information from table.

Data is more secure in database system than file based system.

DATA INTEGRITY Data that we are storing in database must satisfy some condition is called data integrity.

Eg. age > 0. Such conditions are easily given in database.

The user can rely on the data given by the system because of Security restrictions and

elimination of Data

DATA INDEPENDENCEData Structures (Table Design) can be changed without changing the application programs.

Physical Data Independence - the ability to modify the physical schema without changing the

application programs.

Logical Data Independence - the ability to modify the logical schema without changing the

application programs.

DATABASE MANAGEMENT SYSTEMDatabase + Application Programs = DBMSDB - Collection of data.

11 Department of Computer Science, College of Art and Sciences, University of NIZWA

USERS

APPLICATION PROGRAMS

DATA

Advanced database development using Oracle-COMP375Week 1

AP - Collection of Programs (Software) to maintain database.

Database Operations (Maintenance) Insert new information

Retrieve existing information

Delete existing information

Modify existing information

Store the information

Distribute the information

Format the information

Advantages of DBMS Sharing of data and common interface is provided by DBMS.

Less redundancy.

Efficient and easy data access.

Data integrity is maintained.

Provides security for data.

Data administration is easy.

Standards can be enforced.

User need not require knowing about location of data on the disk.

Reduced application development time.

Disadvantages (Drawbacks) of DBMS Use of expensive hardware and software. Eg. It is costly. High initial investment in

hardware, software & training.

Difficult and costly to develop, because it needs trained professionals, persons.

Centralized data.

Because they are operational they often subject to failure.

Data Abstraction

12 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

Data is stored and manipulated using DBMS. However, all the users of database don’t

need all the data stored.

Each one need some/part of data.

Hiding the data and providing only required data is called data abstraction.

The complexity of data storage & overall structure is hidden from users

Schema - the logical structure of the database.

E.g. The database consists of information about a set of customers and accounts and the

relationship between them.

Physical schema - database design at the physical level. (What is storage device? Hard disk,

floppy, CD etc)

Logical schema - database design at the logical level. (Name of table, primary key, foreign

key, data type etc)

Views - User can see only some information from database.

Instance - the actual records in table of the database at a particular point in time.

Types of Database Design (Data Models)Data Model is a design of database. Data model defines how data is organized, stored and

retrieved in database. It shows data and their relationship.

There are three main models. Hierarchical Model

Network Model

Relational Model

13 Department of Computer Science, College of Art and Sciences, University of NIZWA

DatabaseHard disk

Advanced database development using Oracle-COMP375Week 1

Hierarchical Model - It is a database management system that link records together like

ordered tree.

Data is shown by rectangles.

Relationship is shown by lines.

Hierarchical Model (Like Tree structure)Disadvantages

Slow in processing.

Difficulty in getting data.

Difficult programs are required to write to get data.

Network Model Used in early days

Data is shown by rectangles

Relationship is shown by lines

It is shown like arbitrary graph

Network model (Like graph)

Disadvantages14 Department of Computer Science, College of Art and Sciences, University of NIZWA

A

B C C

D E F G

Parent

Childs

A

B

C

D

E

F

G

Advanced database development using Oracle-COMP375Week 1

Slow in processing than relational model.

Difficulty in getting data.

Difficult programs are required to write to get data.

Relational Database Collection of tables are used to show data and their relationship.

Data is stored in 2 dimensional tables.

Table is collection of rows and columns.

In relational database Rows are called tuples.

Columns are called attributes.

Relational model using 2 tables

STUDENT table

Stud_id Name Course

1 Ali IT

2 Mohammad ENG

STUDENT-MARKS

TableA table is a set of (Vertical) rows and (Horizontal) columns. Each row (record) is a set of

columns (fields) with only.

one value for each cell. All rows from the same table have the same set of columns, although

some columns may have NULL values, i.e. the values for that rows was not initialized.

15 Department of Computer Science, College of Art and Sciences, University of NIZWA

Stud_id Marks

1 78

2 67

1 80

Advanced database development using Oracle-COMP375Week 1

The Hierarchy of DataTo manage, a database is organized in a hierarchy which consists of several levels such as

character, field, record and file. Each higher level of data consists of one or more items from

the lower level.

CharacterA bit is the smallest data unit in a computer. Eight bits grouped together in a unit comprise a

byte. Each byte represents a single character, which can be number, letter, punctuation mark,

or other symbol.

FieldA field is a combination of one or more related characters. A field is a column in a table.

It is the smallest unit of data a user accesses. There are three parameters associate with each

field.

A field name uniquely identifies each field.

A field size defines the maximum number of characters a field can contain.

A data type specifies the kind of data a field can contain. The common data types are:

o Text/VarChar2: Letters, numbers or special characters.

o Numeric: Numbers only.

o Currency: Dollar and cent amount.

o Date: Month, day, year, and time information.

o Memo: Lengthy text entries.

o Boolean: 0 or 1 (two states).

o Hyperlink: Web address that links to a document or a Web page.

o Object: This data type can be photograph, audio, video, or a document created

by other programs.

Record

16 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

A record is a group of related fields. Each row in a table is called a record. A table is a collection of records. Each record represents or describes a unique item in the database.

Each record must consists of a special field called a primary key that uniquely identifies each record. Primary Keys are often used to linked tables.

FileA data file (table) is a collection of related records stored on a disk. A database includes a group of related data files or tables.

RelationshipsThe power of relational DBMS, though, is in the ability to create tables that conceptually link

various tables together.

Relational database is based on the idea that objects (tables) of a database are connected or related so they can exchange information. This exchange of information is made possible

by creating relationships among objects (tables) of a database.

There are three general cardinality constraints:

one-to-one

one-to-many

many-to-many

These cardinality constraints help the database designer convey the details of a relationship.

Query and Operations on TableQueriesA query is a question or a request for specific data in a database. A DBMS provides a tool

called Query Language which consists of simple, English like statements that allow users to

manage, update and retrieve the data in a database. A query language provides the following

common functions:

Select records: Users can retrieve all or partial records from the database.

17 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

Insert records: Users will add records in the database when they obtain new data.

Update records: Users can update the records when the records have any changes.

Delete records: When a record no longer is needed, a user can delete it from a file.

Validating DataValidation is the process of comparing data with a set of rules or values to find out if the data is

correct. DBMS performs validity check to help ensure the integrity of entered data, where the

data integrity is measured by:

Correctness and completenessAlphabetic/Numeric Check: Ensure that users enter only alphabetic/numeric data into afield.

Range Check: Determine whether the input number is within a specific range

Consistency Check: Test the data in two or more associated fields to ensure that relationship

is logical.

Completeness Check: Verify that a required field contains data.

Check Digit: A check digit is a number(s) or character(s) that is appended to or inserted into

specific data value. It is used to check the accuracy of the value.

SQLThe Structured Query Language (SQL) is a comprehensive database language for managing relational databases. It includes statements to specify database schemas as well

as statements that add, modify, and delete database contents. It also includes, as its name

implies, the ability to query the database to retrieve specific data.

The original version of SQL was Sequal, developed by IBM in the early 1970s. In 1986, the

American National Standards Institute (ANSI) published the SQL standard, the basis for

commercial database languages for accessing relational databases.

PL-SQLProcedural language / Structured Query Language (PL-SQL)is procedural extension language for sql. Pl-sql expands sql by adding constructs found in procedural languages.

Basic unit in Pl-sql is a block format.

18 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

QueriesThe select statement is the primary tool for this purpose. The basic select statement includes a

select clause, a from clause, and a where clause:

SELCET attribute-list FROM table-list WHERE condition

The select clause determines what attributes are returned. The from clause determines what

tables are used in the query. The where clause restricts the data that is returned.

Modifying Database ContentThe insert, update, and delete statements in SQL allow the data in a table to be changed. The

insert statement adds a new record into a table. Each insert statement specifies the values of

the attributes for the new record.

What is the data base?A database is a collection of information that is organized so that it can easily be accessed,

managed, and updated. In one view, databases can be classified according to types of content:

bibliographic, full-text, numeric, and images.

What is a database and what is it used for?Sometimes referred to as database management systems (DBMS), database software tools are

primarily used for storing, modifying, extracting, and searching for information within

a database.

What is a database management system?

19 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

A database management system (DBMS) is system software for creating and managing

databases. The DBMS provides users and programmers with a systematic way to create,

retrieve, update and manage data.

What is the structure of a database?Instead of having all the data in a list with a random order, a database provides a structure to

organize the data. One of the most common data structures is a database table.

A database table consists of rows and columns. A database table is also called a two-

dimensional array.

What is the data design?Database design is the process of producing a detailed data model of a database.

This data model contains all the needed logical and physical design choices and physical

storage parameters needed to generate a design in a data definition language, which can then

be used to create a database.

A data model is an overall design of a database.

It shows a data and relationship between them.

It is a conceptual tool to represent the database.

The data model focuses on what data is required and how it should be organized.

It is defined as “design the logical and physical structure of one or more database to

accommodate the information needs of the users in an organization for defined set of

application”.

Database design is step-by-step procedure.

Divided into 3 Phases.1. Conceptual Data Modeling.

2. Logical Schema Construction.

20 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

3. Physical Database Design.

For small project, these stages are handled by one person.

For big project, each stage is handled by separate person.

Data modeling is plan for building database.

Phases of Database Design

21 Department of Computer Science, College of Art and Sciences, University of NIZWA

Conceptual Data Modeling

Logical Schema Construction

Physical Database Design

Database Requirements

E R Diagram (on papers)

Relational Database Tables (on papers)

Schema and Instances

(Inside computer)

Advanced database development using Oracle-COMP375Week 1

Feature Conceptual Logical Physical

Entity Names ✓ ✓  Entity Relationships ✓ ✓  Attributes   ✓  Primary Keys   ✓ ✓Foreign Keys   ✓ ✓Table Names     ✓Column Names     ✓Column Data Types     ✓

Below we show the conceptual, logical, and physical versions of a single data model.

Conceptual Model Design

Logical Model Design Physical Model Design

22 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

Conceptual Data Models: High-level, static business structures and concepts

Logical Data Models (LDMs): Entity types, data attributes and relationships between

entities

Physical Data Models (PDMs): The internal schema database design

What is the conceptual design of a database?This phase is called conceptual design. The result of this phase is an Entity-Relationship (ER)

diagram or UML class diagram. It is a high-level data model of the specific application area. It

describes how different entities (objects, items) are related to each other.

It includes Objects ( i.e. documents ) of an interest to an organization.

What is the Logical design of a database?Logical data models (LDMs).  LDMs are used to explore the domain concepts, and their

relationships, of your problem domain.  This could be done for the scope of a single project or

for your entire enterprise. 

23 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

Based on data provided by conceptual model, the database structure is designed on paper.

This is known as logical schema construction.

What is the physical design of a database?Physical database design translates the logical data model into a set of SQL statements that

define the database. For relational database systems, it is relatively easy to translate from a

logical data model into a physical database. Rules for translation: Entities become tables in

the physical database.

It refers to the actual structures created inside the computer/system. Based on data structure

designed on paper in the logical schema construction stage, actual structures are created

inside computer/system.

DB2Short for Database 2, a family of relational database products offered by IBM.

DB2 provides an open database environment that runs on a wide variety of computing

platforms. A DB2 database can grow from a small single-user application to a large multi-user

system. Using SQL, users can obtain data simultaneously from DB2 and other databases. DB2

includes a range of application development and management tools.

OLE DBOLE DB (pronounced as separate letters) is a set of COM-based interfaces that expose data

from a variety of sources, such as spreadsheets, project plans, SQL, legacy databases and

more. OLE DB interfaces provide applications with uniform access to data stored in diverse

information sources, or data stores. These interfaces support the amount of database

management system (DBMS) functionality appropriate to the data store, enabling it to share its

data.

OLEAbbreviation of Object Linking and Embedding. OLE is a compound document standard

developed by Microsoft Corporation. It enables you to create objects with one application and

then link or embed them in a second application.

24 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

Embedded objects retain their original format and links to the application that created them.

Support for OLE is built into the Windows and Macintosh operating systems. A competing

compound document standard developed jointly by IBM, Apple Computer, and other computer

firms is called OpenDoc.

Examples of Database ApplicationsThe following are examples of database applications:

Computerized library systems

Automated teller machines

Flight reservation systems

Computerized parts inventory systems

Database server Database server is the term used to refer to the back-end system of a database application

using client/server architecture. The back-end, sometimes called a database server, performs

tasks such as data analysis, storage, data manipulation, archiving, and other non-user specific

tasks.

Cloud databasesA database accessible to clients from the cloud and delivered to users on demand via the

Internet from a cloud database provider's servers. Also referred to as Database-as-a-Service

(DBaaS), cloud databases can use cloud computing to achieve optimized scaling, high

availability, multi-tenancy and effective resource allocation.

While a cloud database can be a traditional database such as a MySQL or SQL Server

database that has been adopted for cloud use, a native cloud database such as Xeround's

MySQL Cloud database tends to better equipped to optimally use cloud resources and to

guarantee scalability as well as availability and stability.

Cloud databases can offer significant advantages over their traditional counterparts, including

increased accessibility, automatic failover and fast automated recovery from failures, automated

on-the-go scaling, minimal investment and maintenance of in-house hardware, and potentially

better performance.

25 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

At the same time, cloud databases have their share of potential drawbacks, including security

and privacy issues as well as the potential loss of or inability to access critical data in the event

of a disaster or bankruptcy of the cloud database service provider.

ODBC - Open DataBase Connectivity(pronounced as separate letters) Short for Open DataBase Connectivity, a standard database

access method developed by the SQL Access group in 1992.

The goal of ODBC is to make it possible to access any data from any application, regardless of

which database management system (DBMS) is handling the data. ODBC manages this by

inserting a middle layer, called a database driver, between an application and the DBMS.

The purpose of this layer is to translate the application's data queries into commands that the

DBMS understands. For this to work, both the application and the DBMS must be ODBC-

compliant -- that is, the application must be capable of issuing ODBC commands and the

DBMS must be capable of responding to them. Since version 2.0, the standard supports SAG

SQL.

Database engineThe part of a database management system (DBMS) that actually stores and retrieves data.

Most DBMS's include an Application Programming Interface (API) that enables you to directly

control the engine without going through the DBMS's user interface.

Database shard (sharding)A database shard ("sharding") is the phrase used to describe a horizontal partition in a

database or search engine. The idea behind sharding is to split data among multiple machines

while ensuring that the data is always accessed from the correct place.

Since sharding spreads the database across multiple machines, the database programmer

specifies explicit sharding rules to determine which machines any piece of data will be stored

on. Sharding may also be referred to as horizontal scaling or horizontal partitioning.

Database server

26 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

Database server is the term used to refer to the back-end system of a database application

using client/server architecture.

The back-end, sometimes called a database server, performs tasks such as data analysis,

storage, data manipulation, archiving, and other non-user specific tasks.

Hybrid databases A relational database system that supports both in-memory and on-disk storage.

Hybrid databases are typically deployed to retain the high performance and small database

footprint advantages of in-memory databases while leveraging the durability and potential cost

savings of on-disk databases

JDBC - Java Database ConnectivityShort for Java Database Connectivity, a Java API that enables Java programs to execute SQL

statements. This allows Java programs to interact with any SQL-compliant database. Since

nearly all relational database management systems (DBMSs) support SQL, and because Java

itself runs on most platforms, JDBC makes it possible to write a single database application that

can run on different platforms and interact with different DBMSs.

JDBC is similar to ODBC, but is designed specifically for Java programs, whereas ODBC is

language-independent.

JDBC was developed by JavaSoft, a subsidiary of Sun Microsystems.

Multidimensional DBMSA database management system (DBMS) organized around groups of records that share a

common field value. Multidimensional databases are often generated from relational databases.

Whereas relational databases make it easy to work with individual records, multidimensional

databases are designed for analyzing large groups of records.

The term OLAP (On-Line Analytical Processing) has become almost synonymous with

multidimensional databases, whereas OLTP (On-Line Transaction Processing) generally refers

to relational DBMSs.

27 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

Schemas Pronounce skee-ma, the structure of a database system, described in a formal language

supported by the database management system (DBMS).

In a relational database, the schema defines the tables, the fields in each table, and the

relationships between fields and tables.

Schemas are generally stored in a data dictionary. Although a schema is defined in text

database language, the term is often used to refer to a graphical depiction of the database

structure.

Big Data Big Data is a phrase used to mean a massive volume of both structured and unstructured data

that is so large it is difficult to process using traditional database and software techniques. In

most enterprise scenarios the volume of data is too big or it moves too fast or it exceeds current

processing capacity.

Big Data has the potential to help companies improve operations and make faster, more

intelligent decisions. This data, when captured, formatted, manipulated, stored, and analyzed

can help a company to gain useful insight to increase revenues, get or retain customers, and

improve operations.

Big Data: Volume or a Technology?While the term may seem to reference the volume of data, that isn't always the case.

The term Big Data, especially when used by vendors, may refer to the technology (which

includes tools and processes) that an organization requires to handle the large amounts of data

and storage facilities. The term is believed to have originated with Web search companies who

needed to query very large distributed aggregations of loosely-structured data.

28 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

An Example of Big DataAn example of Big Data might be petabytes (1,024 terabytes) or exabytes (1,024 petabytes) of

data consisting of billions to trillions of records of millions of people—all from different sources

(e.g. Web, sales, customer contact center, social media, mobile data and so on). The data is

typically loosely structured data that is often incomplete and inaccessible.

Big Data and Types of Business DatasetsWhen dealing with larger datasets, organizations face difficulties in being able to create,

manipulate, and manage big data. Big Data is particularly a problem in business analytics

because standard tools and procedures are not designed to search and analyze massive

datasets.

Big Data analytics. Big data analytics is the process of collecting, organizing and analyzing large sets of data

(called big data) to discover patterns and other useful information.

Big data analytics can help organizations to better understand the information contained within

the data and will also help identify the data that is most important to the business and future

business decisions. Analysts working with big data basically want the knowledge that comes

from analyzing the data.

Big Data Requires High-Performance AnalyticsTo analyze such a large volume of data, big data analytics is typically performed using

specialized software tools and applications for predictive analytics, data mining, text mining,

forecasting and data optimization.

29 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

The Challenges of Big Data AnalyticsThe first challenge is in breaking down data to access all data an organization stores in different

places and often in different systems.

A second big data challenge is in creating platforms that can pull in unstructured data as easily

as structured data.

This massive volume of data is typically so large that it's difficult to process using traditional

database and software methods.

How Big Data Analytics is Used TodayAs the technology that helps an organization to break down data silos and analyze data

improves, business can be transformed in all sorts of ways.

According to Datamation, today's advances in analyzing big data allow researchers to decode

human DNA in minutes, predict where terrorists plan to attack, determine which gene is mostly

likely to be responsible for certain diseases and, of course, which ads you are most likely to

respond to on Facebook.

Online data storageOnline data storage refers to the practice of storing electronic data with a third party service

accessed via the Internet. It is an alternative to traditional local storage (such as disk or tape

drives) and portable storage (such as optical media or flash drives). It can also be called

"hosted storage," "Internet storage" or "cloud storage."

In recent years, the number of vendors offering online data storage for both consumers and

businesses has increased dramatically.

Some services store only a particular kind of data, such as photos, music or backup data, while

others will allow users to store any type of file. Most of these vendors offer a small amount of

storage for free with additional storage capacity available for a fee, usually paid on a monthly or

annual basis.

Benefits of Online StorageOne of the biggest benefits of online storage is the ability to access data from anywhere. As the

number of devices the average person uses continues to grow, syncing or transferring data

30 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

among devices has become more important. Not only does it help transfer data between

devices, online data storage also provides the ability to share files among different users. This

is particularly helpful for business users, although it's also popular with consumers who want to

share photos, videos and similar materials with their friends and family.

Online data storage also offers distinct advantages for backup and disaster recovery situations

because it's located off site.

In a fire, flood, earthquake or similar situation, on-site backups could be damaged, but online

backups won't be affected unless the disaster is very widespread.

However, online data storage does have some potential downsides. Some people worry about

the security of cloud storage services, and some vendors have experienced significant outages

from time to time, leading to concerns about reliability.

Online Storage Enhances Data Protection and AvailabilityBefore the development of the Internet, computer systems were limited to local storage or

portable storage, first in the form of tapes and floppy disks, then CDs, DVDs and USB thumb

drives.

Generally, using on-site storage is faster than using Internet storage, because you don't have to

wait for files to upload or download. However, on-site storage is more susceptible to loss due to

theft, natural disasters or device failure.

By contrast, most online data storage facilities offer enhanced physical security and automated

backup capabilities to ensure that data is not lost. Online data storage also enables easier data

transfer and sharing.

Like local storage, portable storage devices offer fast data transfer along with some data

transfer and sharing capabilities. However, portable storage isn't quite as convenient as online

data storage, particularly if you want to share files with a large number of users.

Portable storage devices are also easy to lose or damage, and they offer limited storage

capacity.

Recently, the term cloud storage has become increasingly common. Although many people use

the terms "cloud storage" and "online storage" interchangeably, technically, cloud storage is a

particular kind of online data storage.

31 Department of Computer Science, College of Art and Sciences, University of NIZWA

Advanced database development using Oracle-COMP375Week 1

In order to be considered cloud storage, a service must be sold on demand, provide elasticity

(the user can have as much or as little as desired) and offer self-service capabilities.

Many individuals and organizations use a mix of on-site and online storage capabilities.

For example, they might use local storage for files they use frequently and online storage for

backup or archive data. Or they might use local storage for personal data and online storage for

files that they wish to share with others.

Online Storage ImplementationIn most cases, setting up online data storage is incredibly easy, but the exact process will

depend on the vendor.

For most consumer online storage services, the process entails nothing more than setting up an

account with a user name and password, although in some cases users will also need to

download and install some software.

Using these online data storage services is also very simple, and many offer intuitive drag-and-

drop interfaces. Again, the exact details vary by vendor.

For business-oriented online storage services, the set up and use procedures can be slightly

more complex because they generally offer more options for configuration, security and

reliability. However, because they want to appeal to as many customers as possible, enterprise

vendors generally make their services as easy to use and maintain as possible.

32 Department of Computer Science, College of Art and Sciences, University of NIZWA