Presentation is loading. Please wait.

Presentation is loading. Please wait.

Database Development Lifecycle

Similar presentations


Presentation on theme: "Database Development Lifecycle"— Presentation transcript:

1 Database Development Lifecycle
Database Design Database Development Lifecycle

2 Why Database? From Data …
Simple dumping of data on the storage medium provides little value. CUSTOMER id name address country pay due 100 J. Rodney 12 High Rd., Leeds UK 33.75 523 E. Hoover 52 Ln. Muncie, IN USA 0 800 M. Old Box. 9, Miami, FL USA 12.50 PRODUCT product_id title cost sale price Joy of Living Learning Judo Your Dream Home SALE id zone product_id quantity total price 100 UK 523 USMW 100 UK 800 USSE Database System

3 Why Database? … Towards Information
The goal is not just storage of data, but ultimately the extraction of information to support decision making by key people and groups in the organization. Data  Information (e.g. reports, tabulations, graphs)  Decisions * - Summarized fact or information - * In the UK ZONE, Joy of Living had a sale of $38.50, and Learning Judo had a sale of $25. ** UK ZONE had the total sale of $63.50, USMW had $24.25, and USSE had $19.25. SALE by Zone** Title UK USMW USSE total Joy of Living Learning Judo Your Dream Home Database System

4 Why Database? … For Decision Making
(DBMS) Database Systems: Design, Implementation, & Management: Rob & Coronel Database System

5 Database Design: Intro
Database System Provides data collection 수집, storage 저장, and retrieval 검색 Composed of people, hardware, software, database(s), procedures, and application programs Database Design Foundation of a successful database system 휼륭한 DB system의 기반 Should promote Data integrity 데이터 무결성 Prevent data redundancies 반복 & anomalies 오류 Must yield a database that is efficient in its provision of data access 효율적인 데이터 접근 meet the objectives of the database system and serves the needs of its users DB시스템의 목적과 이용자의 요구 만족 Database Design

6 Data Redundancy (데이터의 반복성)
Database Systems: Design, Implementation, & Management: Rob & Coronel Database Design

7 Database Systems: Design, Implementation, & Management: Rob & Coronel
Data Anomaly 데이터의 오류 Update anomalies 수정오류 - Data inconsistencies resulting from “islands of information” problem Insertion Anomalies 삽입오류 - Creation of bogus record when adding new data (e.g. new agent) Deletion Anomalies 삭제오류 - Unintended deletion of related data (e.g. agent data when deleting customer) Database Systems: Design, Implementation, & Management: Rob & Coronel Database System

8 Database Development Database Construction DB 구축
System Construction 시스템 구축 System Analysis 시스템 분석 Establish the need and extent of an information system System Development 시스템 개발 Design & implement the information system Database Construction DB 구축 Planning & Analysis 기획분석 Analyze data environment & Define database objectives Database Development Design 설계 Construct a data model & establish data management processes Implementation 구현 Create the storage structure (e.g., tables) & user interface for data management Maintenance 유지보수 (corrective & adaptive) modification, backup & recovery Database Design

9 Database Development Lifecycle
Planning & Analysis 기획분석 Design 개념 설계 Implementation 구현 Maintenance 정비  Database Objectives Business Rules Data Model Modification Backup & Recovery Security DBMS Tables User Interface SQL Queries Database Design

10 Database Lifecycle: Planning & Analysis
Database Design Implement Maintain Define Database Objectives DB목적 설정 What will the database (DB) do? What tasks 업무/작업 will the DB support? Data Entry, Update, Search What information will the DB provide? Q & A Study the DB environment How does the business operate? Who are the players? How does the information flow? Examine the data Sample Q&A: Recipe Database Query Result recipe name recipe info (ingredients, steps, …) ingredients recipe names  recipe info main ingredient (meat, fish, …) recipe type (diet, diabetic, …) recipe category (soup, desert, …) budget, time Database Design

11 Database Lifecycle: Database Design
Planning & Analysis Database Design Implement Maintain Create a Database Model DB 모델 제작 that can achieve the database objectives Conceptual Design – ER Modeling Logical Design – Relational Schema & Normalization Physical Design – Schema into DBMS (Table Creation) What is a Database Model? Abstract data structure of the real-world items 실제 항목의 추상적인 data 구조 Need to understand how business works & what role data plays E-R model verification E-R model is verified against proposed system processes. End-user views and required transactions Access paths, security, concurrency control Business-imposed data requirements and constraints Database Design

12 Database Design: Conceptual Design
Planning & Analysis Database Design Implement Maintain Conceptual Design Steps Enumerate the Business Rules How does the business work? Construct the Data Model Identify Entities, Relationship, Attributes & draw an ER Diagram Verify the Data Model Does the data model support the fulfillment of database objectives? E-R model verification E-R model is verified against proposed system processes. End-user views and required transactions Access paths, security, concurrency control Business-imposed data requirements and constraints Database Design

13 Conceptual Design: Business Rules
Planning & Analysis Database Design Implement Maintain What 조직 내 정확한 업무 기술 Brief, precise, and unambiguous descriptions of operations in an organization Based on policies, procedures, or principles within a specific organization Why 정확한 data model 설계를 위하여 Promote creation of an accurate data model Enhance understanding & facilitate communication How (sources) Interviews, Documentation, Observation Examples A painter can draw many paintings. A painting is drawn by a single painter. A teacher can teach 0 to 6 courses per semester. A course is taught by a single teacher. A student must take at least 1 and at most 6 courses. A course can have 10 to 40 students. 1 M PAINTER draws PAINTING 1 M TEACHER teaches COURSE N takes M STUDENT Database Design

14 Conceptual Design: Data Modeling
Planning & Analysis Database Design Implement Maintain What is Data Modeling? A model is a representation of reality that retains only carefully selected essential details. Logical organization of data for optimum information extraction and data manipulation Why Model? 주요한 data 요소들을 이해하고 인식하기 위하여 To understand and identify essential data elements How? Identify Entities 개체, Attributes 속성, & Relationships 관계 ID STUDENT GPA Major Name TEACHER Office Database Design

15 Database Design: Relational Schema
Planning & Analysis Database Design Implement Maintain Specification of the overall structure/organization of a database Relations Entities w/ Attributes Primary key Unique identifier Foreign key PK of related table Relationship type (connectivity) 1:M, M:N, 1:1 Database Design

16 Database Design: Data Dictionary
Planning & Analysis Database Design Implement Maintain Detailed description of a data model Lists attribute names and characteristics for each table in the database Blueprint & documentation of a database Database Systems: Design, Implementation, & Management: Rob & Coronel Database Design

17 Database Design: Lifecycle
Define Database Objectives DB 목적 설정 What information will the database provide? Examine the Data Environment data 환경 조사 How does the business work & what data are used? Construct the Data Model data모델 구축 Enumerate the Business Rule. Identify Entities & Relationships between them. Define Attributes (and primary & foreign keys) for each entity Create an initial E-R diagram Normalize the entities 개체 정규화 Process for evaluating & designing good table structures Verify the Data Model data모델 확인 Does the data model support the database objectives? If not, modify the Data Model Database Design

18 Data Model: University Example
Database Design

19 Appendix Database System

20 DB Design - Conceptual Design: Data Analysis & Requirements
Planning & Analysis Database Design Implement Maintain DB Design - Conceptual Design: Data Analysis & Requirements Discover the data that can be transformed into desired information Information Need What kind of information is needed? what output (queries & reports) must be generated by the system? User Characteristics Who will use the information? How will information be used? Information Source Where is the information to be found? How is the information to be extracted? Information Constitution What data elements are needed to produce the information? What are the data attributes and relationships? What data transformations are to be used to produce the information? Develop a thorough understanding of the company’s data Flow, uses, characteristics Data Flow Diagram Data sources Interviews, direct observation Business Rules Narrative description of policy & procedures Database System

21 Conceptual Design – ER Modeling: Business Rules
Planning & Analysis Database Design Implement Maintain Conceptual Design – ER Modeling: Business Rules What: Brief, precise, and unambiguous descriptions of operations in an organization based on policies, procedures, or principles within a specific organization help to create and enforce actions within that organization’s environment apply to any organization that stores and uses data to generate information Why: Enhance understanding & facilitate communication Standardize company’s view of data Constitute a communications tool between users and designers Allow designer to understand business process as well as the nature, role, and scope of data Promote creation of an accurate data model How (sources) Interviews Company managers, Policy makers, Department managers, End users Written documentation Procedures, Standards, Operations manuals Observation Business operations Examples A painter can draw many paintings. A painting is drawn by a single painter. A teacher can teach 0 to 6 courses per semester. A student must take at least 1 and at most 6 courses. Database System

22 Database Systems: Design, Implementation, & Management: Rob & Coronel
Planning & Analysis Database Design Implement Maintain Conceptual Design – ER Modeling: E-R Model Verification E-R model is verified against proposed system processes. Corroboration that intended processes can be supported by the database model Careful reevaluation of the entities and detailed examination of attributes Verification of business transactions as well as system and user requirements May reveal additional entity and attribute details. Verification process is iterative. identify ER model’s central entity identify modules/subsystems & components identify transaction requirements update/insert/delete/query/report user interface verify all processes against ER model make necessary changes repeat steps 2 through 5 E-R model is verified against proposed system processes. End-user views and required transactions Access paths, security, concurrency control Business-imposed data requirements and constraints Database Systems: Design, Implementation, & Management: Rob & Coronel Database System

23 DB Design - Conceptual Design: DBMS Selection
Planning & Analysis Database Design Implement Maintain DB Design - Conceptual Design: DBMS Selection What are the advantages & disadvantages? Cost purchase, maintenance, operational, training, etc. Features & Tools ease-of-use, performance, DB administration, etc. application development tools DB model hierarchical, RDB, Object-oriented, etc. Portability platform, O/S, SQL Hardware requirement processor, RAM Database System

24 DB Design: Logical & Physical Design
Planning & Analysis Database Design Implement Maintain DB Design: Logical & Physical Design Logical Design Translate conceptual design into internal model that maps objects in model to specific DBMS constructs From software independent to software dependent Detailed & functional descriptions of system components Specify system processes and I/O. e.g., table design, attribute definitions, access restrictions Physical Design Select the data storage and data access characteristics of the database More important in older hierarchical and network models Becomes more complex when data are distributed at different locations Can affect the database performance e.g. storage media, buffer size, etc. Designers favor software that hides physical details Database System

25 DB Lifecycle - Analysis: Feasibility Analysis
Planning & Analysis Database Design Implement Maintain DB Lifecycle - Analysis: Feasibility Analysis Technological Feasibility What hardware, software, and additional resources would be needed? What is available in-house? What has to be purchased? How will the new system be integrated? Operational Feasibility Who will design the system? Who will maintain the system? Who will do training or help-desk support? Can the available personnel provide the time? New personnel necessary? Economic Feasibility Expected cost of the overall project ($)? Software, hardware, application development, staff-time Hidden cost (unforeseen) Other costs What is the competition/comparable unit doing? Would data sharing among departments lead to additional expenses? Benefits How soon expected? Database System

26 DB Lifecycle - Design: Data Modeling
Planning & Analysis Database Design Implement Maintain DB Lifecycle - Design: Data Modeling What is Data Modeling? A model is a representation of reality that retains only carefully selected essential details. Logical organization of data for optimum information extraction and data manipulation Why Model? To understand and identify essential data elements To produce a representation that can be transformed into a schema How? Data modeling involves identifying entities, attributes, and relationships Database System

27 Exercises

28 ERD Tips one AAA does many BBB one BBB is done by many AAA
a CCC has several BBB each BBB belongs to one CCC a, an, each  one  1 some, several  many  M 1 M CCC has BBB N does a DDD owns one AAA each AAA is owned by one DDD M 1 1 DDD owns AAA

29 ERD example A professor teaches many students.
A student is taught by several professors. M N PROFESSOR teaches STUDENT A professor teaches many classes. A class is taught by a single professor. 1 M N M PROFESSOR teaches CLASS enrolls STUDENT A students enrolls in many classes. A class has many students. M N STUDENT enrolls CLASS

30 ERD example Chen ERD Crow’s Foot ERD M N PROFESSOR STUDENT 1 M M N
teaches STUDENT Chen ERD 1 M M N PROFESSOR teaches CLASS has STUDENT Crow’s Foot ERD PROFESSOR teaches CLASS has STUDENT

31 ERD Example Business Rules
A professor can teach many classes. A class is taught by one professor. A student can take many classes. A class can have many students. A course can generate many classes. A class is generated by one course. 1 M M N PROFESSOR teaches CLASS has STUDENT M generates 1 COURSE

32 Data Modeling Exercises
Draw an E-R Diagram of the data model described by the business rules below. One region can be the location for many stores. Each store is located in only one region. Each store employs one or more employees. Each employee is employed by one store. A job can be assigned to many employees. -- e.g., The "Sales Representative" job can be assigned to more than one employee at a time. Each employee can have only one job assignment. Draw an E-R Diagram of the data model described by the business rules below. One region can be the location for many stores. Each store is located in only one region. Each store employs one or more employees. Each employee is employed by one store. A job can be assigned to many employees. -- e.g., The "Sales Representative" job can be assigned to more than one employee at a time. Each employee can have only one job assignment. Draw an E-R Diagram of the data model described by the business rules below. One region can be the location for many stores. Each store is located in only one region. Each store employs one or more employees. Each employee is employed by one store. A job can be assigned to many employees. -- e.g., The "Sales Representative" job can be assigned to more than one employee at a time. Each employee can have only one job assignment. REGION JOB 1 1 is location for is assigned to M M 1 M STORE employees EMPLOYEE Database Design

33 Data Modeling Exercises
Identify the business rules and draw an E-R diagram of the situation described below. For each professor, there may be multiple advisees. A professor teaches many classes and a class is taught by one professor. Business Rules A professor can advise many students. A student is advised by one professor. A professor can teach many classes. A class is taught by one professor 1 M PROFESSOR teaches CLASS 1 advises M STUDENT Database Design

34 Data Modeling Exercises
Sample DB Create a data model (i.e. ERD) for the school database described below. DB will keep track of advising and class information. DB should provide following information. - The list of students advised for a given year & dates of advising sessions for each students - Course listing for each year & student grades for each class Create a data model (i.e. ERD) for the school database described below. DB will keep track of advising and class information. DB should provide following information. - The list of students advised for a given year & dates of advising sessions for each students - Course listing for each year & student grades for each class Create a data model (i.e. ERD) for the school database described below. DB will keep track of advising and class information. DB should provide following information. - The list of students advised for a given year & dates of advising sessions for each students - Course listing for each year & student grades for each class Create a data model (i.e. ERD) for the school database described below. DB will keep track of advising and class information. DB should provide following information. - The list of students advised for a given year & dates of advising sessions for each students - Course listing for each year & student grades for each class Business Rules A professor can advise many students. A student is advised by one professor. A professor can teach many classes. A class is taught by one professor. A student can take many classes. A class can have many students. A course can generate many classes. A class is generated by one course. A professor can meet many times with an advisee. A student can meet many times with the advisor. 1 M PROFESSOR teaches CLASS 1 1 N M 1 M ADVISING advises generates takes ENROLL M M M M 1 M 1 1 STUDENT COURSE Database Design


Download ppt "Database Development Lifecycle"

Similar presentations


Ads by Google