* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download ppt
Oracle Database 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
Relational model wikipedia , lookup
Clusterpoint wikipedia , lookup
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