Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 ·...

22
Database Overview Evolution of Database System

Transcript of Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 ·...

Page 1: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

Database OverviewEvolution of Database System

Page 2: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

Evolution of Database

1960s 1970s 1980s 1990s 2000+

File-based

Hierarchical

Network

Relational

Object-oriented

Web-based

Entity-Relationship

NoSQLNewSQL

2Database Design

Database발전

Page 3: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

Database: Historical Roots (기원)

Manual File SystemTo keep track of dataUsed tagged file folders in a filing cabinetOrganized according to expected use• e.g. file per customerEasy to create, but hard to• locate data• aggregate/summarize data

Computerized File SystemTo accommodate the data growth and information needManual file system structures were duplicated in the computerData Processing (DP) specialists wrote customized programs to• write, delete, update data (i.e. management)• extract and present data in various formats (i.e. report)

3Database Design

Page 4: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

File System: Example

Database Systems: Design, Implementation, & Management: Rob & Coronel

4Database Design

Page 5: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

File System: Problem Case

AGENT file SALES file

A_Name (20 char)

Carol T. Johnson

AGENT (20 char)

Carol J. Smith

• inconsistent data values • Inconsistent field name, field size• data duplication

5Database Design

CUSTOMER file

A_Name (15 char)

Carol Johnson

Page 6: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

File System: Weakness Weakness

“Islands of data” in scattered file systems 분산된파일시스템.

ProblemsDuplication 중복• Same data may be stored in multiple filesInconsistency 불일치• Same data may be stored with different values/formats Rigidity 경직성• Requires customized programming to implement any changes• Cannot do ad-hoc queries 즉석질의불가

ImplicationsWaste of space Data inaccuracies 오류High overhead 간접비용 of data manipulation and maintenance

6Database Design

Page 7: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

Database System vs. File System

Database Systems: Design, Implementation, & Management: Rob & Coronel

7Database Design

Page 8: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

Hierarchical Data Model 계층적데이터모델

Hierarchical Model To manage large amount of data for complex manufacturing projects

• Information Management System developed by Rockwell & IBM

→ Files connected in Parent-Child (1:M) relationships• 1 Parent - Multiple Children

Database Systems: Design, Implementation, & Management: Rob & Coronel

8Database Design

Page 9: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

Hierarchical Data Model 계층적데이터모델

Strengths Conceptual Simplicity 개념적단순성

• Groups of data could be related to each other• Related data could be viewed together

Centralization of data• Reduced redundancy 중복 and promoted consistency 일관성

Weaknesses Limited representation of data relationships

• Did not allow Many-to-Many (M:N) relations Structural Dependence 구조의존

• Data access requires physical storage path Complex Implementation 복잡한구현

• Required in-depth knowledge of physical data storage Lack of Standards 표준부족

• Limited portability

9Database Design

Page 10: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

Network Data Model 네트워크데이터모델

Network Model→ Extension of Hierarchical Model 계층모델의확장형

• Composed of Owner-Member (Parent-Child) sets

→ To represent Many-to-Many (M:N) relationships• Multiple Parents – Multiple Children

Database Systems: Design, Implementation, & Management: Rob & Coronel

10Database Design

Page 11: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

Relational Data Model 관계형데이터모델

Problems with legacy database systemsRequired excessive effort to maintain• Data manipulation (programs) too dependent on physical file structureHard to manipulate by end-users• No capacity for ad-hoc query (must rely on DB programmers).

Relational Model E. F. Codd’s proposal

• Separated the notion of physical representation (machine-view) from logical representation (human-view)

→ Eliminated pointers and used tables to represent data• Considered ingenious but computationally impractical in 1970

Dominant database model of today• Separation of design from implementation → Flexible• Ad-hoc queries → Structured Query Language (SQL)

11Database Design

Page 12: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

Relational Database: Example

Tables (i.e. Relations) Provide a logical “human-level” view of the data

and associations among groups of data→ Organize data into rows 행 (records/tuples) and columns 열 (attributes)→ Are related via shared attribute(s)

Customer_ID Customer_Account Agent_ID1224 4556 231225 4558 25

Agent_ID Last_Name First_Name Phone23 Sturm David 334-567825 Long Kyle 556-3421

Customer_ID Last_Name First_Name Phone Account_Balance1224 Vira Dyne 678-9987 1223.951225 Davies Tricia 556-3342 234.25

12Database Design

Page 13: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

Entity Relationship Model Peter Chen’s Landmark Paper (1976)

“The Relationship Model: Toward a Unified View of Data”

Graphical representation of entities and their relationships

Based on Entity, Attributes & Relationships Entity → e.g. EMPLOYEE

• Thing about which data are to be collected and stored Attributes → e.g. SSN, last name, first name

• Characteristics of the entity

Relationships → i.e. 1:M, M:N, 1:1

• Associations between entities

Complements the relational data model concepts• Helps to visualize structure and content of data groups• Entity Relationship Diagram (ERD)

→ Tool for conceptual data modeling→ Formalizes a way to describe relationships between groups of data

13Database Design

Page 14: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

E-R Diagram: Chen Model

Entity 개체 represented by a rectangle with its

name in capital letters.

Relationship 관계 represented by an active or passive

verb inside the diamond that connects the related entities.

Connectivity 관계유형 i.e., types of relationship written next to each entity box.

Database Systems: Design, Implementation, & Management: Rob & Coronel

14Database Design

Page 15: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

E-R Diagram: Crow’s Foot Model

Entity 개체 represented by a rectangle with its

name in capital letters.

Relationship 관계 represented by an active or passive

verb that connects the related entities.

Connectivity 관계유형 indicated by symbols next to

entities.• 2 vertical lines for 1• “crow’s foot” for M

Database Systems: Design, Implementation, & Management: Rob & Coronel

15Database Design

Page 16: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

E-R Model: Pros & Cons Advantages

Exceptional conceptual simplicity• Easily viewed and understood representation of database• Facilitates database design and management

Integration with the relational database model• Enables better database design via conceptual modeling

Disadvantages Incomplete model on its own

• Limited representational power→ cannot model data constraints not tied to entity relationships e.g. attribute constraints

→ cannot represent relationships between attributes within entities• No data manipulation language (e.g. SQL)

Loss of information content• Hard to include attributes in ERD

16Database Design

Page 17: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

Object-Oriented Database 객체지향 Semantic Data Model (SDM)

► Modeled both data and their relationships in a single structure (object)• Developed by Hammer & McLeod in 1981

Object-oriented concepts became popular in 1990s► Modularity facilitated program reuse and construction of complex structures► Ability to handle complex data types (e.g. multimedia data)

Object-Oriented Database Model (OODBM)► Maintains the advantages of the ER model but adds more features► Object = entity + relationships (between & within entity)

• consists of attributes & methods→ methods are all relevant operations that can be performed on an object

► Class ⇒ Template for objects• e.g. EMPLOYEE class = (employ1 object, employ2 object, …)• organized in a class hierarchy

→ e.g. PERSON > EMPLOYEE, CUSTOMER

► Incorporates the notion of inheritance• attributes and methods of a class are inherited by its descendent classes

17Database Design

Page 18: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

OO Database Model vs. E-R Model

Database Systems: Design, Implementation, & Management: Rob & Coronel

OODBM: - can accommodate relationships within a object- objects to be used as building blocks for autonomous structures

18Database Design

Page 19: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

Object-Oriented Database: Pros & Cons

Advantages Semantic representation of data

• Fuller and more meaningful description of data via object Modularity, reusability, inheritance Ability to handle

• Complex data• Sophisticated information requirements

Disadvantages Lack of standards

• No standard data access method Complex navigational data access

• Class hierarchy traversal Steep learning curve

• Difficult to design and implement properly High system overhead

• Slow transactions

19Database Design

Page 20: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

Web Database Not a database model, but a system

For storing information that can be accessed via Web That supports complex data types & relationships In a Client-Server architecture

• Server hosts database & DBMS (e.g., MySQL)• Client accesses the server for database use

ClientInitiates a Connection

ServerWaits & Responds

to Incoming Connections

WebClient

(e.g. Chrome)

WebServer

(e.g. Apache)

HTTP request DBServer

(e.g. MySQL)

Database

Webpage

Data request

Retrieved data

20Database Design

Page 21: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

NoSQL/NewSQL Database NoSQL (Not Only SQL)

Non-relational: e.g., objects instead tables

For big (unstructured, distributed) data & real-time Web applications More scalable & better performance Flexible & agile development

NewSQL NoSQL + Relational

→ Consistent→ Scalable→ Flexible

21Database Design

Page 22: Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 · Database: Historical Roots (기원) . Manual File System. To keep track of data Used tagged

History overview: Hierarchical: Rock&IBM Network: wiki, Understanding the Network DB Relational: wiki, Codd paper, Understanding Relational DB E-R: wiki, Chen ERD O-O: Overview, Problems, OO problems, ad hoc query in OO: Gbook, Demise NoSQL: wiki, SQL vs NoSQL NewSQL: Next evolution in DB

Database System 22