DATABASE MIS 327 Advanced Database 1. DATABASE 2 Objectives  Why are models important in designing systems?  How do you begin a database project? 

Slides:



Advertisements
Similar presentations
All Powder Board and Ski
Advertisements

BUSINESS DRIVEN TECHNOLOGY Plug-In T4 Designing Database Applications.
Module 4: Creating Data Types and Tables. Overview Creating Data Types Creating Tables Generating Column Values Generating Scripts.
Physical Database Design and Performance Dr. Mohamed Osman Ali Hegazi1.
Database Design & Mapping
Jerry Post McGraw-Hill/Irwin Copyright © 2005 by The McGraw-Hill Companies, Inc. All rights reserved. Database Management Systems Chapter 2 Database Design.
CS 432 Object-Oriented Analysis and Design
Chapter 2 Database System Design (part II)
DATABASE APPLICATION DEVELOPMENT SAK 3408
Database Design Chapter 2. Goal of all Information Systems  To add value –Reduce costs –Increase sales or revenue –Provide a competitive advantage.
Systems Analysis and Design in a Changing World, 6th Edition
Access Lecture 1 Database Overview and Creating Tables Create an Employee Table.
Jerry Post Copyright © 2013 DATABASE Database Management Systems Chapter 2 Database Design 1.
Object Oriented Data Base. Traditional Data Models : Hierarchical, Network (since mid- 60’s), Relational (since 1970 and commercially since 1982) Object.
APPENDIX C DESIGNING DATABASES
Chapter 14 & 15 Conceptual & Logical Database Design Methodology
Chapter 2 Database System Design Based on G. Post, DBMS: Designing & Building Business Applications University of Manitoba Asper School of Business 3500.
CSE314 Database Systems Data Modeling Using the Entity- Relationship (ER) Model Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
ระบบฐานข้อมูลขั้นสูง (Advanced Database Systems) Lecturer AJ. Suwan Janin Phone:
1 Copyright © 2010 Jerry Post. All rights reserved. Database System Design IS240 – DBMS Lecture #3 – M. E. Kabay, PhD, CISSP-ISSMP Assoc. Prof.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
1 ER Modeling BUAD/American University Entity Relationship (ER) Modeling.
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management Dave Salisbury ( )
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
MIS 301 Information Systems in Organizations Dave Salisbury ( )
MIS 301 Information Systems in Organizations Dave Salisbury ( )
CHAPTER:14 Simple Queries in SQL Prepared By Prepared By : VINAY ALEXANDER ( विनय अलेक्सजेंड़र ) PGT(CS),KV JHAGRAKHAND.
University of Manitoba Asper School of Business 3500 DBMS Bob Travica
1 All Powder Board and Ski SQL Server Workbook Chapter 2: Database Design Jerry Post Copyright © 2004.
Common Field Types Primary Key Descriptive Fields Foreign Key.
G045 Lecture 09 ERD Diagrams (Entity Relationship Diagrams) Mr C Johnston ICT Teacher
McGraw-Hill/Irwin © 2008 The McGraw-Hill Companies, All Rights Reserved Plug-In T5: Designing Database Applications Business Driven Technology.
1.NET Web Forms Business Forms © 2002 by Jerry Post.
SQL Data Definition Language (DDL) Using Microsoft SQL Server 1SDL Data Definition Language (DDL)
11 3 / 12 CHAPTER Databases MIS105 Lec15 Irfan Ahmed Ilyas.
Chapter 12: Designing Databases
1 Relational Databases and SQL. Learning Objectives Understand techniques to model complex accounting phenomena in an E-R diagram Develop E-R diagrams.
Unit 3 Conceptual Data Modeling. Key Concepts Conceptual data modeling process Classes and objects Attributes Identifiers, candidate keys, and primary.
Entity-Relationship (ER) Modelling ER modelling - Identify entities - Identify relationships - Construct ER diagram - Collect attributes for entities &
© 2007 by Prentice Hall1-1 Chapter 1 Introduction to Relational Database Systems and Oracle 10g Introduction to Oracle 10g James Perry and Gerald Post.
SYSTEMSDESIGNANALYSIS 1 Chapter 22 Object-Oriented Design Jerry Post Copyright © 1997.
Component 4/Unit 6b Topic II Relational Databases Keys and relationships Data modeling Database acquisition Database Management System (DBMS) Database.
All Powder Board and Ski Microsoft Access Workbook Chapter 2: Database Design Jerry Post Copyright © 2003.
Relational Databases. Relational database  data stored in tables  must put data into the correct tables  define relationship between tables  primary.
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management
CS263 Lecture 5: Logical Database Design Can express the structure of a relation by a Tuple, a shorthand notation Name of the relation is followed (in.
GLOBEX INFOTEK Copyright © 2013 Dr. Emelda Ntinglet-DavisSYSTEMS ANALYSIS AND DESIGN METHODSINTRODUCTORY SESSION EFFECTIVE DATABASE DESIGN for BEGINNERS.
IMS 4212: Data Modeling—Attributes and Domains 1 Dr. Lawrence West, Management Dept., University of Central Florida Attributes and Domains.
Data Modeling Yong Choi School of Business CSUB. Part # 2 2 Study Objectives Understand concepts of data modeling and its purpose Learn how relationships.
MIS 301 Information Systems in Organizations Dave Salisbury ( )
Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin APPENDIX C DESIGNING DATABASES APPENDIX C DESIGNING DATABASES.
The Entity-Relationship Model, P. I R. Nakatsu. Data Modeling A data model is the relatively simple representation, usually graphic, of the structure.
Database design Using Access 2007
Creating E/R Diagrams with SQL Server Management Studio, Writing SQL Queries D0ncho Minkov Telerik School Academy schoolacademy.telerik.com Technical Trainer.
Jerry Post Copyright © Database Management Systems Chapter 2 Database Design.
Standards and Conventions
2b. Create an Access Database Lingma Acheson Department of Computer and Information Science IUPUI CSCI N207 Data Analysis with Spreadsheets 1.
Creating Database Objects
Databases Chapter 9 Asfia Rahman.
Business System Development
Managing Tables, Data Integrity, Constraints by Adrienne Watt
Module 2: Creating Data Types and Tables
Lecture 6 Data Model Design (continued)
Chapter 2: Database Design All Powder Board and Ski
Attributes and Domains
All Powder Board and Ski
What is Database Administration
Attributes and Domains
ICT Database Lesson 2 Designing a Database.
Creating Database Objects
Presentation transcript:

DATABASE MIS 327 Advanced Database 1

DATABASE 2 Objectives  Why are models important in designing systems?  How do you begin a database project?  How do you know what data to put in a database?  What is a class diagram (or entity-relationship diagram)?  Are more complex diagrams different?  What are the different data types?  What are events, and how are they described in a database design?  How are teams organized on large projects?  How does UML split a big project into packages?  What is an application?

DATABASE 3 Database System Design User views of data. Conceptual data model. Implementation (relational) data model. Physical data storage. Class diagram that shows business entities, relationships, and rules. List of nicely-behaved tables. Use data normalization to derive the list. Indexes and storage methods to improve performance. Patient(PatientID, LastName, FirstName, DateOfBirth,...) Visit(VisitID, PatientID, VisitDate, InsuranceCompany,...) PatientDiagnoses(VisitID, ICD9Diagnosis, Comments) VisitProcedures(VisitID, ICD9Procedure, EmployeeID, AmountCharged) ICD9DiagnosisCodes(ICD9Diagnosis, ShortDescription) ICD9ProcedureCodes(ICD9Procedure, ShortDescription) Employee(EmployeeID, LastName, FirstName, EmployeeCategory,...) EmployeeCategory(EmployeeCategory)

DATABASE 4 The Need for Design  Goal: To produce an information system that adds value for the user  Reduce costs  Increase sales/revenue  Provide competitive advantage  Objective: To understand the system  To improve it  To communicate with users and IT staff  Methodology: Build models of the system

DATABASE 5 Designing Systems  Designs are a model of existing & proposed systems  They provide a picture or representation of reality  They are a simplification  Someone should be able to read your design (model) and describe the features of the actual system.  You build models by talking with the users  Identify processes  Identify objects  Determine current problems and future needs  Collect user documents (views)  Break complex systems into pieces and levels

DATABASE 6 Design Stages  Initiation  Scope  Feasibility  Cost & Time estimates  Requirements Analysis  User Views & Needs Forms Reports  Processes & Events  Objects & Attributes  Conceptual Design  Models Data flow diagram Entity Relationships Objects  User feedback  Physical Design  Table definitions  Application development Queries Forms Reports Application integration  Data storage  Security  Procedures  Implementation  Training  Purchases  Data conversion  Installation  Evaluation & Review

DATABASE 7 Initial Steps of Design 1.Identify the exact goals of the system. 2.Talk with the users to identify the basic forms and reports. 3.Identify the data items to be stored. 4.Design the classes (tables) and relationships. 5.Identify any business constraints. 6.Verify the design matches the business rules.

DATABASE 8 Entities/Classes Customer CustomerID LastName FirstName Phone Address City State ZIP Code Name Properties Add Customer Delete Customer Methods (optional for database)

DATABASE 9 Tables and Relationships Customer CustomerID LastName FirstName Phone Address City State ZIP Code Sales SaleID SaleDate CustomerID 1 *

DATABASE 10 Definitions  Relational database: A collection of tables.  Table: A collection of columns (attributes) describing an entity. Individual objects are stored as rows of data in the table.  Property (attribute): a characteristic or descriptor of a class or entity.  Every table has a primary key.  The smallest set of columns that uniquely identifies any row  Primary keys can span more than one column (concatenated keys)  We often create a primary key to insure uniqueness (e.g., CustomerID, Product#,...) called a surrogate key. EmployeeIDTaxpayerIDLastNameFirstNameHomePhoneAddress CartomAbdul(603) South Street VenetiaanRoland(804) Paramaribo Lane JohnsonJohn(703) Main Street StenheimSusan(410) W. Maple Employee Properties Rows/Objects Class: Employee Primary key

DATABASE 11 Unified Modeling Language (UML) A relatively new method to design systems. Contains several types of diagrams: The class diagram is the most important for database design.

DATABASE 12 Definitions Entity:Something in the real world that we wish to describe or track. Class: Description of an entity, that includes its attributes (properties) and behavior (methods). Object:One instance of a class with specific data. Property:A characteristic or descriptor of a class or entity. Method:A function that is performed by the class. Association:A relationship between two or more classes. Entity:Customer, Merchandise, Sales Class: Customer, Merchandise, Sale Object:Joe Jones, Premium Cat Food, Sale #32 Property:LastName, Description, SaleDate Method:AddCustomer, UpdateInventory, ComputeTotal Association:Each Sale can have only one Customer. Pet Store Examples

DATABASE 13 Associations  General  One-to-one(1:1)  One-to-many(1:M)  Many-to-many(M:N)  Relationships represent business rules  Sometimes common-sense  Sometimes unique to an organization  Users often know current relationships, rarely future  Objects related to objects  An employee can work in only one department  Many departments can work on many different products  Objects related to properties  An employee can have only one name  Many employees can have the same last name 1* AnimalBreed ** performs  TasksEmp 1* places  SaleCust. places  1* Purch. Order Supplier  sent to

DATABASE 14 Class Diagram  Class/Entity(box)  Association/Relationship  Lines  Minimum 0: optional 1: required  Maximum Arrows 1, M Customer Order Item 1 … 1 0 … * 1 … *..

DATABASE 15 Sample Association Rules (Multiplicity)  An order must have exactly 1 customer,  1 … 1Minimum of 1  1 … 1Maximum of 1  And at least one item.  1 … *Minimum of 1  1 … *Maximum many  An item can show up on no orders or many orders.  0 … *Optional (0)  0 … *Maximum many Customer Sale Item 1 … 1 0 … * 1 … *

DATABASE 16 N-ary Associations  Associations can connect more than two classes.  Associations can become classes.  Events  Many-to-many  Need to keep data  Example has two many-to-many relationships.  We know which components go into each product.  We know which employees worked on a product.  We need to expand the relationships to show which employees installed which components into each product.  Each assembly entry lists one employee, one component, and one product.  By appearing on many assembly rows, the many-to- many relationships can still exist. Employee Component Product * * **

DATABASE 17 N-ary Association Example Employee Name... Component CompID Type Name Product ProductID Type Name * ** Assembly EmployeeID CompID ProductID Multiplicity is defined as the number of items that could appear if the other N-1 objects are fixed. Almost always “many.” 1 1 1

DATABASE 18 Association Details: Aggregation Sale SaleDate Employee Item Description Cost * * contains  Aggregation: the Sale consists of a set of Items being sold.

DATABASE 19 Association Details: Composition Bicycle Size Model Type … Wheels Rims Spokes … 12 built from  Composition: aggregation where the components become the new object. Crank ItemID Weight Stem ItemID Weight Size Bicycle Size Model Type … Wheels Crank Stem Two ways to display composition.

DATABASE 20 Association Details: Generalization Animal DateBorn Name Gender Color ListPrice Mammal LitterSize TailLength Claws Fish FreshWater ScaleCondition Spider Venomous Habitat {disjoint}

DATABASE 21 Inheritance  Class Definition-- encapsulation  Class Name  Properties  Methods  Inheritance Relationships  Generic classes  Focus on differences  Polymorphism  Most existing DBMS do not handle inheritance Accounts AccountID CustomerID DateOpened CurrentBalance OpenAccount CloseAccount Class name Properties Methods Savings Accounts InterestRate PayInterest Checking Accounts MinimumBalance Overdrafts BillOverdraftFees CloseAccount Inheritance Polymorphism

DATABASE 22 Multiple Parents Vehicle Human Powered MotorizedOn-RoadOff-Road CarBicycle or

DATABASE 23 Association Details: Reflexive Relationship Employee manager 0…1 worker *  manages A reflexive relationship is an association from one class back to itself. In this example, an employee can also be a manager of other employees.

DATABASE 24 Creating a Class Diagram 1. Identify the primary classes and data elements. 2. Create the easy classes. 3. Create generated keys if necessary. 4. Add tables to split many-to-many relationships. 5. Check primary keys. 6. Verify relationships CustomerIDOrderID Each customer can place many orders (so key OrderID) Each order comes from one customer (do not key CustomerID) *OrderID CustomerID

DATABASE 25 Using Generated Keys

DATABASE 26 Defining Packages for High-Level Views Purchase Animals Purchase Merchandise Sell Animals Sell Merchandise EmployeeSupplierCustomer

DATABASE 27 PetStore Overview Class Diagram Animal CustomerSupplier Merchandise Animal Purchase Merchandise Purchase SaleEmployee * 1 * 1 1 ** 1 1 * * 1 * * * * *1*1

DATABASE 28 Pet Store Class Diagram: Access

DATABASE 29 Data Types (Domain)  Common data types  Text Fixed length1 to 64 K bytes Variable length1 to 2 G bytes  Memo/Note  Numeric Byte1 byte0 to 255 Boolean2 bytesTrue or False Integer2 bytes-32,768 to 32,767 (no decimal points) Long4 bytes-2,147,483,648 to 2,147,483,647 (no decimal points) Floating4 bytes E-45 to E38 Double8 bytes E-324 to E308 Currency8 bytes -922,377,203,685, to 922,377,203,685,  Date/Time 8 bytesJan 1, 100 to Dec 31, 9999  Objects/Raw binary Any type of data supported by the machine Pictures, sound, video...

DATABASE 30 Data Types GenericAccessSQL ServerOracle Text fixed variable Unicode memo XML Text Memo char varchar nchar, nvarchar text xml CHAR VARCHAR2 NVARCHAR2 LONG XMLType Number Byte (8 bits) Integer (16 bits) Long (32 bits) (64 bits) Fixed precision Float Double Currency Yes/No Byte Integer Long NA Decimal Float Double Currency Yes/No tinyint smallint int bigint decimal(p,s) real float money bit INTEGER NUMBER(38,0) NUMBER(p,s) NUMBER, FLOAT NUMBER NUMBER(38,4) INTEGER Date/Time Interval Date/Time NA datetime smalldatetime interval year … DATE INTERVAL YEAR … ImageOLE ObjectimageLONG RAW, BLOB AutoNumber Identity rowguidcol SEQUENCES ROWID

DATABASE 31 Data Type Sizes Data TypesSize AccessSQL ServerOracle Text (characters) fixed variable memo XML K 8 K, 4 K 2 G, 1 G 2G 2 K 4 K 2 G Numeric Byte (8 bits) Integer (16 bits) Long (32 bits) (64 bits) Fixed precision Float Double Currency Yes/No 255 +/ /- 2 B NA p: /- 1 E 38 +/- 1 E 308 +/ trillion 0/ / /- 2B 18 digits +/- 1 E 38, p: 1 to 38 +/- 1 E 38 +/- 1 E 308 +/ trillion (8 bytes) 0/1 38 digits p: 38 digits s: -84 to 127; p: 1 to digits Date/Time1/1/100 – 12/31/9999 (1 sec)1/1/1753 – 12/31/9999 (3 ms) 1/1/1900 – 6/6/2079 (1 min) 8 bytes 1/1/-4712, 1/31/9999 (sec) ImageOLE Object2 GB2 GB, 4 GB AutoNumberLong (2 B)2 B or 18 digits with bigintColumn: 38 digit maximum