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
Embed
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.
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
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
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
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.
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
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
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
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
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
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
04/19/23 8Yan Huang - CSCE4350 - Introduction
Worldwide Relational Database Management Systems 2007 Vendor Shares Full Report
04/19/23 9Yan Huang - CSCE4350 - Introduction
DBMS
Architecture
04/19/23 10Yan Huang - CSCE4350 - Introduction
Major Components of a Major Components of a DBMS DBMS
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
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-
Query by exampleQuery by example Domain relational calculusDomain relational calculus Tuple relational calculusTuple relational calculus DatalogDatalog
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
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
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
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
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
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?
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
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
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)
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