Overview Thanks to Dr. Raj and Dr. Liu for sharing course materials; also S. Miner from Gordon College Database Concepts.

Slides:



Advertisements
Similar presentations
©Silberschatz, Korth and Sudarshan4.1Database System Concepts Lecture-1 Database system,CSE-313, P.B. Dr. M. A. Kashem Associate. Professor. CSE, DUET,
Advertisements

Adapted from: ©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Fly-over Introduction Purpose of Database Systems View of Data Data.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
BD05/06 Chapter 1: Introduction  Purpose of database systems  Data abstraction levels  Data models  SQL :Data Definition Language and Data Manipulation.
CS157A Lecture 2 DB Mangement Systems Prof. Sin-Min Lee Department of Computer Science San Jose State University.
Database Management System (DBMS)
Ch1: File Systems and Databases Hachim Haddouti
Data Definition Language (DDL) Specification notation for defining the database schema –E.g. create table account ( account-number char(10), balance integer)
DATABASE SYSTEM CONCEPTS
On Database Systems.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
Introduction to Databases Transparencies
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction n Why Database Systems? n Data Models n Data Definition Language.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Database Management Systems Purpose of Database Systems View of Data.
Dr. Kalpakis CMSC 461, Database Management Systems Introduction.
DATABASE MANAGEMENT SYSTEM
Chapter 1 Introduction to Databases
Introduction to DBMS Purpose of Database Systems View of Data
CS462: Introduction to Database Systems. ©Silberschatz, Korth and Sudarshan1.2Database System Concepts Course Information Instructor  Kyoung-Don (KD)
Database System Concepts, 5th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 1: Introduction.
Temple University – CIS Dept. CIS616– Principles of Database Systems V. Megalooikonomou Introduction (based on notes by Silberchatz,Korth, and Sudarshan)
ICOM 5016 – Introduction to Database Systems
ADVANCED DATABASES WITH ORACLE 11g FOR ADDB7311 LEARNING UNIT 1 of 7.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Lecture 6: Introduction to Database Management Systems Lecturer: Prof. Kazimierz Subieta.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 1: Introduction.
Introduction to Databases
 Introduction Introduction  Purpose of Database SystemsPurpose of Database Systems  Levels of Abstraction Levels of Abstraction  Instances and Schemas.
Introduction. 
Module Title? DBMS Introduction to Database Management System.
Chapter 2 CIS Sungchul Hong
Chapter 1 Introduction to Databases Pearson Education ©
CST203-2 Database Management Systems Lecture 2. One Tier Architecture Eg: In this scenario, a workgroup database is stored in a shared location on a single.
Database Management Systems
Chapter 1 : Introduction §Purpose of Database Systems §View of Data §Data Models §Data Definition Language §Data Manipulation Language §Transaction Management.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts COMP319: Introduction Course Structure Course Assessment Review: DBMS Structure Review: Terminology.
©Silberschatz, Korth and Sudarshan4.1Database System Concepts Database system,CSE-313, P.B. Dr. M. A. Kashem Associate. Professor. CSE, DUET, Gazipur.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
Chapter 1 Introduction Yonsei University 1 st Semester, 2015 Sanghyun Park.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
1 Chapter 1 Introduction to Databases Transparencies.
Chapter 1 Introduction Yonsei University 1 st Semester, 2014 Sanghyun Park.
Mr.Prasad Sawant, MIT Pune India Introduction to DBMS.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
C HAPTER 1: I NTRODUCTION Purpose of Database Systems View of Data Data Models Data Definition Language Data Manipulation Language Transaction Management.
Chapter 1: Introduction
ASET 1 Amity School of Engineering & Technology B. Tech. (CSE/IT), III Semester Database Management Systems Jitendra Rajpurohit.
Lecture on Database Management System
Database System Concepts Introduction Purpose of Database Systems View of Data Data Models Data Definition Language Data Manipulation Language Transaction.
Databases Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
©Silberschatz, Korth and Sudarshan 1.1 Database System Concepts قواعد البيانات Data Base قواعد البيانات CCS 402 Mr. Nedal hayajneh E- mail
CSCI-235 Micro-Computers in Science Databases. Database Concepts Data is any unorganized text, graphics, sounds, or videos A database is a collection.
CHAPTER 1: INTRODUCTION Purpose of Database Systems View of Data Data Models Data Definition Language Data Manipulation Language Storage Management Database.
D ATABASE MANAGEMENT SYSTEM By Rubel Biswas. W HAT IS I NFORMATION ? It’s just something you can’t avoid. It is generally referred to as data.
Database System Concepts, 5th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 1: Introduction.
CS 325 Spring ‘09 Chapter 1 Goals:
Introduction to DBMS Purpose of Database Systems View of Data
Introduction To DBMS.
Chapter 1: Introduction
Chapter 1: Introduction
Unit 1: INTRODUCTION Database system, Characteristics Database Users
Chapter 1: Introduction
Introduction to Database Systems
Chapter 1: Introduction
Introduction to DBMS Purpose of Database Systems View of Data
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Terms: Data: Database: Database Management System: INTRODUCTION
Chapter 1: Introduction
Presentation transcript:

Overview Thanks to Dr. Raj and Dr. Liu for sharing course materials; also S. Miner from Gordon College Database Concepts

Course Overview Broad introduction to database management systems (DBMS) and the design, implementation, and applications of databases. Topics: – an overview of DBMS architectures; – concepts and implementations of the relational model; – SQL; – database design and modeling techniques; – As time allows, others, such as transaction management, indexing…

Who are you? Your name, program/year, hometown Why are you taking this course? Anything else??

Data Management What are some data management problems? Previous solutions: – Pen and Paper – Rolodex Cards Image Credit: ConcordSupplies.com

Data Management Why not a simple text file? An Excel spreadsheet? How about a more sophisticated structure: – Linked list – BST – Hash – Indexed file What are the problems with each of the structures mentioned above?

Problems Integrity constraints buried in application logic – hard to add to or change Atomicity problems – what happens when the system crashes during an important operation? Concurrency issues – when multiple users work with the same data at the same time Security issues – how to give someone access to some, but not all, of the data

Other Issues Text file gets big - Searches become slow Customer information changes Duplication Relationship between data elements “Must-exist” data and “must-not-access” data Ad hoc analysis and retrieval

Why can’t we just use files? What do you think?

File Systems for Data: Drawbacks Data redundancy and inconsistency – Multiple file formats, information duplication Difficulty in accessing data – Must write a new program to carry out each new task Integrity issues – Integrity constraints embedded in programs Data updates – may leave database in inconsistent state

File Systems for Data: Drawbacks Concurrent access by multiple users – Needed for performance, but can lead to inconsistency Security problems – Who gets to see the data and modify it Update inconsistencies if multiple copies Data may be in > 1 file, in > 1 location Different implementations and structures; now need people able to understand all in order to support …

Database Management System (DBMS) Decouples applications from the files on the file system Programs go through the database to access data stored in the underlying files Manages very large amounts of data – Collection of interrelated data about particular enterprise Access to very large amounts of data – Efficient, concurrent, secure and atomic access Two people withdrawing money from the same account at different ATMs Usable, convenient, and efficient environment Provides set of programs for data access

DBMS Applications Banking – All transactions Airlines – Reservations, schedules Universities – Registration, grades Payroll Management – Manage employees, pay, taxes, and so on …

DBMS Time Line Pre-1960 – Transition from punched card and tape 1960s – From file management to databases – Hierarchical Data Model – Multi-user access with network 1970s – Codd (IBM) Relational Model – Chen introduced Entity Relationship Model – Query languages developed (SQL)

DBMS Time Line (continued) 1980s – Client/Server DBs, Oracle, DB2 PC databases, DBase, Paradox, and more – SQL standard for definition and manipulation 1990s – Web-based information delivery – Trends Expert/object/distributed/XML DBMS 2000s – Add scale to 1990s – Data integration, mining, and privacy Current Problem: Big Data

DBMS Users (Loosely Based on Interaction) Application programmers – Interact with system through Data Manipulation Language (DML) calls Naïve users – Invoke one of the previously written “permanent” application programs Sophisticated users – Form requests in a database query language Specialized users – Write specialized database applications that do not fit into traditional data processing framework

Data Dictionary In addition to storing data, the DBMS also stores metadata – data about the data – in a data dictionary A standard name for each data item that applications use to access it Where the data item is stored (which file and where in the file) Security constraints – rules about who is allowed to access which data can be applied at the data item level; these are enforced by the DBMS Integrity constraints – which values are valid for data items; enforced by the DBMS

Abstraction Physical – where the data is actually stored (files) Logical (conceptual) – describes data and data relationships in the data View – targeted end-user interfaces to database that highlights some data, hides others, and may include virtual fields computed from the data. Data independence – changes at one abstraction layer should not impact other layers

Database Administrator (DBA) Coordinates all enterprise DBMS activities – Understands data resources and needs Database administrator's duties – Schema and physical definition, organization, and modification – Storage structure and access method – Specifying integrity constraints and security – Granting access – Monitors performance & maintenance DBA role – Varies from organization to organization

High-level View of DBMS Components Storage management – Data organization on secondary storage for processing queries efficiently Query processing component – Efficient query execution, algorithms for implementing relational operators Transaction management – Concurrency control; failure and recovery Application interface – APIs, query tools, administration tools

Application Architectures Two-tier architecture – Client programs communicate with DBMS server Three-tier architecture – Client programs communicate with middleware server – Middleware server communicates with DBMS server

Relational DBMS Relational database – Consist of a set of relations (tables) Languages – Programming languages – DBMS languages Data Definition Language (DDL) Data Manipulation Language (DML) Database application programming

A Sample Relational Database tagnameagemom 12Fido209 09Fifi807 07Fiona12null 13Frisky109 Dogaddresssizecolor 13 Elm bigred 4 Ash smallwhite 7 Oak biggreen DogHouseaddresstag 13 Elm 12 4 Ash 09 7 Oak 07 null13 HouseToDog

Data Definition Language (DDL) Notation to specify database schema – Includes storage space, usage, indexes, keys create table dog ( tag integer, name char(10), age integer, mom integer )

Data Manipulation Language (DML) Language for accessing and manipulating data – DMLs also known as query languages SQL, the most widely used query language Two classes of languages – Procedural or Low-level User specifies what data is required and how to get those data – Nonprocedural or High-level User specifies what data is required without specifying how to get the data SQL is predominantly non-procedural

Data Manipulation is CRUD Create Retrieve Update Delete insert into dog (tag,name,age) values (12, ‘Lady’, 5) select name from dog where age > 3 update dog set age = age + 1 where tag = 12 delete from dog where age > 1

DBMS Programming Application programs access DBMS via – Language extensions to allow embedded SQL – Application program interfaces (APIs) ODBC/JDBC that allow SQL queries to be sent to the DBMS

Drawbacks The additional DBMS software layer comes with some costs Each application incurs overhead by going through the database to access its data Applications cannot optimize access to data stored in the files on their own Designers and programmers need more (albeit standardized) knowledge of how a DBMS works Additional layer can lead to increased complexity (at least in the short term) Database and file systems are not “either / or” solutions, more like “both / and”

Recap - Concerns Data redundancy Data inconsistency Security constraints Integrity constraints Concurrency constraints

Problems Data redundancy - wasted space Update issues – every copy of the data needs to be modified Data inconsistency – sometimes every copy is not modified Data access issues (getting to just the right data) “There’s no program for that.” Data isolation – merging data from disparate sources together