Presentation is loading. Please wait.

Presentation is loading. Please wait.

2004.09.20 - SLIDE 1IS 257 – Fall 2004 Database Design: Logical Model Design & Access DB Creation University of California, Berkeley School of Information.

Similar presentations


Presentation on theme: "2004.09.20 - SLIDE 1IS 257 – Fall 2004 Database Design: Logical Model Design & Access DB Creation University of California, Berkeley School of Information."— Presentation transcript:

1 2004.09.20 - SLIDE 1IS 257 – Fall 2004 Database Design: Logical Model Design & Access DB Creation University of California, Berkeley School of Information Management and Systems SIMS 257: Database Management

2 2004.09.20 - SLIDE 2IS 257 – Fall 2004 Lecture Outline Review –Database Design, Conceptual Model –Object-Oriented Modeling Logical Design for the Diveshop database Access Database Creation

3 2004.09.20 - SLIDE 3IS 257 – Fall 2004 Lecture Outline Review –Database Design, Conceptual Model –Object-Oriented Modeling Logical Design for the Diveshop database Access Database Creation

4 2004.09.20 - SLIDE 4IS 257 – Fall 2004 Database Design Process Conceptual Model Logical Model External Model Conceptual requirements Conceptual requirements Conceptual requirements Conceptual requirements Application 1 Application 2Application 3Application 4 Application 2 Application 3 Application 4 External Model External Model External Model Internal Model

5 2004.09.20 - SLIDE 5IS 257 – Fall 2004 Object-Oriented Modeling Becoming increasingly important as –Object-Oriented and Object-Relational DBMS continue to proliferate –Databases become more complex and have more complex relationships than are easily captured in ER or EER diagrams (Most UML examples based on McFadden, “Modern Database Management”, 5 th edition)

6 2004.09.20 - SLIDE 6IS 257 – Fall 2004 DiveShop ER Diagram Customer No ShipVia Dest Sites BioSite ShipVia ShipWrck BioLife DiveStok DiveItem DiveOrds DiveCust Customer No ShipVia Order No Order No Item No Item No Destination Name Destination Species No Site No Destination no Site No Destination no Species No Site No 1 1 1 1 1 1 1/n 1 1n n n n n n n n 1

7 2004.09.20 - SLIDE 7IS 257 – Fall 2004 Entities Customer Dive Order Line item Shipping information Dive Equipment Stock/Inventory Dive Locations Dive Sites Sea Life Shipwrecks

8 2004.09.20 - SLIDE 8IS 257 – Fall 2004 What must be calculated? Total price for equipment rental? Total price for equipment sale? Total price of an order? –Vacation price –Equipment (rental or sale) –Shipping

9 2004.09.20 - SLIDE 9IS 257 – Fall 2004 What is Missing?? Not really an “enterprise-wide” database –No personnel Sales people Dive masters Boat captains and crew payroll –Local arrangements Dive Boats Hotels –Suppliers/Wholesalers for dive equipment Orders for new/replacement equipment –No history (only current or last order)

10 2004.09.20 - SLIDE 10IS 257 – Fall 2004 Object-Oriented Modeling Becoming increasingly important as –Object-Oriented and Object-Relational DBMS continue to proliferate –Databases become more complex and have more complex relationships than are easily captured in ER or EER diagrams (Most UML examples based on McFadden, “Modern Database Management”, 5 th edition)

11 2004.09.20 - SLIDE 11IS 257 – Fall 2004 Object Benefits Encapsulate both data and behavior Object-oriented modeling methods can be used for both database design and process design –Real-World applications have more than just the data in the database they also involve the processes, calculations, etc performed on that data to get real tasks done –OOM can be used for more challenging and complex problems

12 2004.09.20 - SLIDE 12IS 257 – Fall 2004 Unified Modeling Language (UML) Combined three competing methods Can be used for graphically depicting –Software designs and interaction –Database –Processes

13 2004.09.20 - SLIDE 13IS 257 – Fall 2004 CLASS A class is a named description of a set of objects that share the same attributes, operations, relationships, and semantics. –An object is an instance of a class that encapsulates state and behavior. These objects can represent real-world things or conceptual things. –An attribute is a named property of a class that describes a range of values that instances of that class might hold. –An operation is a named specification of a service that can be requested from any of a class's objects to affect behavior in some way or to return a value without affecting behavior

14 2004.09.20 - SLIDE 14IS 257 – Fall 2004 UML Relationships An relationship is a connection between or among model elements. The UML defines four basic kinds of relationships: –Association –Dependency –Generalization –Realization

15 2004.09.20 - SLIDE 15IS 257 – Fall 2004 UML Diagrams The UML defines nine types of diagrams: –activity diagram –class diagram Describes the data and some behavioral (operations) of a system –collaboration diagram –component diagram –deployment diagram –object diagram –sequence diagram –statechart diagram –use case diagram

16 2004.09.20 - SLIDE 16IS 257 – Fall 2004 Class Diagrams A class diagram is a diagram that shows a set of classes, interfaces, and/or collaborations and the relationships among these elements.

17 2004.09.20 - SLIDE 17IS 257 – Fall 2004 UML Class Diagram DIVEORDS Order No Customer No Sale Date Shipvia PaymentMethod CCNumber No of People Depart Date Return Date Destination Vacation Cost CalcTotalInvoice() CalcEquipment() Class Name List of Attributes List of operations

18 2004.09.20 - SLIDE 18IS 257 – Fall 2004 Object Diagrams 307:DIVORDS Order No = 307 Customer No = 1480 Sale Date = 9/1/99 Ship Via = UPS PaymentMethod = Visa CCNumber = 12345 678 90 CCExpDate = 1/1/01 No of People = 2 Depart Date = 11/8/00 Return Date = 11/15/00 Destination = Fiji Vacation Cost = 10000

19 2004.09.20 - SLIDE 19IS 257 – Fall 2004 Differences from Entities in ER Entities can be represented by Class diagrams But Classes of objects also have additional operations associated with them

20 2004.09.20 - SLIDE 20IS 257 – Fall 2004 Operations Three basic types for database –Constructor –Query –Update

21 2004.09.20 - SLIDE 21IS 257 – Fall 2004 Associations An association is a relationship that describes a set of links between or among objects. An association can have a name that describes the nature of this relationship. You can put a triangle next to this name to indicate the direction in which the name should be read.

22 2004.09.20 - SLIDE 22IS 257 – Fall 2004 Associations An association contains an ordered list of association ends. –An association with exactly two association ends is called a binary association –An association with more than two ends is called an n-ary association.

23 2004.09.20 - SLIDE 23IS 257 – Fall 2004 Associations: Unary relationships Person Is-married-to 0..1 Employee manages * 0..1 manager

24 2004.09.20 - SLIDE 24IS 257 – Fall 2004 Associations: Binary Relationship Employee Parking Place One-to-one Is-assigned0..1 Product Line Product One-to-many contains1 * StudentCourse Many-to-many Registers-for* *

25 2004.09.20 - SLIDE 25IS 257 – Fall 2004 Associations: Ternary Relationships VendorWarehouse * * Supplies Part *

26 2004.09.20 - SLIDE 26IS 257 – Fall 2004 Association Classes StudentCourse Registers-for * * Registration ________________ Term Grade ________________ CheckEligibility() Computer Account _________________ acctID Password ServerSpace *0..1 issues

27 2004.09.20 - SLIDE 27IS 257 – Fall 2004 Derived Attributes, Associations, and Roles Student _________ name ssn dateOfBirth /age Course Offering ____________ term section time location Registers-for * 1 Course ____________ crseCode crseTitle creditHrs * * Scheduled-for {age = currentDate – dateOfBirth} * * /Takes /participant Derived attribute Derived role Derived association

28 2004.09.20 - SLIDE 28IS 257 – Fall 2004 Generalization Employee ____________ empName empNumber address dateHired ____________ printLabel() Hourly Employee _______________ HourlyRate _______________ computeWages() Salaried Employee _______________ Annual Sal stockoption _______________ Contributepension() Consultant _______________ contractNumber billingRate _______________ computeFees()

29 2004.09.20 - SLIDE 29IS 257 – Fall 2004 Other Diagramming methods SOM (Semantic Object Model) Object Definition Language (ODL) –Not really diagramming Access relationships display Hybrids

30 2004.09.20 - SLIDE 30IS 257 – Fall 2004 Application of SOM to Diveshop DIVECUST Address Street City StateProvince ZIPPostalCode Country Phone FirstContact Name DIVEORDS 1.1 1.N 1.1

31 2004.09.20 - SLIDE 31IS 257 – Fall 2004 DIVEORDS id OrderNo SaleDate SHIPVIA DESTINATION DIVEITEM PaymentMethod CCNumber CCExpDate NoOfPeople DepartDate ReturnDate VacationCost DIVECUST

32 2004.09.20 - SLIDE 32IS 257 – Fall 2004 Lecture Outline Review –Database Design, Conceptual Model –Object-Oriented Modeling Logical Design for the Diveshop database Access Database Creation

33 2004.09.20 - SLIDE 33IS 257 – Fall 2004 Database Design Process Conceptual Model Logical Model External Model Conceptual requirements Conceptual requirements Conceptual requirements Conceptual requirements Application 1 Application 2Application 3Application 4 Application 2 Application 3 Application 4 External Model External Model External Model Internal Model

34 2004.09.20 - SLIDE 34IS 257 – Fall 2004 DiveShop ER Diagram Customer No ShipVia Dest Sites BioSite ShipVia ShipWrck BioLife DiveStok DiveItem DiveOrds DiveCust Customer No ShipVia Order No Order No Item No Item No Destination Name Destination Species No Site No Destination no Site No Destination no Species No Site No 1 1 1 1 1 1 1/n 1 1n n n n n n n n 1

35 2004.09.20 - SLIDE 35IS 257 – Fall 2004 Logical Design: Mapping to a Relational Model Each entity in the ER Diagram becomes a relation. A properly normalized ER diagram will indicate where intersection relations for many-to-many mappings are needed. Relationships are indicated by common columns (or domains) in tables that are related. We will examine the tables for the Diveshop derived from the ER diagram

36 2004.09.20 - SLIDE 36IS 257 – Fall 2004 Customer = DIVECUST

37 2004.09.20 - SLIDE 37IS 257 – Fall 2004 Dive Order = DIVEORDS

38 2004.09.20 - SLIDE 38IS 257 – Fall 2004 Line item = DIVEITEM

39 2004.09.20 - SLIDE 39IS 257 – Fall 2004 Shipping information = SHIPVIA

40 2004.09.20 - SLIDE 40IS 257 – Fall 2004 Dive Equipment Stock= DIVESTOK

41 2004.09.20 - SLIDE 41IS 257 – Fall 2004 Dive Locations = DEST

42 2004.09.20 - SLIDE 42IS 257 – Fall 2004 Dive Sites = SITE

43 2004.09.20 - SLIDE 43IS 257 – Fall 2004 Sea Life = BIOLIFE

44 2004.09.20 - SLIDE 44IS 257 – Fall 2004 BIOSITE -- linking relation

45 2004.09.20 - SLIDE 45IS 257 – Fall 2004 Shipwrecks = SHIPWRK

46 2004.09.20 - SLIDE 46IS 257 – Fall 2004 Mapping to Other Models Hierarchical –Need to make decisions about access paths Network –Need to pre-specify all of the links and sets Object-Oriented –What are the objects, datatypes, their methods and the access points for them Object-Relational –Same as relational, but what new datatypes might be needed or useful (more on OR later)

47 2004.09.20 - SLIDE 47IS 257 – Fall 2004 Advantages of RDBMS Possible to design complex data storage and retrieval systems with ease (and without conventional programming). Support for ACID transactions –Atomic –Consistent –Independent –Durable

48 2004.09.20 - SLIDE 48IS 257 – Fall 2004 Advantages of RDBMS Support for very large databases Automatic optimization of searching (when possible) RDBMS have a simple view of the database that conforms to much of the data used in businesses. Standard query language (SQL)

49 2004.09.20 - SLIDE 49IS 257 – Fall 2004 Disadvantages of RDBMS Until recently, no real support for complex objects such as documents, video, images, spatial or time-series data. (ORDBMS add support for these). Often poor support for storage of complex objects from OOP languages (Disassembling the car to park it in the garage) Still no efficient and effective integrated support for things like text searching within fields.

50 2004.09.20 - SLIDE 50IS 257 – Fall 2004 Lecture Outline Review –Database Design -- Object-Oriented Modeling Logical Design for the Diveshop database Normalization Access Database Creation

51 2004.09.20 - SLIDE 51IS 257 – Fall 2004 Database Creation in Access Simplest to use a design view –wizards are available, but less flexible Need to watch the default values Helps to know what the primary key is, or if one is to be created automatically –Automatic creation is more complex in other RDBMS and ORDBMS Need to make decision about the physical storage of the data

52 2004.09.20 - SLIDE 52IS 257 – Fall 2004 Database Creation in Access Some Simple Examples

53 2004.09.20 - SLIDE 53IS 257 – Fall 2004 Next Time Normalization and the Relational Model Expanding and redesigning DiveShop


Download ppt "2004.09.20 - SLIDE 1IS 257 – Fall 2004 Database Design: Logical Model Design & Access DB Creation University of California, Berkeley School of Information."

Similar presentations


Ads by Google