Top Banner
03/21/22 1 Yan Huang - CSCE4350 - Introduction Who is In Charge? Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment Or by appointment TA: Jason Powell TA: Jason Powell NTDP F236, TTh 12:00-2:00pm NTDP F236, TTh 12:00-2:00pm
23

7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

Dec 21, 2015

Download

Documents

Mabel George
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 1Yan Huang - CSCE4350 - Introduction

Who is In Charge?Who is In Charge?

Dr. Yan HuangDr. Yan Huang NTDP F251,TTh 1:00-2:00pmNTDP F251,TTh 1:00-2:00pm Or by appointmentOr by appointment

TA: Jason PowellTA: Jason Powell NTDP F236, TTh 12:00-2:00pmNTDP F236, TTh 12:00-2:00pm

Page 2: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 2Yan Huang - CSCE4350 - Introduction

BooksBooks

Text Book: Text Book: Database System Concepts, Database System Concepts, 66thth edition, ISBN: 0073523321 Publisher: edition, ISBN: 0073523321 Publisher: McGraw-Hill Science/Engineering/MathMcGraw-Hill Science/Engineering/Math

Supplement: Supplement: Elmasri, Navathe, Fundamentals Of Database Elmasri, Navathe, Fundamentals Of Database

Systems W/cd, 6rd, Addison Wesley, ISBNSystems W/cd, 6rd, Addison Wesley, ISBN:: 01360862090136086209

Hector Garcia-Molina, J. Ullman, J. Widom, Hector Garcia-Molina, J. Ullman, J. Widom, Database Systems - The Complete Book, Database Systems - The Complete Book, Prentice Hall, ISBN 0-13-031995-3. Prentice Hall, ISBN 0-13-031995-3.

Page 3: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 3Yan Huang - CSCE4350 - Introduction

Evaluation SchemeEvaluation Scheme

Exams 45%Exams 45% Homework 30%Homework 30% Project 20%Project 20% Class participation 5%Class participation 5% Pre-requisite: CSCE3110 (csci3400) data Pre-requisite: CSCE3110 (csci3400) data

structuresstructures

Page 4: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 4Yan Huang - CSCE4350 - Introduction

Topics to be CoveredTopics to be Covered

Conceptual Database DesignConceptual Database Design Relational Data ModelRelational Data Model SQLSQL Relation Database DesignRelation Database Design Access MethodsAccess Methods TransactionsTransactions XMLXML Data Warehousing/Data Mining (if time allows)Data Warehousing/Data Mining (if time allows) Big Data ManagementBig Data Management

Page 5: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 5Yan Huang - CSCE4350 - Introduction

Chapter 1: IntroductionChapter 1: Introduction

What is a DBMS?What is a DBMS? A little history of DBA little history of DB Major Components of a DBMSMajor Components of a DBMS Three Levels of AbstractionThree Levels of Abstraction

Page 6: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 6Yan Huang - CSCE4350 - Introduction

What is a DBMS?What is a DBMS?

DDataataBBase ase MManagement anagement SSystemystem A bunch of programsA bunch of programs Users use a language to ask questions Users use a language to ask questions

about data that a DBMS managesabout data that a DBMS manages DBMS understands the language and give DBMS understands the language and give

answers as fast as possibleanswers as fast as possible

Page 7: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 7Yan Huang - CSCE4350 - Introduction

HistoryHistory 1960s: network model (CODASYL) and hierarchical (IMS). 1960s: network model (CODASYL) and hierarchical (IMS). 1970: E.F. Codd’s seminal paper on relational model for 1970: E.F. Codd’s seminal paper on relational model for

databases databases 1970s: 1970s:

Ingres: Developed at UCB. This ultimately led to Ingres Corp., Ingres: Developed at UCB. This ultimately led to Ingres Corp., Sybase, MS SQL Server, Britton-Lee, Wang's PACE. Sybase, MS SQL Server, Britton-Lee, Wang's PACE.

System R: Developed at IBM San Jose and led to IBM's SQL/DS & System R: Developed at IBM San Jose and led to IBM's SQL/DS & DB2, Oracle, HP's Allbase, Tandem's Non-Stop SQL. DB2, Oracle, HP's Allbase, Tandem's Non-Stop SQL.

1976: P. Chen proposed the Entity-Relationship (ER) model 1976: P. Chen proposed the Entity-Relationship (ER) model 1980s: Commercialization of RDBMS, Oracle was the first1980s: Commercialization of RDBMS, Oracle was the first Early 1990s: OO databasesEarly 1990s: OO databases Mid-later 1990s: Web DB/data warehousing/data miningMid-later 1990s: Web DB/data warehousing/data mining

asp, Front Page, Java Servlets, jsp, JDBC, Enterprise Java Beans, asp, Front Page, Java Servlets, jsp, JDBC, Enterprise Java Beans, ColdFusion, Dream Weaver, Oracle Developer 2000/OLAPColdFusion, Dream Weaver, Oracle Developer 2000/OLAP

Earlier 2000s: consolidation of vendors, IBM (bought Informix), Earlier 2000s: consolidation of vendors, IBM (bought Informix), Microsoft, and Oracle. Microsoft, and Oracle.

Today: Big data: HardoopDB, Hbase, NoSQL, MongoDBToday: Big data: HardoopDB, Hbase, NoSQL, MongoDB

Page 8: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 8Yan Huang - CSCE4350 - Introduction

Worldwide Relational Database Management Systems 2007 Vendor Shares Full Report

Page 9: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 9Yan Huang - CSCE4350 - Introduction

DBMS

Architecture

Page 10: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 10Yan Huang - CSCE4350 - Introduction

Major Components of a Major Components of a DBMS DBMS

Query processor/QueryQuery processor/Query optimizeroptimizer Transaction managerTransaction manager Security/authorization managerSecurity/authorization manager Storage managerStorage manager

Page 11: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 11Yan Huang - CSCE4350 - Introduction

Query Processor/OptimizerQuery Processor/Optimizer

Decompose user queries into primitivesDecompose user queries into primitives Find the best way (IO efficient) to execute Find the best way (IO efficient) to execute

the querythe query Two kinds of queries:Two kinds of queries:

DML: data manipulation languageDML: data manipulation language Insert, delete, update, selectInsert, delete, update, select

DDL: data definition languageDDL: data definition language Create/drop/alter a table/index/viewCreate/drop/alter a table/index/view

Page 12: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 12Yan Huang - CSCE4350 - Introduction

Query LanguagesQuery Languages

SQL: standard/declarative language SQL: standard/declarative language ISO SQL-86, SQL-89, SQL-92, SQL-99, SQL-ISO SQL-86, SQL-89, SQL-92, SQL-99, SQL-

2003, SQL-2008, SQL-20112003, SQL-2008, SQL-2011 Example:Example:

SELECT name, ageSELECT name, age FROM studentFROM student WHERE gender = “female”WHERE gender = “female”

Supported by most DB vendorsSupported by most DB vendors

Page 13: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 13Yan Huang - CSCE4350 - Introduction

Query LanguagesQuery Languages

Relational algebra: formal, procedural Relational algebra: formal, procedural languagelanguage

Query by exampleQuery by example Domain relational calculusDomain relational calculus Tuple relational calculusTuple relational calculus DatalogDatalog

Page 14: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 14Yan Huang - CSCE4350 - Introduction

Transaction ManagerTransaction Manager

A transaction is unit of work either A transaction is unit of work either completed as a full or not at all – atomicity completed as a full or not at all – atomicity

Example transaction:Example transaction: Begin transactionBegin transaction A = A+10A = A+10 B = B – 10B = B – 10 End transactionEnd transaction

Other than atomicity, concurrency control Other than atomicity, concurrency control of transactions is also importantof transactions is also important

Page 15: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 15Yan Huang - CSCE4350 - Introduction

Concurrency ControlConcurrency Control

Informally, concurrency control means Informally, concurrency control means transactions executing currently should transactions executing currently should not produce results other than a serial not produce results other than a serial execution of the same transactionsexecution of the same transactions

What will happen without concurrency What will happen without concurrency control?control? Partial work will be seen by others – dirty readPartial work will be seen by others – dirty read Your work may be mistakenly over written by Your work may be mistakenly over written by

others – dirty writeothers – dirty write Example?Example?

Page 16: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 16Yan Huang - CSCE4350 - Introduction

Security/AuthorizationSecurity/Authorization

Define user rolesDefine user roles AdminAdmin UserUser

Define what users can access which part Define what users can access which part of the database system:of the database system: TablesTables IndicesIndices ViewsViews

Page 17: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 17Yan Huang - CSCE4350 - Introduction

Storage ManagerStorage Manager

Manage how data are stored in physical Manage how data are stored in physical space, e.g. diskspace, e.g. disk

How to read/write dataHow to read/write data We can also create indices on existing We can also create indices on existing

data data Storage of indices need to be managed as wellStorage of indices need to be managed as well

Page 18: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 18Yan Huang - CSCE4350 - Introduction

Application ArchitecturesApplication Architectures

Two-tier architecture: E.g. client programs using ODBC/JDBC to communicate with a database

Three-tier architecture: E.g. web-based applications, and applications built using “middleware”

Examples of Web application servers are Netscape Application Server, BEA Weblogic Enterprise, Borland AppServer and IBM's WebSphere Application Server

Page 19: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 19Yan Huang - CSCE4350 - Introduction

Benefits of DBMSs Compared Benefits of DBMSs Compared to File systemsto File systems

A unified database interface vs. A unified database interface vs. customized programs to interact with datacustomized programs to interact with data

Data integrityData integrity Currency controlCurrency control Specialized fast query answering system, Specialized fast query answering system,

e.g. indexing, query optimizatione.g. indexing, query optimization Example?Example?

Page 20: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 20Yan Huang - CSCE4350 - Introduction

Database ExamplesDatabase Examples

Human resource systemsHuman resource systems Library systemsLibrary systems Airline reservation systemsAirline reservation systems Product catalogsProduct catalogs Banking systemsBanking systems

Page 21: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 21Yan Huang - CSCE4350 - Introduction

Three Levels of AbstractionThree Levels of Abstraction

Conceptual layer – things and their Conceptual layer – things and their relationshipsrelationships

Logical layer – how things and their Logical layer – how things and their relationships are specified in a DBMSrelationships are specified in a DBMS

Physical layer – how things and their Physical layer – how things and their relationships are stored in physical space, relationships are stored in physical space, e.g. diskse.g. disks

The separation of these three layers allow The separation of these three layers allow the change of one or more layers without the change of one or more layers without affecting the other layersaffecting the other layers

Page 22: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 22Yan Huang - CSCE4350 - Introduction

Major Database Major Database Management Systems Management Systems

OracleOracle Microsoft SQL-serverMicrosoft SQL-server IBM DB2 + InformixIBM DB2 + Informix SybaseSybase MySQLMySQL PostgreSQLPostgreSQL XML databases – native xml and relational XML databases – native xml and relational

database extensions to support XMLdatabase extensions to support XML Most have object-relational database extensionsMost have object-relational database extensions Also some main memory databases: timesTen Also some main memory databases: timesTen

(acquired by Oracle recently)(acquired by Oracle recently)

Page 23: 7/2/2015 1Yan Huang - CSCE4350 - Introduction Who is In Charge? Dr. Yan Huang Dr. Yan Huang NTDP F251,TTh 1:00-2:00pm NTDP F251,TTh 1:00-2:00pm Or by appointment.

04/19/23 23Yan Huang - CSCE4350 - Introduction

In This Class, We WillIn This Class, We Will

Talk about query languages: relational algebra, SQLTalk about query languages: relational algebra, SQL A logical data layer: relational databaseA logical data layer: relational database How to design a relational databaseHow to design a relational database Basic concepts in object oriented and object Basic concepts in object oriented and object

relational databases (maybe)relational databases (maybe) XMLXML Access Control (indexing)Access Control (indexing) TransactionsTransactions Big data management basic conceptsBig data management basic concepts Introduction to data warehousing/data mining if Introduction to data warehousing/data mining if

time permitstime permits