Download ppt

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Oracle Database wikipedia , lookup

IMDb wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Concurrency control wikipedia , lookup

Database wikipedia , lookup

Relational model wikipedia , lookup

Clusterpoint wikipedia , lookup

ContactPoint wikipedia , lookup

Database model wikipedia , lookup

Transcript
Database Overview
What is Database?
Database란 무엇인가
Database Intro: Why & How

Data vs. Information
Data is a collection of facts.
Information is data processed for knowledge.

Changing data into information
Organize data so that it can be viewed in a useful form.
What form will the derived information take?
2. How will information be extracted?
1. What data to collect, how & why?
3.
Requirements
•
•
•
Database Design
Identify the Context of data → Metadata
Organize 정리, 체계화, 조직화 → Structured Data 구조적 데이터
Summarize 요약 → Information
2
Data → Information: 1.Identify Context

Data
Obama, Barack H.
Bush, George H W.
Bush, George W.
Clinton, William J.
Carter, James E.

19610804
19240612
19460706
19460819
19241001
Context
Living presidents, United States, 2016/1/1
•
Name (last name, first name middle initial), birthdate (YYYYMMDD)
Class Roster, Database Design Course, LIS Department, KNU, Spring 2016
•
Database Design
Name (last name, first name middle initial), student ID
3
Data → Information: 2.Organize Data


Identify metadata (metadata의 식별)
Course Title
Database System
Course ID
gDB-s16
Credit Hours
3.0
Class Time
Monday 7-9:30 p.m.
Semester
Spring 2017
Instructor
Yang, Kiduk
Department
Library & Information Science
College
School of Social Science
University
Kyungpook National University
Identify additional data items ( data 식별을 위한 부가적 요소)
Lname
Fname
Init
Stud_ID
Major
Level
GPA
Obama
Barack
H
19610804
LIS
MS1
3.8
Bush
George
HW
19240612
TCOM
MS1
2.1
Bush
George
W
19460706
ACCT
MS2
3.0
Clinton
William
J
19460819
CS
PHD1
3.9
Carter
James
E
19241001
LIS
MS2
3.7
Database Design
4
Data → Information: 3.Summarize

Patterns, Trends & Visualization
Enrollment Pie Chart
10%
DS
15%
CS
30
20
45%
LIS
15%
TCOM
ACCT = Accounting
CS = Computer Science
DS = Data Science
LIS = Library & Information Science
TCOM = Telecommunication
Database Design
Enrollment
15%
ACCT
Enrollment over Time
15
10
5
0s 0f 1s 1f 2s 2f 3s 3f 4s 4f 5s 5f 6s
Semester
5
Database Intro: What

Function


Store 저장 / Retrieve 검색 / View 검토 data
efficiently & effectively.
Characteristics
A collection of organized data
related to a particular subject/purpose
•
Structured data 구조적 데이터, Security 보안, Control 통제
DataBase Management System (DBMS)
•
(Data) Storage 저장, Processing 처리/가공, Retrieval 검색
User Interface
•
Database Design
Data Entry 데이터 입력, Search 입력, View/Report 검토/보고
6
Database: Definitions

Database 
Collection of related data 관련된 데이터 and its metadata
organized in a structured format 구조적 형식
for optimized information management 정보 관리

Database Management System (DBMS) 
Software that enables
easy creation 구축, modification 변경, & access 접속 of databases
for efficient and effective database management 데이터베이스 관리

Database System 
Integrated system 통합 시스템 of
hardware, software, data, procedures, & people
that define 결정 and regulate 규제
the collection, storage, management, & use of data
within a database environment 데이터베이스 환경
Database Design
7
Database Management System
 Software that enables easy creation 구축, modification 변경, & access 접속 of
databases for efficient and effective database management 데이터베이스 관리
→ Manages interaction between end users and database
이용자와 DB사이의 상호 작용 관리
Database Systems: Design, Implementation, & Management: Rob & Coronel
Database Design
8
Database System Environment
 Hardware
 Software
- OS
- DBMS
- Applications
 People
 Procedures
 Data
Database Systems: Design, Implementation, & Management: Rob & Coronel
Database System
9
Database Overview
Evolution of Database System
Evolution of Database
Database 발전
1960s
1970s
1980s
1990s
2000+
File-based
Hierarchical
Network
Relational
Object-oriented
Entity-Relationship
Web-based
NoSQL
NewSQL
Database Design
11
Database: Historical Roots (기원)

Manual File System
To keep track of data
Used tagged file folders in a filing cabinet
Organized according to expected use
•
e.g. file per customer
Easy to create, but hard to
locate data
• aggregate/summarize data
•

Computerized File System
To accommodate the data growth and information need
Manual file system structures were duplicated in the computer
Data Processing (DP) specialists wrote customized programs to
write, delete, update data (i.e. management)
• extract and present data in various formats (i.e. report)
•
Database Design
12
File System: Example
Database Systems: Design, Implementation, & Management: Rob & Coronel
Database Design
13
File System: Weakness

Weakness
“Islands of data” in scattered file systems 분산된 파일시스템.

Problems
Duplication 중복
• Same data may be stored in multiple files
Inconsistency 불일치
• Same data may be stored with different values/formats
Rigidity 경직성
• Requires customized programming to implement any changes
• Cannot do ad-hoc queries 즉석질의 불가

Implications
Waste of space
Data inaccuracies 오류
High overhead 간접비용 of data manipulation and maintenance
Database Design
14
File System: Problem Case
CUSTOMER file
AGENT file
A_Name (15 char)
A_Name (20 char)
Carol Johnson
Carol T. Johnson
SALES file
AGENT (20 char)
Carol J. Smith
• Inconsistent field name, field size
• inconsistent data values
• data duplication
Database Design
15
Database System vs. File System
Database Systems: Design, Implementation, & Management: Rob & Coronel
Database Design
16
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
Database Design
17
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


Structural Dependence 구조 의존


Data access requires physical storage path
Complex Implementation 복잡한 구현


Did not allow Many-to-Many (M:N) relations
Required in-depth knowledge of physical data storage
Lack of Standards 표준 부족

Database Design
Limited portability
18
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
Database Design
19
Relational Data Model 관계형 데이터 모델

Problems with legacy database systems
Required excessive effort to maintain
• Data manipulation (programs) too dependent on physical file structure
Hard 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)
Database Design
20
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_ID
1224
4556
1225
4558
Agent_ID
Customer_ID Last_Name
1224 Vira
1225 Davies
Database Design
Last_Name
23 Sturm
25 Long
First_Name
Dyne
Tricia
23
25
First_Name
David
Kyle
Phone
334-5678
556-3421
Phone
Account_Balance
678-9987
1223.95
556-3342
234.25
21
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
Database Design
22
E-R Diagram: Chen Model

Entity 개체


Relationship 관계


represented by a rectangle with its
name in capital letters.
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
Database Design
23
E-R Diagram: Crow’s Foot Model

Entity 개체


Relationship 관계


represented by a rectangle with its
name in capital letters.
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
Database Design
24
E-R Model: Pros & Cons

Advantages

Exceptional conceptual simplicity



Integration with the relational database model


Easily viewed and understood representation of database
Facilitates database design and management
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

Database Design
Hard to include attributes in ERD
25
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

Database Design
attributes and methods of a class are inherited by its descendent classes
26
OO Database Model vs. E-R Model
OODBM:
- can accommodate relationships within a object
- objects to be used as building blocks for autonomous structures
Database Systems: Design, Implementation, & Management: Rob & Coronel
Database Design
27
Object-Oriented Database: Pros & Cons

Advantages

Semantic representation of data



Modularity, reusability, inheritance
Ability to handle



Fuller and more meaningful description of data via object
Complex data
Sophisticated information requirements
Disadvantages

Lack of standards


Complex navigational data access


Class hierarchy traversal
Steep learning curve


No standard data access method
Difficult to design and implement properly
High system overhead

Database Design
Slow transactions
28
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
Client
Server
Initiates a Connection
Waits & Responds
to Incoming Connections
Database
Web
Client
HTTP request
Web
Server
Data request
DB
Server
(e.g. Chrome)
Webpage
(e.g. Apache)
Retrieved data
(e.g. MySQL)
Database Design
29
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
→
Database Design
30