2. Objectives After completing this lesson, you should be able to do the following: Discuss the theoretical and physical aspects of a relational database Describe the Oracle implementation of the RDBMS and ORDBMS Describe how SQL and PL/SQL are used in the Oracle product set Describe the use and benefits of PL/SQL
3. System Development Life Cycle Strategy and Analysis Design Build and Document Transition Production
4. System Development Life Cycle Strategy and Analysis Design Build and Document Transition Production
5. Data Storage on Different Media Database Electronic spreadsheet Filing cabinet SALGRADE GRADE LOSAL HISAL --------- --------- --------- 17001200 212011400 314012000 420013000 530019999 DEPT DEPTNO DNAME LOC --------- -------------- ---------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON
6. Relational Database Concept Dr. E. F. Codd proposed the relational model for database systems in 1970. It is the basis for the relational database management system (RDBMS). The relational model consists of the following: Collection of objects or relations Set of operators to act on the relations Data integrity for accuracy and consistency
7. Table Name: DEPT Table Name: EMP DEPTNO DNAME LOC 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON EMPNO ENAME JOB DEPTNO 7839 KING PRESIDENT10 7698 BLAKE MANAGER30 7782 CLARK MANAGER 10 7566 JONES MANAGER20 Definition of a Relational Database A relational database is a collection of relations or two-dimensional tables. Database
8. Data Models Server Model ofsystemin client’smind Entity model ofclient’s model Table modelof entity model Tables on disk
11. “. . . Assign one or more employees to a department . . .”
12. “. . . Some departments do not yet have assigned employees . . .”Entity Relationship Model DEPARTMENT #* number * name olocation EMPLOYEE #* number * name ojob title assigned to composed of
13. Entity Relationship Modeling Conventions Entity Soft box Singular, unique name Uppercase Synonym in parentheses Attribute Singular name Lowercase Mandatory marked with “*” Optional marked with “o” DEPARTMENT #* number * name olocation EMPLOYEE #* number * name ojob title assigned to composed of Unique Identifier (UID) Primary marked with “#” Secondary marked with “(#)”
14. Entity Relationship Modeling Conventions Entity Soft box Singular, unique name Uppercase Synonym in parentheses Attribute Singular name Lowercase Mandatory marked with “*” Optional marked with “o” DEPARTMENT #* number * name olocation EMPLOYEE #* number * name ojob title assigned to composed of Unique Identifier (UID) Primary marked with “#” Secondary marked with “(#)”
17. You can logically relate data from multiple tables using foreign keys (FK).Table Name: EMP Table Name: DEPT EMPNO ENAME JOB DEPTNO 7839 KING PRESIDENT10 7698 BLAKE MANAGER30 7782 CLARK MANAGER 10 7566 JONES MANAGER20 DEPTNO DNAME LOC 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON
18. Relational Database Properties A relational database Can be accessed and modified by executing structured query language (SQL) statements Contains a collection of tables with no physical pointers Uses a set of operators
19. Communicating with a RDBMS Using SQL SQL statementis entered Statement is sent to database SQL> SELECT loc 2 FROM dept; Database Data is displayed LOC ------------- NEW YORK DALLAS CHICAGO BOSTON
21. Oracle8: Object Relational Database Management System User-defined data types and objects Fully compatible with relational database Support of multimedia and large objects High-quality database server features
22. Defining an Object An object Is a person, place, or thing Knows things about itself and performs actions Has an identity I am a clock. I knowmy time zone, and Ican display time.
23. Using an Object Model Objects model a problem to solve. The model is stated in terms of the interactions between objects. Object models closely resemble the real world. Buy Sell Customers Business
24. Characteristics of Object Systems Present information in object form Classify objects into object types Inherit attributes and code Hide data, code, and attributes Interact with other objects Recognize different objects without analysis Interpret the same command in different ways
25. Oracle Complete Solution Database Applications HR Financials Manufacturing ... Oracle Developer Discoverer Oracle Designer SQL* Plus SQL PL/SQL Oracle7/8 Data dictionary Data tables
26. SQL Statements SELECT INSERT UPDATE DELETE CREATE ALTER DROP RENAME TRUNCATE COMMIT ROLLBACK SAVEPOINT GRANT REVOKE Data retrieval Data manipulation language (DML) Data definition language (DDL) Transaction control Data control language (DCL)
27. About PL/SQL PL/SQL is an extension to SQL with design features of programming languages. Data manipulation and query statements of SQL are included within procedural units of code.
29. Tables Used in the Course DEPT DEPTNO DNAME LOC --------- -------------- ---------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON SALGRADE GRADE LOSAL HISAL --------- --------- --------- 17001200 212011400 314012000 420013000 530019999 EMP EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO --------- ---------- --------- --------- --------- --------- --------- --------- 7839 KING PRESIDENT 17-NOV-81500010 7698 BLAKE MANAGER 783901-MAY-81285030 7782 CLARK MANAGER 783909-JUN-81245010 7566 JONES MANAGER 783902-APR-81297520 7654 MARTIN SALESMAN 769828-SEP-811250140030 7499 ALLEN SALESMAN 769820-FEB-81160030030 7844 TURNER SALESMAN 769808-SEP-811500030 7900 JAMES CLERK 769803-DEC-8195030 7521 WARD SALESMAN 769822-FEB-81125050030 7902 FORD ANALYST 756603-DEC-81300020 7369 SMITH CLERK 790217-DEC-8080020 7788 SCOTT ANALYST 756609-DEC-82300020 7876 ADAMS CLERK 778812-JAN-83110020 7934 MILLER CLERK 778223-JAN-82130010
30. Summary Relational databases are composed of relations, managed by relational operations, and governed by data integrity constraints. The Oracle Server allows you to store and manage information by using the SQL language and PL/SQL engine. PL/SQL is an extension to SQL with design features of programming languages.