Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 ·...
Transcript of Database Overviewwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/2.DB... · 2020-03-25 ·...
Database OverviewEvolution of Database System
Evolution of Database
1960s 1970s 1980s 1990s 2000+
File-based
Hierarchical
Network
Relational
Object-oriented
Web-based
Entity-Relationship
NoSQLNewSQL
2Database Design
Database발전
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
File System: Example
Database Systems: Design, Implementation, & Management: Rob & Coronel
4Database Design
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
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
Database System vs. File System
Database Systems: Design, Implementation, & Management: Rob & Coronel
7Database Design
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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