School of Computer & Communication of LNPU 辽宁石油化工大学计算机与通信工程学院 刘旸 1 Chapter 2 Database Design 第二章 数据库设计 数据库管理系统 Database Management Systems.

Slides:



Advertisements
Similar presentations
All Powder Board and Ski
Advertisements

MS-Access XP Lesson 1. Introduction to MS-Access Database Management System Software (DBMS) Store data in databases Database is a collection of table.
BUSINESS DRIVEN TECHNOLOGY Plug-In T4 Designing Database Applications.
Access - Project 1 l What Is a Database? –A Collection of Data –Organized in a manner to allow: »Access »Retrieval »Use of That Data.
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.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
Chapter 2 Database System Design (part II)
8 November Forms and JavaScript. Types of Inputs Radio Buttons (select one of a list) Checkbox (select as many as wanted) Text inputs (user types text)
DATABASE APPLICATION DEVELOPMENT SAK 3408
A Guide to SQL, Seventh Edition. Objectives Understand the concepts and terminology associated with relational databases Create and run SQL commands in.
Database Design Chapter 2. Goal of all Information Systems  To add value –Reduce costs –Increase sales or revenue –Provide a competitive advantage.
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
Tables. Any database must contain one or more tables, because that’s where the data is stored. For any table there are two views provided: Datasheet view.
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.
DATABASE DESIGN LECTURE FOUR. Why Design a Database? Goal:  To produce an information system that adds value for the user  Reduce costs  Increase sales/revenue.
Copyright © 2003 by Prentice Hall Module 4 Database Management Systems 1.What is a database? Data hierarchy and data organization Field, record, file,
MIS 327 Database Management system 1 MIS 327: DBMS Dr. Monther Tarawneh Dr. Monther Tarawneh Week 6: Database Design: Example Rolling Thunder.
CITY UNIVERSITY / Vysoká Škola Manažmentu.:IS Information Systems :. © Martina Cesalova, 2005 MS ACCESS 1 Start Microsoft Access – New - Blank Database.
Module Title? Data Base Design 30/6/2007 Entity Relationship Diagrams (ERDs)
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 ( )
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.
Professor Michael J. Losacco CIS 1110 – Using Computers Database Management Chapter 9.
Copyright 2008 McGraw-Hill Ryerson 1 TECHNOLOGY PLUG-IN T5 DESIGNING DATABASE APPLICATIONS.
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.
Conceptual Database Design
11 3 / 12 CHAPTER Databases MIS105 Lec15 Irfan Ahmed Ilyas.
Introduction to MIS1 Copyright © 1998 by Jerry Post Introduction to MIS Chapter 3 Review Solving Business Problems.
Unit 3 Conceptual Data Modeling. Key Concepts Conceptual data modeling process Classes and objects Attributes Identifiers, candidate keys, and primary.
Relational Database. Database Management System (DBMS)
Database collection of related information stored in an organized form Database program software tool for storage & retrieval of that information.
© 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.
Databases,Tables and Forms Access Text by Grauer Chapters 1 & 2.
All Powder Board and Ski Microsoft Access Workbook Chapter 2: Database Design Jerry Post Copyright © 2003.
1 DATABASES. 2 Conventional Files versus the Database File – a collection of similar records.  Files are unrelated to each other except in the code of.
CSC 240 (Blum)1 Introduction to Access CSC 240 (Blum)2 Click on the Access desktop icon or go to Start/Programs/Microsoft Office/Microsoft Office.
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management
All Powder Board and Ski Oracle 9i Workbook Chapter 3: Database Tables Jerry Post Copyright © 2003.
CSC 240 (Blum)1 Introduction to Access CSC 240 (Blum)2 Click on the Access desktop icon or go to Start/All Programs/Microsoft Office/Microsoft Office.
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.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
Chapter 3: Modeling Data in the Organization. Business Rules Statements that define or constrain some aspect of the business Assert business structure.
Creating E/R Diagrams with SQL Server Management Studio, Writing SQL Queries D0ncho Minkov Telerik School Academy schoolacademy.telerik.com Technical Trainer.
DATABASE MIS 327 Advanced Database 1. DATABASE 2 Objectives  Why are models important in designing systems?  How do you begin a database project? 
Jerry Post Copyright © Database Management Systems Chapter 2 Database Design.
Chapter 1 Introduction.
Databases Chapter 9 Asfia Rahman.
© The McGraw-Hill Companies, All Rights Reserved APPENDIX C DESIGNING DATABASES APPENDIX C DESIGNING DATABASES.
Chapter 2: Database Design All Powder Board and Ski
Data Definition and Data Types
All Powder Board and Ski
Database System Design
Supplement: Using the DBDesign System
Presentation transcript:

School of Computer & Communication of LNPU 辽宁石油化工大学计算机与通信工程学院 刘旸 1 Chapter 2 Database Design 第二章 数据库设计 数据库管理系统 Database Management Systems

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 2 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.

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 3 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 辽宁石油化工大学计算机与通信工程学院 刘旸 4 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 辽宁石油化工大学计算机与通信工程学院 刘旸 5 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 辽宁石油化工大学计算机与通信工程学院 刘旸 6 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 辽宁石油化工大学计算机与通信工程学院 刘旸 7 Entities/Classes Customer CustomerID LastName FirstName Phone Address City State ZIP Code Name Properties Add Customer Delete Customer Methods (optional for database)

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 8 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 辽宁石油化工大学计算机与通信工程学院 刘旸 9 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 辽宁石油化工大学计算机与通信工程学院 刘旸 10 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 辽宁石油化工大学计算机与通信工程学院 刘旸 11 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 辽宁石油化工大学计算机与通信工程学院 刘旸 12 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 辽宁石油化工大学计算机与通信工程学院 刘旸 13 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 辽宁石油化工大学计算机与通信工程学院 刘旸 14 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 辽宁石油化工大学计算机与通信工程学院 刘旸 15 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 辽宁石油化工大学计算机与通信工程学院 刘旸 16 Association Details: Aggregation Sale SaleDate Employee Item Description Cost * * contains  Aggregation: the Sale consists of a set of Items being sold.

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 17 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 辽宁石油化工大学计算机与通信工程学院 刘旸 18 Association Details: Generalization Animal DateBorn Name Gender Color ListPrice Mammal LitterSize TailLength Claws Fish FreshWater ScaleCondition Spider Venomous Habitat {disjoint}

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 19 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 辽宁石油化工大学计算机与通信工程学院 刘旸 20 Multiple Parents Vehicle Human Powered MotorizedOn-RoadOff-Road CarBicycle or

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 21 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 辽宁石油化工大学计算机与通信工程学院 刘旸 22 Defining Packages for High-Level Views Purchase Animals Purchase Merchandise Sell Animals Sell Merchandise EmployeeSupplierCustomer

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 23 PetStore Overview Class Diagram Animal CustomerSupplier Merchandise Animal Purchase Merchandise Purchase SaleEmployee * 1 * 1 1 ** 1 1 * * 1 * * * * *1*1

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 24 Pet Store Class Diagram: Access

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 25 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 辽宁石油化工大学计算机与通信工程学院 刘旸 26 Data Type Sizes AccessSQL ServerOracle Text fixed variable Unicode memo Text Memo char, varchar nchar, nvarchar text CHAR VARCHAR2 NVARCHAR2 LONG Number Byte (8 bits) Integer (16 bits) Long (32 bits) (64 bits) Fixed precision Float Double Currency Yes/No Byte Integer Long NA 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 辽宁石油化工大学计算机与通信工程学院 刘旸 27 Computed Attributes Denote computed values with a preceding slash (/). Employee Name DateOfBirth /Age Phone … {Age = Today - DateOfBirth}

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 28 Event Examples  Business Event  Item is sold.  Decrease Inventory count.  Data Event  Inventory drops below preset level.  Order more inventory.  User Event  User clicks on icon.  Send purchase order to supplier. ON (QuantityOnHand < 100) THEN Notify Purchasing Manager Trigger

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 29 Event Triggers  Business Process: Ship Product  Trigger: Inventory Change  Executes function/trigger in Inventory object. Order … ShipOrder … Inventory … Subtract Analyze … 1. Subtract(Prod, Qty sold) 1.1 Analyze (Product) Purchase … Reorder … Reorder (Product, quantity) low  Object: Inventory  Property: Current Inventory.  Function: Update Inventory.  Trigger: On Update, call Analyze function.  Process: Analyze Inventory  Function: Determine need to reorder.  Trigger: Generate new order. Inventory … Subtract Analyze …

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 30 Design Importance: Large Projects  Design is harder on large projects.  Communication with multiple users.  Communication between IT workers.  Need to divide project into pieces for teams.  Finding data/components.  Staff turnover--retraining.  Need to monitor design process.  Scheduling.  Evaluation.  Build systems that can be modified later.  Documentation.  Communication/underlying assumptions and model.

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 31 Large Projects  Project planning software  Schedules  Gantt charts  CASE tools  Groupware tools  Track changes  Document work  Track revisions  Project Teams  Divide the work  Fit pieces together  Evaluate progress  Standards  Design  Templates  Actions  Events  Objects Naming convention Properties

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 32 CASE Tools  Computer-Aided Software Engineering  Diagrams (linked)  Data Dictionary  Teamwork  Prototyping Forms Reports Sample data  Code generation  Reverse Engineering  Examples  Rational Rose  Sterling COOL: Dat COOL: Jex (UML)  Oracle  IBM

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 33 Rolling Thunder: Top-Level SalesAssembly PurchasingLocation Bicycle Employee

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 34 Rolling Thunder: Sales Customer CustomerID Phone FirstName LastName Address ZipCode CityID BalanceDue Customer Transaction CustomerID TransactionDate EmployeeID Amount Description Reference Retail Store StoreID StoreName Phone ContactFirstName ContactLastName Address ZipCode CityID Bicycle::Bicycle BicycleID … CustomerID StoreID … 1…1 0…* 1…1 0…* 0…1

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 35 Rolling Thunder: Bicycle Bicycle SerialNumber CustomerID ModelType PaintID FrameSize OrderDate StartDate ShipDate ShipEmployee FrameAssembler Painter Construction WaterBottleBrazeOn CustomName LetterStyleID StoreID EmployeeID TopTube ChainStay … 1…1 ModelType Description Paint PaintID ColorName ColorStyle ColorList DateIntroduced DateDiscontinued LetterStyle LetterStyleID Description BicycleTubeUsed SerialNumber TubeID Quantity BikeParts SerialNumber ComponentID SubstituteID Location Quantity DateInstalled EmployeeID 1…* 0…* 1…1 0…* 1…1

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 36 Rolling Thunder: Assembly Bicycle::BikeParts SerialNumber ComponentID... 1…1 Component ComponentID ManufacturerID ProductNumber Road Category Length Height Width Description ListPrice EstimatedCost QuantityOnHand ComponentName AssemblyOrder Description GroupComponents GroupID ComponentID Groupo GroupID GroupName BikeType Bicycle:: BicycleTubeUsed SerialNumber TubeID Quantity TubeMaterial TubeID Material Description Diameter … 0…* 1…1 0…* 1…1 0…* 1…1 0…* 1…1

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 37 Rolling Thunder: Purchasing PurchaseOrder PurchaseID EmployeeID ManufacturerID TotalList ShippingCost Discount OrderDate ReceiveDate AmountDue 1…1 PurchaseItem PurchaseID ComponentID PricePaid Quantity QuantityReceived Manufacturer ManufacturerID ManufacturerName ContactName Phone Address ZipCode CityID BalanceDue ManufacturerTrans ManufacturerID TransactionDate Reference EmployeeID Amount Description Assembly:: Component ComponentID ManufacturerID ProductNumber 0…* 1…1 0…* 1…1 1…* 0…*

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 38 Rolling Thunder: Location City CityID ZipCode City State AreaCode Population1990 Population1980 Country Latitude Longitude Sales:: Customer CustomerID … CityID Sales:: RetailStore StoreID … CityID Employee:: Employee EmployeeID … CityID Purchasing:: Manufacturer ManufacturerID … CityID 0…* 1…1 0…* StateTaxRate State TaxRate 1…1 0…1

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 39 Rolling Thunder: Employee Employee EmployeeID TaxpayerID LastName FirstName HomePhone Address ZipCode CityID DateHired DateReleased CurrentManager SalaryGrade Salary Title WorkArea Bicycle:: Bicycle SerialNumber … EmployeeID ShipEmployee FrameAssembler Painter Bicycle:: BikeParts SerialNumber ComponentID … EmployeeID Purchasing:: PurchaseOrder PurchaseID … EmployeeID 1…1 0…* 1…1 0…* manager manages  worker 0…* 0…1

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 40 CustomerID Phone FirstName LastName Address ZipCode CityID BalanceDue Customer CustomerID TransDate EmployeeID Amount Description Reference CustomerTrans StoreID StoreName Phone ContacFirstName ContactLastName Address Zipcode CityID RetailStore State TaxRate StateTaxRate SerialNumber CustomerID ModelType PaintID FrameSize OrderDate StartDate ShipDate ShipEmployee FrameAssembler Painter Construction WaterBottle CustomName LetterStyleID StoreID EmployeeID TopTube ChainStay HeadTubeAngle SeatTueAngle ListPrice SalePrice SalesTax SaleState ShipPrice FramePrice ComponentList Bicycle CityID ZipCode City State AreaCode Population1990 Population1980 Country Latitude Longitude Customer ModelType Description ComponentID ModelType Paint EmployeeID TaxpayerID LastName FirstName HomePhone Address ZipCode CityID DateHired DateReleased CurrentManager SalaryGrade Salary Title WorkArea Employee SerialNumber TubeID Quantity BicycleTube ModelType MSize TopTube ChainStay TotalLength GroundClearance HeadTubeAngle SeatTubeAngle ModelSize LetterStyle Description LetterStyle PurchaseID EmployeeID ManufacturerID TotalList ShippingCost Discount OrderDate ReceiveDate AmountDue PurchaseOrder SerialNumber TubeName TubeID Length BikeTubes SerialNumber ComponentID SubstituteID Location Quantity DateInstalled EmployeeID BikeParts PurchaseID ComponentID PricePaid Quantity QuantityReceived PurchaseItem ManufacturerID ManufacturerName ContactName Phone Address ZipCode CityID BalanceDue Manufacturer CompGroup GroupName BikeType Year EndYear Weight Groupo ComponentID ManufacturerID ProductNumber Road Category Length Height Width Weight Year EndYear Description ListPrice EstimatedCost QuantityOnHand Component ManufacturerID TransactionDate EmployeeID Amount Description Reference ManufacturerTrans TubeID Material Description Diameter Thickness Roundness Weight Stiffness ListPrice Construction TubeMaterial GroupID ComponentID GroupCompon ComponentName AssemblyOrder Description ComponentName PaintID ColorName ColorStyle ColorList DateIntroduced DateDiscontinued Rolling Thunder Combined

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 41 Rolling Thunder: Combined

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 42 Application Design  Simple form based on one table (Animal).  But also need lookup tables for Category and Breed.

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 43 Appendix: DB Design System   Students and instructors need only an Internet connection and a Java-enabled Web browser.  Instructor can sign up free by sending to: post.com  Instructors set up the class and select assignments.  Students create accounts and work on the assignments.  The system provides immediate feedback in the form of comments and questions for each proposed table.

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 44 Appendix: Typical Customer Order

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 45 Appendix: DB Design Screen Menu Drawing area Title box (can be moved) Feedback window Scroll bars to display more of the drawing area Column list Status line

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 46 Appendix: Adding a Table and a Key  Right click in the main drawing window and select the option to Add table.  Right click the gray bar at the top of the table, select the Rename table option and enter “Customer”  Drag the Generate Key item onto the new Customer table.  Right click on the new column name, select the Rename option and enter “CustomerID”

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 47 Appendix: Two Tables  The Customer table has a generated key of CustomerID  Each column in the table represents data collected for each customer.  Each column depends completely on the primary key.  Each Order is identified by a unique OrderID generated by the database system.  The CustomerID column is used because the customer number can be used to look up the corresponding data in the Customer table.

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 48 Appendix: Relationships—Linking Tables  Drag the CustomerID column from the Customer table and drop it on the CustomerID column in the Orders table.  For the Min value in Customer, select One instead of Optional.  Click the OK button to accept the relationship definition.

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 49 Appendix: Creating Problems

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 50 Appendix: Detecting Problems (Grading) Double click a line to mark the errors.

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 51 Appendix: Testing a Change  Attempted fix  Make the relationship many-to-many  Make OrderID a key  But, the score went down!!!

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 52 Appendix: A Solution  The intermediate table OrderItem converts the many-to-many relationship into two one-to-many relationships.  Both OrderID and ItemID are keys, indicating that each order can have many items, and each item can be sold on many orders.

DATABASE 辽宁石油化工大学计算机与通信工程学院 刘旸 53 Appendix: Data Types Right click the column names and set the data type.