300 likes | 322 Views
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.
E N D
Database Overview What is Database? Database란 무엇인가
Database Intro: Why & How Database Design • 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? • How will information be extracted? • What data to collect, how & why? • Requirements • Identify the Context of data → Metadata • Organize 정리, 체계화, 조직화 → Structured Data 구조적 데이터 • Summarize 요약→ Information
Data → Information:1.Identify Context Database Design • Data • Obama, Barack H. 19610804 • Bush, George H W. 19240612 • Bush, George W. 19460706 • Clinton, William J. 19460819 • Carter, James E. 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 • Name (last name, first name middle initial), student ID
Data → Information:2.Organize Data Database Design • Identify metadata (metadata의 식별) • Identify additional data items ( data 식별을 위한 부가적 요소)
Data → Information:3.Summarize Enrollment Pie Chart Enrollment over Time 10% DS 30 Enrollment 15% ACCT 20 45% LIS 15% CS 15 10 15% TCOM 5 ACCT = Accounting CS = Computer Science DS = Data Science LIS = Library & Information Science TCOM = Telecommunication 0s 0f 1s 1f 2s 2f 3s 3f 4s 4f 5s 5f 6s Semester Database Design Patterns, Trends & Visualization
Database Intro: What Database Design • Function • Store 저장/ Retrieve 검색/ View검토data efficiently & effectively. • Characteristics • A collection of organized data relatedto a particular subject/purpose • Structured data 구조적 데이터, Security보안, Control통제 • DataBase Management System (DBMS) • (Data) Storage 저장, Processing 처리/가공, Retrieval 검색 • User Interface • Data Entry 데이터 입력, Search 입력, View/Report 검토/보고
Database: Definitions Database Design • Database • Collection of related data 관련된 데이터 and its metadata organized in a structuredformat구조적형식 • 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 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
Database System Environment • Hardware • Software - OS - DBMS - Applications • People • Procedures • Data Database Systems: Design, Implementation, & Management: Rob & Coronel Database System
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
Database: Historical Roots(기원) Database Design • 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)
File System: Example Database Systems: Design, Implementation, & Management: Rob & Coronel Database Design
File System: Weakness Database Design • 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
File System: Problem Case CUSTOMER file AGENT file SALES file AGENT (20 char) A_Name (15char) A_Name (20 char) Carol T. Johnson Carol J. Smith Carol Johnson • Inconsistent field name, field size • inconsistent data values • data duplication Database Design
Database System vs. File System Database Systems: Design, Implementation, & Management: Rob & Coronel Database Design
Hierarchical Data Model 계층적 데이터 모델 Database Systems: Design, Implementation, & Management: Rob & Coronel Database Design • 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
Hierarchical Data Model 계층적 데이터 모델 Database Design • 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
Network Data Model 네트워크 데이터 모델 Database Systems: Design, Implementation, & Management: Rob & Coronel Database Design • 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
Relational Data Model 관계형 데이터 모델 Database Design • Problems with legacy database systems • Requiredexcessive 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’sproposal • 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)
Relational Database: Example • Tables (i.e. Relations) • Provide a logical “human-level” view of the data and associationsamong groups of data • Organize data into rows행(records/tuples) and columns열(attributes) • Are related via shared attribute(s) Database Design
Entity Relationship Model Database Design • PeterChen’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 • Thingabout 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 • Associationsbetween 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
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 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 Database Design
E-R Model: Pros & Cons Database Design • 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
Object-Oriented Database 객체지향 Database Design • 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 ofattributes & 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
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
Object-Oriented Database: Pros & Cons Database Design • 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
Web Database Database Server Waits & Responds to Incoming Connections Client Initiates a Connection DBServer (e.g. MySQL) WebServer (e.g. Apache) WebClient (e.g. Chrome) HTTP request Data request Webpage Retrieved data Database Design • 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-Serverarchitecture • Server hosts database & DBMS (e.g., MySQL) • Client accesses the server for database use
NoSQL/NewSQL Database Database Design • 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