database overviewwidit.knu.ac.kr/~kiyang/teaching/gdb/s16/lectures/2.gdb... · 2016. 3. 24. ·...

29
Database Overview Evolution of Database System

Upload: others

Post on 26-Jan-2021

4 views

Category:

Documents


0 download

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