Course Logistics & Chapter 1 Introduction

Similar documents
CS425 Fall 2016 Boris Glavic Chapter 1: Introduction

Database Management System. Fundamental Database Concepts

Database Principle. Zhuo Wang Spring

Database System Concepts

Chapter 1: Introduction

Chapter 1: Introduction. Chapter 1: Introduction

Chapter 1: Introduction

Chapter 1: Introduction

UNIT I. Introduction

D.Hemavathi & R.Venkatalakshmi, Assistant Professor, SRM University, Kattankulathur

Chapter 1: Introduction

Chapter 1: Introduction

Database Management Systems (CPTR 312)

Quick Facts about the course. CS 2550 / Spring 2006 Principles of Database Systems. Administrative. What is a Database Management System?

Chapter 1 Introduction

Database Technology Introduction. Heiko Paulheim

CMPT 354 Database Systems I. Spring 2012 Instructor: Hassan Khosravi

Introduction: Database Concepts Slides by: Ms. Shree Jaswal

Database systems. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Chapter 2 Introduction to Relational Models

Chapter 1 Chapter-1

Unit I. By Prof.Sushila Aghav MIT

Introduction to DBMS

SYLLABUS (R15A0509) DATABASE MANAGEMENT SYSTEMS

Upon completion of this Unit, the students will be introduced to the following

ADVANCED DATABASES ; Spring 2015 Prof. Sang-goo Lee (11:00pm: Mon & Wed: Room ) Advanced DB Copyright by S.-g.

Course Introduction & Foundational Concepts

CMSC 424 Database design Lecture 2: Design, Modeling, Entity-Relationship. Book: Chap. 1 and 6. Mihai Pop

COMP Instructor: Dimitris Papadias WWW page:

John Edgar 2

Introduction to Database Concepts. Department of Computer Science Northern Illinois University January 2018

; Spring 2008 Prof. Sang-goo Lee (14:30pm: Mon & Wed: Room ) ADVANCED DATABASES

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1

Data about data is database Select correct option: True False Partially True None of the Above

DATABASE MANAGEMENT SYSTEMS. UNIT I Introduction to Database Systems

Fundamentals of Database Systems (INSY2061)

CS34800 Information Systems. Course Overview Prof. Walid Aref January 8, 2018

Introduction to Databases

Introduction. Example Databases

Outline. Database Management Systems (DBMS) Database Management and Organization. IT420: Database Management and Organization

CSE 132A. Database Systems Principles

Database Systems: Learning Outcomes. Examples of Database Application. Introduction

What is Data? ANSI definition: Volatile vs. persistent data. Data. Our concern is primarily with persistent data

What is Data? Volatile vs. persistent data Our concern is primarily with persistent data

COSC 304 Introduction to Database Systems. Database Introduction. Dr. Ramon Lawrence University of British Columbia Okanagan

G64DBS Database Systems. G64DBS Module. Recommended Textbook. Assessment. Recommended Textbook. Recommended Textbook.

Chapter 6 Formal Relational Query Languages

MIT Database Management Systems Lesson 01: Introduction

Introduction Database Concepts

Techno India Batanagar Computer Science and Engineering. Model Questions. Subject Name: Database Management System Subject Code: CS 601

Course Introduction & Foundational Concepts

CMPUT 291 File and Database Management Systems

Rapid Application Development

Introduction to Database Systems. Motivation. Werner Nutt

MIS Database Systems.

DATABASE MANAGEMENT SYSTEM SHORT QUESTIONS. QUESTION 1: What is database?

BIS Database Management Systems.

Bottom line: A database is the data stored and a database system is the software that manages the data. COSC Dr.

Chapter 1 Database System Concepts and Architecture. Nguyen Thi Ai Thao

II B.Sc(IT) [ BATCH] IV SEMESTER CORE: RELATIONAL DATABASE MANAGEMENT SYSTEM - 412A Multiple Choice Questions.

Introduction to Database Systems (1)

Unit1: Introduction. Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See for conditions on re-use

LECTURE1: PRINCIPLES OF DATABASES

Information Systems and Software Systems Engineering (12CFU)

]a a. ] v. A. Silberschatz, H. Korth and S. Sudarshan, Database System Concepts (3rd Edition), The McGraw Hill Company, 1997.

Introduction and Overview

Introduction CHAPTER. 1.1 Database-System Applications

DATABASE MANAGEMENT SYSTEM ARCHITECTURE

Database Management Systems MIT Lesson 01 - Introduction By S. Sabraz Nawaz

Introduction and Overview

CAS CS 460/660 Introduction to Database Systems. Fall

Textbook: Chapter 4. Chapter 5: Intermediate SQL. CS425 Fall 2016 Boris Glavic. Chapter 5: Intermediate SQL. View Definition.

Lecture 11 - Chapter 8 Relational Database Design Part 1

Distributed Database Systems By Syed Bakhtawar Shah Abid Lecturer in Computer Science

CS425 Fall 2017 Boris Glavic Chapter 5: Intermediate SQL

DATABASTEKNIK - 1DL116

CSE 3241: Database Systems I Databases Introduction (Ch. 1-2) Jeremy Morris

5-1McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

Introduction C H A P T E R1. Exercises

Database Systems Overview. Truong Tuan Anh CSE-HCMUT

CISC 3140 (CIS 20.2) Design & Implementation of Software Application II

Database Management Systems MIT Introduction By S. Sabraz Nawaz

Help student appreciate the DBMS scope of function

Lecture 10 - Chapter 7 Entity Relationship Model

Databases and Database Systems

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 1-1

Databases and Database Management Systems

CSC 407 Database System I COURSE PARTICULARS COURSE INSTRUCTORS COURSE DESCRIPTION

Database Systems. Sven Helmer. Database Systems p. 1/567

Overview of Data Management

CS 4604: Introduction to Database Management Systems. B. Aditya Prakash Lecture #1: Introduction

CS403- Database Management Systems Solved MCQS From Midterm Papers. CS403- Database Management Systems MIDTERM EXAMINATION - Spring 2010

INTRODUCTION TO DATABASE

Data Management Lecture Outline 2 Part 2. Instructor: Trevor Nadeau

Database Management Systems. Chapter 1

CSC 261/461 Database Systems Lecture 6. Fall 2017

Introduction to DBMS DATA DISK. File Systems. DBMS Stands for Data Base Management System. Examples of Information Systems which require a Database:

Introduction: Databases and. Database Users

COMP.3090/3100 Database I & II. Textbook

IST 210: Organization of Data

Transcription:

CMSC 461, Database Management Systems Spring 2018 Course Logistics & Chapter 1 Introduction These slides are based on Database System Concepts book th edition, and the 2009 CMSC 461 slides by Dr. Kalpakis and slides, 6 Dr. Jennifer Sleeman https://www.csee.umbc.edu/~jsleem1/courses/461/spr18/index.html

The Book Abraham Silberschatz, Henry H. Korth, and S. Sudarashan, Database System Concepts, Sixth Edition, McGraw-Hill. ISBN-13: 978-0073523323 ISBN-10: 0073523321

Course Logistics Review course web site https://www.csee.umbc.edu/~jsleem1/courses/461/spr18/index.html Review syllabus Review schedule Introduction to Slack https://umbc-cmsc-461-spr-18.slack.com

The world of databases is exciting, changing, and challenging

Exciting... Databases are 'everywhere' Web Search Data Mining Medical data Scientific data

Changing... Relational vs non-relational Key-Value based databases Document based databases Graph-based databases

Challenging... More and more data Big Data problems Harder problems to model Interoperability

What does this mean for you... Job opportunity Cool research problems

Lecture Outline 1) Database and DBMS 2) Purpose of Database Systems 3) Data 4) Languages 5) Relational Databases 6) Database Design 7) Storage and Querying 8) Transactions 9) Architecture

What is a database?

What is a database? Collection of data Organized Relevant information to enterprise

What is a database management system (DBMS)?

What is a Database Management System (DBMS)? Includes the database & a set of programs to access it Define, store, retrieve data Convenience & Efficiency

Database Management System Large bodies of information Structures for storage Mechanisms for manipulating information Security Reliability Concurrency

Types of Applications Banking: transactions Airlines: reservations, schedules Universities: registration, grades Sales: customers, products, purchases Online retailers: order tracking, customized recommendations Manufacturing: production, inventory, orders, supply chain Human resources: employee records, salaries, tax deductions

University Example Information about: - Instructors - Students - Courses - Departments Storing information in files A number of applications to manipulate data Over time more files, more applications

University Example Anything wrong with this approach? What could go wrong?

File System as a Database Supported by operating system Permanent records stored in files Different programs extract records from files and add to files

File System as a Database Data redundancy and inconsistency Duplication of information, many programs, different languages, higher storage and access cost, data inconsistency Difficulty in accessing data New programs for each new task, lack of convenience and efficiency

File System as a Database Data isolation Data scattered, hard to retrieve Integrity problems Hard to enforce, programs define Atomicity problems Failure of programs during execution

File System as a Database Concurrent-access anomalies Multiple users, updating simultaneously Inconsistent data Security problems Restricting access to users Programs added ad hoc manner

Capabilities of a DBMS DBMS are distinguished from other S/W systems due to their ability to: Manage persistent data Access large amounts of data efficiently Common capabilities of commercial DBMS systems Support a data model, through which the user can view the data Support a high-level language to define the structure of the data and access the data

Capabilities of a DBMS Provide correct, concurrent access to the data by many users Provide for the integrity (validity) of the data Limit access to the data by unauthorized users Recover from system failures without losing data

View of Data Highest level of abstraction, reduction of complexity, multiple views, simplifies interaction What data is stored and what relationships exists How data is stored, low level data structures

Instances and Schemas Instance - collection information stored at that point in time Schema - overall design of the database Several, partitioned according to abstraction level Physical, logical, subschemas (view level)

Instances and Schemas Physical Data Independence - ability to modify physical schema without changing the logical schema Applications depend on logical schema Interfaces between various levels should be well defined to changes in one part do not influence others Logical Data Independence - the ability to modify logical schema without changing the view schema of the database

Data Models Data Model a collection of conceptual tools for describing data, data relationships, data semantics, and consistency constraints Describes design of database at physical, logical and view levels Primary Data Models Relational model Entity-Relationship model

Relational Model Columns The Instructor Table Row

Relational Model

Entity-Relationship Model

Data Definition Language A formal (computer) language for defining a database schema create table instructor ID char(5), name varchar(20), dept_name varchar(20), salary numeric(8,2)); DDL compiler generates a set of tables stored in a data dictionary

Data Definition Language Data dictionary contains metadata (data about data) Integrity constraints Primary key (ID uniquely identifies instructors) Referential integrity (references constraint in SQL) dept_name value in any instructor row must appear in department relation Authorization

Data Manipulation Language A language for accessing and manipulating the data organized by the appropriate data model Retrieval Insertion Deletion Modifications

Data Manipulation Language Also known as query language Two classes of query languages Procedural - user specifies what data is required and how to get those data Declarative or Nonprocedural - user specifies what data is required without specifying how to get those data SQL is the most widely used query language

SQL Examples Find the name of the instructor with ID 22222: select name from instructor where instructor.id = 22222 ; Find the ID and building of instructors in the Physics dept. select instructor.id, department.building from instructor, department where instructor.dept_name = department.dept_name and department.dept_name = Physics

SQL Application programs generally access databases through one of: Language extensions to allow embedded SQL Application program interface (e.g., ODBC/JDBC) which allow SQL queries to be sent to a database We will learn about SQL in Chapters 3, 4 and 5

Database Design Mainly focused on database schema Models enterprise Characterize data needs of users results in specification of user requirements Conceptual Design Phase: Choose a data model Translate requirements into a conceptual schema Review, fix redundancy Focus on describing data and relationships

Database Design How does one decide which attributes should be captured and how to group the attributes to form tables? Business decisions Entity Relationship Model Normalization

Database Design Logical Design Phase Map high level conceptual schema to implementation of the data model Physical Design Phase Physical features, file organization, internal storage structures

Entity-Relationship Model Entity: a thing or object in the enterprise that is distinguishable from other objects Described by a set of attributes Relationship: an association among several entities

Normalization Generate set of relation schemas Store information but remove unnecessary redundancy Appropriate normal form Use functional dependencies Bad design properties: Repetition of information Inability to represent certain information

Normalization Bad Design Example Alternative table that combines the instructor table and the department table What is wrong here?

Storage Manager Storage manager provides the interface between the low-level data stored in the database and the application programs and queries submitted to the system Responsible for interaction with the file manager Translates various DML statements into low-level file system commands Responsible for storing, retrieving, and updating data

Storage Manager Components: Authorization and integrity management Transaction management File management Buffer management Implements: Data files Data dictionary Indices

Query Processing DDL interpreter interprets DDL statements and records definitions in the data dictionary DML compiler translates DML statements into an evaluation plan Query evaluation engine executes low level instructions generated by the DML compiler

Query Processing

Transaction Management A transaction is a collection of operations that performs a single logical function in a database application Transaction-management component ensures that the database remains in a consistent (correct) state despite system failures (e.g., power failures and operating system crashes) and transaction failures.

Transaction Management Recovery manager - ensures atomicity (all or none) and durability (persistence) Failure recovery detect failures and restore database to previous state Concurrency-control manager controls the interaction among the concurrent transactions, to ensure the consistency of the database.

Database Architecture The architecture of a database systems is greatly influenced by the underlying computer system on which the database is running: Centralized Client-server Parallel (multi-processor) Distributed

Database Architecture

Database Users Users: Naive unsophisticated Programmers write applications Sophisticated interact without programs, use database query language Specialized write specialized applications

Database Administrator (DBA) Coordinates all the activities of the database system Needs good understanding of the enterprise s information resources and needs

Database Administrator (DBA) Duties include: Schema definition Storage structure and access method definition Schema and physical organization modification Granting user authority to access the database Specifying integrity constraints Acting as liaison with users Monitoring performance and responding to changes in requirements