/
Database Management Systems Database Management Systems

Database Management Systems - PowerPoint Presentation

firingbarrels
firingbarrels . @firingbarrels
Follow
343 views
Uploaded On 2020-10-01

Database Management Systems - PPT Presentation

DBMS CSC351621 Getting Started and Quick Overview Motivation SQL is one of the significant skills required for Data Science According to Glassdoor the average salary for SQL Developer is ID: 812847

data database systems dbms database data dbms systems databases sql system relational store development column management server language read

Share:

Link:

Embed:

Download Presentation from below link

Download The PPT/PDF document "Database Management Systems" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Database Management Systems

DBMS | CSC-351/621

Slide2

Getting Started and Quick Overview

Slide3

Motivation

SQL is one of the significant skills required for

Data Science

According to Glassdoor, the average salary for SQL Developer is

$82k per year

in the United States

Average Salary for Data Scientist

$113,436

(110k in Philadelphia

)

According to Glassdoor, the average salary for PHP Developer is

$82k per year

According to TIOBE, the software quality company, the SQL Language is one of the highest positions (top 10) (since 2002) – August 2020

According to TIOBE, the software quality company, the PHP Programming Language is one of the highest positions (top 10) (since 2002) – August 2020

Slide4

Title and content layout with chart

And it continues to rise -

https://www.tiobe.com/tiobe-index/

Slide5

Course Overview

Relational Databases (since 1970)

Entity Relationship Diagram (ERD) / Database Modeling

SQL: CRUD queries, views, procedures, and triggers

Cloud Computing – SQL Server

Database Management Systems (DBMS)

Web Applications: HTML, CSS, and PHP

NoSQL: MongoDB – document-oriented database program

Slide6

Course Goals and Objectives

To develop an understanding of Relational Databases (SQL, and ERD Modelling)

To develop an understanding of advanced concepts of Relational Databases

To develop an understanding of NoSQL Databases

Basic structure of web application and how a web browser interacts with a web server. Request-Response Cycle that is the basis of the Hypertext Text Transfer Protocol (HTTP)

Final project – Web App that integrates with DB server

Slide7

What is a Database?

Slide8

What is a Database?

A collection of individual data items

Stored in a highly structured way

Represents a model of reality

Organizes the data in a way that facilitates efficient access to the information captured in the data

Data can be stored in a single location

Or, distributed across large networks

Slide9

CRUD Tasks

Create

Read

Update

Delete

All performed by a database engine

Slide10

What is Database Management Systems?

Slide11

Simplified - DBMS

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

The DBMS provides users and programmers with a systematic way to create, retrieve, update and manage data

Happy Coding!

Slide12

Database Management Systems (DBMS)

Server-based systems such as SQL Server or Oracle

A system that communicates with the database server to perform CRUD operations

Creation of databases

Insertion, storage, retrieval, update, and deletion of the data stored in the database

Maintenance of databases (i.e., backup, user permissions/control)

Slide13

Why Database Management Systems (DBMS)?

Data independence and efficient access.

Reduced application development time.

Data integrity and security.

Uniform data administration.

Concurrent access, recovery from crashes.

Slide14

Slide15

Relational Database Management Systems

Being specific about what database management system we are using

Database systems may vary, from relational (i.e., MySQL, T-SQL) to document-oriented databases such as MongoDB

Slide16

System Categories

Major server DBMS vendors

Microsoft SQL Server (MSSQL)

Oracle

DB2 (IBM)

PostgreSQL (open source, free to install and use)

MySQL (open source, free to install and use)

Slide17

What is SQL?

Structured

Query

Language

Used by the DBMS to interact with the database

Create new tables

Insert and update data

Retrieve information

A very beautiful and simple language!

Slide18

Initial Terminology

Data

– facts that are recorded and can be retrieved/accessed

Data formats – text, numbers, figures, audio/video, recordings and more

Data is saved and kept because it is considered to be of use to an intended user

Big Data?

Slide19

Initial Terminology

Metadata –

data that describes the structure and prosperities of the data

Metadata is essential for the proper understanding and use of the data

Data without metadata

Slide20

Initial Terminology

Data with metadata

Slide21

Initial Terminology

Database metadata

– represents the structure of the database

Database content that is not the data itself (data about the data)

Contains:

Names of the data structures

Data types

Data descriptions

Other information describing the characteristics of the data

Slide22

Initial Terminology

Typical database system architecture

Slide23

Initial Terminology

Front-end application

– provide a mechanism for easy interaction between the user and the DBMS

* DML (Data Manipulation Language)

Manipulate data itself

it is used to retrieve, modify/update, delete, and insert

* DDL (Data Definition Language)

It is used to define data structures (e.g., create table, alter table)

In other words, it is used to create and modify the structure of database objects in the database (design)

We will talk about that in more details later in this course…

Slide24

Initial Terminology

Queries:

access different parts of data and formulate the results of a request

Transactions:

symbolizes a unit of work performed within a system against a databases

A single unit of logic or work

SQL select statement and its result – Wikipedia

Slide25

Steps in the Development of Database Systems

Slide26

Steps in the Development of Database Systems

Requirements collection, definition, and visualization

Results in the requirements specifying which data the future database system will hold and what the capabilities and functionalities of the database system will be

The

collected

requirements should be clearly

defined

and stated in a written document, and then

visualized

Conceptual database model –

a visualization of requirements by using a conceptual data modeling technique (such as entity-relationship diagram (ERD))

Slide27

Steps in the Development of Database Systems

Iterative nature of the database requirements collection, definition, and visualization process

Slide28

Steps in the Development of Database Systems

Database modeling (logical database modeling)

– creation of the database model that is implementable by the DBMS

Logical database modelling follows conceptual database modelling

Database implementation

– using a DBMS to implement the database model as an actual database

Most modern databases are implemented using a relational DBMS (RDBMS) software

Slide29

Steps in the Development of Database Systems

Developing front-end applications

– designing and creating application for indirect use by the end-users

Front-end applications are based on the database model and the requirements specifying the front-end functionalities

Front-end applications contain interfaces (such as forms and reports) accessible via a navigation mechanism (such as menu/navigation bar)

Slide30

Steps in the Development of Database Systems

Database deployment

– releasing the database system for use by the end users

Database use

– the insertion, modification, deletion, and retrieval of the data in the database system

Slide31

Steps in the Development of Database Systems

Database administration and maintenance

– performing activities that support the database end user, including dealing with technical issues, such as:

Providing security for the information contained in the database

Ensuring sufficient hard/solid drive space for the database content

Implementing the backup and recovery procedures

Slide32

People Involved w/ DB Systems

Database analysts, designers, and developers

Database admins –

perform the tasks related to the maintenance and administration of a database system

Database engineers/designers (

a.k.a

architects) –

involved in the database modeling stage

Database developers –

in charge of implementing the database model as a functioning database using the DBMS software

Database developers are involved in SQL Programming language

Write SQL queries, procedures, triggers, and so on

Slide33

Additional DBMS Functionality

DBMS may additionally provide

Protection or security measure to prevent unauthorized access

“Active” processing to take internal actions on data

Maintenance of the

db

and associated programs

Slide34

Demo

/

IPInfoDB

/

iplocation.php

Slide35

Somebody, Please, Bring Some Order to This Madness

Slide36

Somebody, Please, Bring Some Order to This Madness – Cont’d

NoSQL Databases

Slide37

Relational Data

Tables or Relations

Slide38

Relational Database: Schemas

Slide39

Key-Value Store

Implemented as an associative array, map, symbol table, or dictionary abstract data type composed of a collection of (

key

,

value

) pairs such that each possible key appears at most once in the collection.

A simple

put

/

get

interface

Great properties: scalability, availability, reliability

Slide40

Key-Value Store Usage Scenarios

Increasingly popular within data centers and in P2P

Data center

P2P

Dynamo

amazon.com

Voldemort

LinkedIn

Cassandra

Facebook

Vuze DHT

Vuze

uTorrent DHT

uTorrent

Slide41

Row Store and Column Store

In row store data are stored in the disk tuple by tuple.

Where in column store data are stored in the disk column by column.

Column-stores are more I/O efficient for read-only queries as they read only those attributes which are accessed by a query.

Source: Column-Oriented Database Systems, VLDB 2009. Tutorial;

S.

Harizopoulos

, D.

Abadi

, P.

Boncz

Slide42

Row Store and Column Store

So column stores are suitable for

read-mostly, read-intensive, large data repositories

Row Store

Column Store

(+) Easy to add/modify a record

(+) Only need to read in relevant data

(-) Might read in unnecessary data

(-)

Tuple

writes require multiple accesses

Slide43

Program Flow

Ecological Network

Biological Network

Social Network

Chemical Network

Web Graph

Graph Databases

Slide44

Graph Databases: Query

Find all the restaurants my friends (in Facebook) like

Slide45

So, Why Study Relational DBs?

Jack Clark, The Register, 30 August 2013

: “The tech world is turning back toward SQL, bringing to a close a possibly misspent half-decade in which startups courted developers with promises of infinite scalability and the finest imitation-Google tools available, and companies found themselves exposed to unstable data and poor guarantees.”

Google Spanner paper, October 2012

: “We believe it is better to have application programmers deal with performance problems due to overuse of transactions as bottlenecks arise, rather than always coding around the lack of transactions.”

Sean Doherty in Wired, September 2013

: “But don’t become unnecessarily distracted by the shiny, new-fangled, NoSQL red buttons just yet. Relational databases may not be hot or sexy but for your important data there is no substitute.”

Slide46

And, The Key Reason of All

Gartner

estimates RDBMS market at

$26B

with about 9% annual growth, whereas

Market Research Media Ltd

expects NoSQL market to be at

$3.5B

by 2018.

Source: C Mohan’s tutorial

Can someone check it!

Slide47

Summary

DBMS used to maintain, query large datasets.

Benefits include recovery from system crashes, concurrent access, quick application development, data integrity and security.

Levels of abstraction give data independence.

A DBMS typically has a layered architecture.

DBAs hold responsible jobs and are

well-paid

!

DBMS R&D is one of the broadest, most exciting areas in CS.