Post on 26-Jan-2021
transcript
Database Overview Evolution of Database System
Evolution of Database
1960s 1970s 1980s 1990s 2000+
File-based
Hierarchical
Network
Relational Object-oriented
Web-based
Entity-Relationship
NoSQL NewSQL
2 Database Design
http://www.mongodb.com/nosql-explainedhttp://en.wikipedia.org/wiki/NewSQL
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)
3 Database Design
File System: Example
Database Systems: Design, Implementation, & Management: Rob & Coronel
4 Database Design
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
5 Database Design
File System: Problem Case
CUSTOMER file AGENT file SALES file
A_Name (15 char)
Carol Johnson
A_Name (20 char)
Carol T. Johnson
AGENT (20 char)
Carol J. Smith
• Inconsistent field name, field size • inconsistent data values • data duplication
6 Database Design
Database System vs. File System
Database Systems: Design, Implementation, & Management: Rob & Coronel
7 Database 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
8 Database 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
9 Database 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
10 Database Design
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)
11 Database 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
12 Database 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
13 Database 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
14 Database 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
15 Database 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
16 Database 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
17 Database Design
http://en.wikipedia.org/wiki/Object_oriented_database
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
18 Database 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
19 Database 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
Client Initiates a Connection
Server Waits & Responds
to Incoming Connections
Web Client
(e.g. Chrome)
Web Server
(e.g. Apache)
HTTP request DB Server
(e.g. MySQL)
Database
Webpage
Data request
Retrieved data
20 Database 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
21 Database Design
MS Access Introduction
Database Design 22
MS Access: Overview MS Access
A Database Management System (DBMS) • designed to create applications that organize, store, retrieve, and
manipulate large collections of data.
GUI-driven with built-in automations Based on relational database theory
Theory & Practice Need a solid understanding of database theory and principles as well as DBMS skills to develop an effective database system.
DBMS expert ≠ Database Design expert
MS Access: Database Objects • Objects
– Tables store data – Forms display data
• for viewing, editing, entering – Reports summarize & present data
• forms can change data, but reports cannot.
– Queries manipulate data • combine, filter, modify, retrieve, etc.
– Macros are simplified programs that automate tasks. – Modules are Visual Basic for Application (VBA) programs.
• Object Views
– (Normal) View • the mode used to interact w/ the object & its data.
– Design view • the mode used to change the object design.
GCF LearnFree.org
http://www.gcflearnfree.org/access2010/2.4http://www.gcflearnfree.org/access2010/2.4
MS Access: User Interface
Database Design 25 GCF LearnFree.org
http://www.gcflearnfree.org/access2010/2.4http://www.gcflearnfree.org/access2010/3/full
MS Access: The Ribbon
Database Design 26
Common activities/commands organized by tabs & groups • Tabs → Groups → Commands
GCF LearnFree.org
Minimize Ribbon
http://www.gcflearnfree.org/access2010/2.4http://www.gcflearnfree.org/access2010/3/full
MS Access: Quick Access Toolbar
Database Design 27
Direct access to any command • Click Customize Quick Access Toolbar icon & select More Commands… • Right-click a command & click Add to Quick Access Toolbar
Right Click
http://widit.knu.ac.kr/~kiyang/teaching/gDB/vid/Access-quickAccessToolbar.mp4
MS Access: Navigation Pane
Database Design 28
Contains every object in the database • Objects are organized into groups by type • Double-click the object name to open • Right-click to rename • Press the delete key to delete objects • Click the double arrow
to minimize/maximize the navigation pane
MS Access: File Tab
Database Design 29
Shows general file commands • Recent → Recently open files • Options → Access options
Database OverviewEvolution of DatabaseDatabase: Historical RootsFile System: ExampleFile System: WeaknessFile System: Problem CaseDatabase System vs. File SystemHierarchical Data Model 계층적 데이터 모델Hierarchical Data Model 계층적 데이터 모델Network Data Model 네트워크 데이터 모델Relational Data Model 관계형 데이터 모델Relational Database: ExampleEntity Relationship ModelE-R Diagram: Chen ModelE-R Diagram: Crow’s Foot ModelE-R Model: Pros & ConsObject-Oriented Database 객체지향OO Database Model vs. E-R ModelObject-Oriented Database: Pros & ConsWeb DatabaseNoSQL/NewSQL DatabaseMS AccessMS Access: OverviewMS Access: Database ObjectsMS Access: User InterfaceMS Access: The RibbonMS Access: Quick Access ToolbarMS Access: Navigation PaneMS Access: File Tab