Presentation is loading. Please wait.

Presentation is loading. Please wait.

9-1 © Prentice Hall, 2007 Topic 9: Physical Database Design Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Similar presentations


Presentation on theme: "9-1 © Prentice Hall, 2007 Topic 9: Physical Database Design Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,"— Presentation transcript:

1 9-1 © Prentice Hall, 2007 Topic 9: Physical Database Design Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer

2 Topic 9 9-2 © Prentice Hall, 2007 Chapter Objectives Af ter studying this chapter you should be able to: – Design database fields. – Evaluate denormalization situations. – Design file organization structures. – Design object-relational features.

3 Topic 9 9-3 © Prentice Hall, 2007

4 Topic 9 9-4 © Prentice Hall, 2007 What Is Physical Database Design? The part of a database design that deals with efficiency considerations for access of data Processing speed, storage space, and data manipulation are key issues in physical database design

5 Topic 9 9-5 © Prentice Hall, 2007 Sometimes, the analyst and the designer are the same person, Deliverables

6 Topic 9 9-6 © Prentice Hall, 2007

7 Topic 9 9-7 © Prentice Hall, 2007 What Is SQL? Structured Query Language Often pronounced “sequel” The standard language for creating and using relational databases ANSI Standards – SQL-92 – most commonly available – SQL-99 – included object-relational features

8 Topic 9 9-8 © Prentice Hall, 2007 Common SQL Commands CREATE TABLE – used to define table structures and link tables together SELECT – used to retrieve data using specified formats and selection criteria INSERT – used to add new rows to a table UPDATE – used to modify data in existing table rows DELETE – used to remove rows from tables

9 Topic 9 9-9 © Prentice Hall, 2007 Example CREATE TABLE Statement Here, a table called DEPT is created, with one numeric and two text fields. The numeric field is the primary key.

10 Topic 9 9-10 © Prentice Hall, 2007 Example INSERT Statement This statement inserts a new row into the DEPT table DEPTNO’s value is 50 DNAME’s value is “DESIGN” LOC’s value is “MIAMI”

11 Topic 9 9-11 © Prentice Hall, 2007 SELECT The SELECT, and FROM clauses are required. All others are optional. WHERE is used very commonly.

12 Topic 9 9-12 © Prentice Hall, 2007

13 Topic 9 9-13 © Prentice Hall, 2007 SELECT Statement: Example 1 Select * from DEPT; Result: all fields of all rows in the DEPT table

14 Topic 9 9-14 © Prentice Hall, 2007 SELECT Statement: Example 2 Select * from EMP where ENAME = ‘SMITH’; Result: all fields for employee “Smith”

15 Topic 9 9-15 © Prentice Hall, 2007 SELECT Statement: Example 3 Select EMPNO, ENAME From EMP where JOB = ‘SALESMAN’ order by ENAME; Result: employee number, name and job for only salesmen from the EMP table, sorted by name

16 Topic 9 9-16 © Prentice Hall, 2007 What Is a Join Query? A query in which the WHERE clause includes a match of primary key and foreign key values between tables that share a relationship

17 Topic 9 9-17 © Prentice Hall, 2007 SELECT Statement: Example 4 Select EMPNO, ENAME, DNAME from EMP, DEPT where EMP.DEPT_NO = DEPT.DEPT_NO and DEPT.LOC = ‘CHICAGO’; Result: all employees’ number and name (from the EMP table, and their associated department names, obtained by joining the tables based on DEPT_NO. Only employees housed in department located in Chicago will be included

18 Topic 9 9-18 © Prentice Hall, 2007 SELECT Statement: Example 4 (cont.) Join queries almost always involve matching the primary key of the dominant table with the foreign key of the dependent table.

19 Topic 9 9-19 © Prentice Hall, 2007 What Is an Aggregation Query? A query results in summary information about a group of records, such as sums, counts, or averages These involve aggregate functions in the SELECT clause (SUM, AVG, COUNT) Aggregations can be filtered using the HAVING clause and/or grouped using the GROUP BY clause

20 Topic 9 9-20 © Prentice Hall, 2007 SELECT Statement: Example 5 Select JOB, Avg(SALARY) from EMP Group by JOB Having Avg(SALARY) >= 3000; The job name and average salary for each job of employees in the EMP table. Only jobs with average salaries exceeding $3000 will be included

21 Topic 9 9-21 © Prentice Hall, 2007 SELECT Statement: Example 5 (cont.) Note that clerks and salesmen are not included, because the average salaries for these jobs are below $3000.

22 Topic 9 9-22 © Prentice Hall, 2007 Example Data Manipulation Update EMP set SAL = 3000 where EMPNO = 7698; – Modifies the existing employee’s (7698) salary Delete from EMP where EMPNO = 7844 – Removes employee 7844 from the EMP table

23 Topic 9 9-23 © Prentice Hall, 2007 Designing Fields Field – the smallest unit of named application data recognized by system software such as a DBMS Fields map roughly onto attributes in conceptual data models Field design involves consideration of identity, data types, sizes, and constraints

24 Topic 9 9-24 © Prentice Hall, 2007 Data type – A coding scheme recognized by system software for representing organizational data

25 Topic 9 9-25 © Prentice Hall, 2007 Considerations for Choosing Data Types Balance these four objectives: 1. Minimize storage space 2. Represent all possible values of the field 3. Improve data integrity for the field 4. Support all data manipulations desired for the field

26 Topic 9 9-26 © Prentice Hall, 2007 Mapping a composite attribute onto multiple fields with various data types

27 Topic 9 9-27 © Prentice Hall, 2007 Creating and Using Composite Attribute Types

28 Topic 9 9-28 © Prentice Hall, 2007 Data Integrity Controls Default Values – used if no explicit value is entered Format Controls – restricts data entry values in specific character positions Range Controls – forces values to be among an acceptable set of values Referential Integrity – forces foreign keys to align with primary keys Null Value Controls – determines whether fields can be empty of value

29 Topic 9 9-29 © Prentice Hall, 2007 Referential integrity is important for ensuring that data relationships are accurate and consistent

30 Topic 9 9-30 © Prentice Hall, 2007 What Is Denormalization? The process of combining normalized relations into physical tables based on affinity of use of rows and fields, and on retrieval and update frequencies on the tables Results in better speed of access, but reduces data integrity and increases data redundancy

31 Topic 9 9-31 © Prentice Hall, 2007 This will result in null values in several rows’ application data.

32 Topic 9 9-32 © Prentice Hall, 2007

33 Topic 9 9-33 © Prentice Hall, 2007 This will result in duplications of item descriptions in several rows of the CanSupplyDR table.

34 Topic 9 9-34 © Prentice Hall, 2007 Duplicate regionManager data

35 Topic 9 9-35 © Prentice Hall, 2007 What Is a File Organization? A technique for physically arranging the row objects of a file Main purpose of file organization is to optimize speed of data access and modification

36 Topic 9 9-36 © Prentice Hall, 2007

37 Topic 9 9-37 © Prentice Hall, 2007 Secondary Storage Concepts Block – a unit of data retrieval from secondary storage Extent – a set of contiguous blocks Scan – a complete read of a file block by block Blocking factor – the number of row objects that fit in one block

38 Topic 9 9-38 © Prentice Hall, 2007 Determining Table Scan Time Block read time is determined by seek, rotation and transfer. Average table scan time equals #rows in table divided by blocking factor multiplied by block read time

39 Topic 9 9-39 © Prentice Hall, 2007 What Is a Heap? A file with no organization Requires full table scan for data retrieval Only use this for small, cacheable tables

40 Topic 9 9-40 © Prentice Hall, 2007 What Is Hashing? A technique that uses an algorithm to convert a key value to a row address Useful for random access, but not for sequential access

41 Topic 9 9-41 © Prentice Hall, 2007 What Is an Indexed File Organization? A storage structure involving indexes, which are key values and pointers to row addresses Indexed file organizations are structured to enable fast random and sequential access Index files are fast for queries, but require additional overhead for inserts, deletes, and updates

42 Topic 9 9-42 © Prentice Hall, 2007 Random Access Processing Using B+ Tree Indexes Indexes are usually implemented as B+ trees These are balanced trees, which preserve a sequential ascending order of items as they are added.

43 Topic 9 9-43 © Prentice Hall, 2007 Issues to Consider When Selecting a File Organization File size Frequency of data retrievals Frequency of updates Factors related to primary and foreign keys Factors related to non-key attributes

44 Topic 9 9-44 © Prentice Hall, 2007 Which Fields should be Indexed?

45 Topic 9 9-45 © Prentice Hall, 2007 Design of Object Relational Features Object-relatonal databases support: – Generalization and inheritance – Aggregation – Mulivalued attributes – Object identifiers – Relationships by reference (pointers)

46 Topic 9 9-46 © Prentice Hall, 2007 Generalization in Oracle 9i/10g

47 Topic 9 9-47 © Prentice Hall, 2007 Aggregation in Oracle 9i/10g

48 Topic 9 9-48 © Prentice Hall, 2007 Multivalued Attributes in Oracle 9i/10g

49 Topic 9 9-49 © Prentice Hall, 2007 Object Identifiers in Oracle 9i/10g

50 Topic 9 9-50 © Prentice Hall, 2007 Recap Af ter studying this chapter we learned to: – Design database fields. – Evaluate denormalization situations. – Design file organization structures. – Design object-relational features.


Download ppt "9-1 © Prentice Hall, 2007 Topic 9: Physical Database Design Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,"

Similar presentations


Ads by Google