Cincinnati Bell Telephone INsideOUT Database Redesign

Slides:



Advertisements
Similar presentations
Chapter 10: Designing Databases
Advertisements

Prentice Hall, Database Systems Week 1 Introduction By Zekrullah Popal.
Module 2 Designing a Logical Database Model. Module Overview Guidelines for Building a Logical Database Model Planning for OLTP Activity Evaluating Logical.
Tables Lesson 6. Skills Matrix Tables Tables store data. Tables are relational –They store data organized as row and columns. –Data can be retrieved.
Data - Information - Knowledge
Client/Server Databases and the Oracle 10g Relational Database
A Guide to Oracle9i1 Advanced SQL And PL/SQL Topics Chapter 9.
DT228/3 Web Development Databases. Database Almost all web application on the net access a database e.g. shopping sites, message boards, search engines.
Chapter 4: Database Management. Databases Before the Use of Computers Data kept in books, ledgers, card files, folders, and file cabinets Long response.
Lecture Nine Database Planning, Design, and Administration
Database Management Systems (DBMS)
Page 1 ISMT E-120 Introduction to Microsoft Access & Relational Databases The Influence of Software and Hardware Technologies on Business Productivity.
Page 1 ISMT E-120 Desktop Applications for Managers Introduction to Microsoft Access.
PHASE 3: SYSTEMS DESIGN Chapter 7 Data Design.
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
1 DATABASE TECHNOLOGIES BUS Abdou Illia, Fall 2007 (Week 3, Tuesday 9/4/2007)
Database Systems COMSATS INSTITUTE OF INFORMATION TECHNOLOGY, VEHARI.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 7-1 David M. Kroenke’s Chapter Seven: SQL for Database Construction and.
Concepts of Database Management, Fifth Edition Chapter 1: Introduction to Database Management.
Chapter 6: Foundations of Business Intelligence - Databases and Information Management Dr. Andrew P. Ciganek, Ph.D.
1 Introduction to Database Systems. 2 Database and Database System / A database is a shared collection of logically related data designed to meet the.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
CS 474 Database Design and Application Terminology Jan 11, 2000.
Chapter 7: Database Systems Succeeding with Technology: Second Edition.
1 Minggu 9, Pertemuan 17 Database Planning, Design, and Administration Matakuliah: T0206-Sistem Basisdata Tahun: 2005 Versi: 1.0/0.0.
INFS614, Dr. Brodsky, GMU1 Database Management Systems INFS 614 Instructor: Professor Alex Brodsky
Database Planning, Design, and Administration Transparencies
Lecture2: Database Environment Prepared by L. Nouf Almujally & Aisha AlArfaj 1 Ref. Chapter2 College of Computer and Information Sciences - Information.
Introduction to Databases Trisha Cummings. What is a database? A database is a tool for collecting and organizing information. Databases can store information.
1 Copyright © 2004, Oracle. All rights reserved. Introduction.
Triggers and Stored Procedures in DB 1. Objectives Learn what triggers and stored procedures are Learn the benefits of using them Learn how DB2 implements.
1.file. 2.database. 3.entity. 4.record. 5.attribute. When working with a database, a group of related fields comprises a(n)…
- Ahmad Al-Ghoul Data design. 2 learning Objectives Explain data design concepts and data structures Explain data design concepts and data structures.
Lecture2: Database Environment Prepared by L. Nouf Almujally 1 Ref. Chapter2 Lecture2.
Database Architectures Database System Architectures Considerations – Data storage: Where do the data and DBMS reside? – Processing: Where.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
Chapter 1 Introduction to Databases. 1-2 Chapter Outline   Common uses of database systems   Meaning of basic terms   Database Applications  
Advantage of File-oriented system: it provides useful historical information about how data are managed earlier. File-oriented systems create many problems.
Lesson Overview 3.1 Components of the DBMS 3.1 Components of the DBMS 3.2 Components of The Database Application 3.2 Components of The Database Application.
Prepared By Prepared By : VINAY ALEXANDER ( विनय अलेक्सजेंड़र ) PGT(CS),KV JHAGRAKHAND.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
Chapter 9 Database Systems © 2007 Pearson Addison-Wesley. All rights reserved.
Your Online Exchange for buying and selling remnants or odd sizes of production materials Trina L. Anderson UC College of Applied Science December 2003.
ELECTRONIC DOCUMENT SHARING AND MANAGEMENT BY: EDWARD DISI JUSTIN HEIN BROM ESPY Senior Design 1.
Data The fact and figures that can be recorded in system and that have some special meaning assigned to it. Eg- Data of a customer like name, telephone.
Database Planning Database Design Normalization.
1 Management Information Systems M Agung Ali Fikri, SE. MM.
Data Resource Management Data Concepts Database Management Types of Databases Chapter 5 McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies,
SQL IMPLEMENTATION & ADMINISTRATION Indexing & Views.
SQL Database Management
CS4222 Principles of Database System
Managing the Project Lifecycle
Client/Server Databases and the Oracle 10g Relational Database
Chapter 2 Database System Concepts and Architecture
Database Normalization
Database Management System
Chapter 9 – Real Memory Organization and Management
6 Benefits of Using Microsoft Access Database. Microsoft Access is an efficient program that helps companies to carry out complex business processes in.
Main Memory Management
Introduction to Database Management System
Data Base System Lecture 2: Introduction to Database
Chapter 8: Memory management
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
Lecture 3: Main Memory.
Database Systems Instructor Name: Lecture-3.
DAT381 Team Development with SQL Server 2005
Lecture 1 File Systems and Databases.
Computer Science Projects Database Theory / Prototypes
Database Management Systems
Presentation transcript:

Cincinnati Bell Telephone INsideOUT Database Redesign Senior Design III Final Presentation Vernon Chamberlain

Overview Statement of Problem Solution Description User Profile Timeline Technical Elements Budget Deliverables Proof of Design Conclusion

Statement of Problem Support terminated for Informix database INsideOUT Database Business functions served: Work Orders / Service Orders Job Costing Material Reporting Time Reporting Vendor Billing Applications are managing the data.

Solution Description Structure Naming Conventions Security Tier Efficient Use of Database Storage Minimizing Redundancy Centralizing Common Processes The redesign of the INsideOUT database focused on structure, naming conventions, security, efficient use of database storage, and minimizing redundancy. The redesign also included incorporating common processes into stored procedures and triggers instead of in the external software code. The structure and naming conventions of each table was analyzed to verify if it required normalization. If so, the table was updated for consistency and efficiency as required. Normalizing the database resolved duplication issues, eliminated the existence of virtually unused columns, and separated unrelated data that was contained in the same entity.

User Profile

Timeline Senior Design I Accomplishments – Fall 2007 Researched and Analyzed Database Began Database Redesign Wrote, submitted, and presented the Proposed Project Senior Design II Accomplishments – Winter 2008 Created new entities Researched and Analyzed Application Code Wrote, submitted, and presented the Design Freeze Senior Design III Accomplishments – Spring 2008 Created Stored Procedures, Triggers and Views Tested the entire project Wrote, submitted, and presented final project at Tech Expo Present final project June 9th 2008 Once I receive feedback, I will update, finalize and submit my Senior Design Proposal. Then I will continue my Research and Analysis of the INsideOUT database, and the code of the applications and functions that access its data. During winter break, I will start the first step of Phase 1, designing the Normalization concept.

Technical Elements Hardware Software Database Server Portable Hard Drive Software Windows Server 2003 Standard Edition Oracle Database 10g Toad for Oracle Freeware PL/SQL Developer (all around automations) Microsoft Visual Studio .NET 2005 Microsoft Visual Source Safe

Budget Item Description Real Cost My Cost TOTALS $47,486.00 Server Provided by CBT $ 5,000.00 $0.00 Windows Server 2003 - Std Ed 999.00 0.00 Oracle Database - Enterprise 40,000.00 Visual Studio .NET 2005 799.00 Visual Source Safe 549.00 Toad for Oracle, Freeware DBA Freeware Portable Hard Drive Mine – Store Project 139.00 TOTALS $47,486.00 Figure 3 Proposed Budget, Sources: (2, 6, 11, 15)

Deliverables Structure New tables that adhere to industry standards Efficient use of database storage Naming Convention Standardized Column and Entity names to create a higher degree of manageability and consistency Application Functionality as Stored Procedures and Triggers Centralization of current code in the database. This creates a single point of accountability and simplifies updating much of the code. Incorporation of common processes into stored procedures, triggers and functions using PL/SQL Added Security Tier Redundant in-line SQL statements are being created as stored procedures, functions, and triggers as deemed necessary. By implementing the code within the database, the overall system will have an added tier of security. Minimize Redundancy The redesign minimizes redundancy that currently occurs within the database. Tables such as JOB and WOFRONTPAGE carry much of the same data.

Proof of Design Structure: New tables were created to hold data specific to the table itself. The data from the old JOB table was transferred to these new tables, minimizing empty fields in the database. Database storage is now more efficient due to breaking down larger tables into small tables, allowing for the data to be more atomic. This process frees up space, helps with processing efforts, and makes the database structure more logical. When accessing data, the database no longer needs to scan through all the rows and columns of one large, somewhat empty table. The database can now search for data in a smaller more fully-utilized tables (See Appendices A and B).

Proof of Design Naming Convention: The naming convention was standardized. Tables were named so that like entities would stay in close proximity to one another, allowing for easier management by the administrators (e.g. JOB_BUDGET next to JOB). The column names holding the same information are now named the same thing throughout the database. Columns that were once named JOB_JOB_NO in the JOB table, ESTIMATE_NO in the MYHR_IMPORT table, and CURR_WORKORDER in WOFRONTPAGE, to name a few, are now named WO throughout the database. Work order name, now represented in the WO columns throughout the database, is known redundant data that is stored in multiple tables. This redundancy is a requirement request made by the administrator of the INsideOUT database, and is deemed an acceptable redundancy due to the added benefit of manageability.

Summary Application Functionality as Procedures and Triggers The stored procedures for this project centralize the code in the database. New application functionality specific to the database is now contained in stored procedures and triggers. This change in the overall system has proved efficient and manageable. Centralizing code that was repeated in a variety of applications provides a great sense of control and assurance that all applications are being updated appropriately during future code changes. Moving application functionality was, of course, a learning experience, but PL/SQL is much stronger and more effective than once perceived. Examples of new SQL statements that were moved into the database can be seen in Figures 7 and 8. In-line SQL Statements in Visual Basic 6 Code

Summary Application Functionality as Procedures and Triggers The stored procedures for this project centralize the code in the database. New application functionality specific to the database is now contained in stored procedures and triggers. This change in the overall system has proved efficient and manageable. Centralizing code that was repeated in a variety of applications provides a great sense of control and assurance that all applications are being updated appropriately during future code changes. Moving application functionality was, of course, a learning experience, but PL/SQL is much stronger and more effective than once perceived. Examples of new SQL statements that were moved into the database can be seen in Figures 7 and 8. PL/SQL Code created inside the Database as a Stored Procedure

Proof of Design Added Security Tier: The centralization of code pulled in the various in-line SQL statements, which makes the database more secure by putting statements behind a security tier of the overall multi-tier programming. This allows the applications to simply call the stored procedure and pass the necessary variables. The variable names are then mapped to the actual column names in the table, keeping the table structure secure as seen in Figure 9. New Stored Procedure for COSTING table information

Proof of Design Minimizing Redundancy: Through the process of researching the INsideOUT database redundant data became evident. Two tables specifically were the worst culprits: JOB and WOFRONTPAGE. These two tables were more closely analyzed. It was decided that WOFRONTPAGE would be minimized and JOB would store what was previously redundant data. WOFRONTPAGE was disassembled; redundant columns that were also found in JOB were deleted from WOFRONTPAGE. A new table JOB_FRONTPAGE now holds the data that remained from JOB (See Figure 1). The JOB table and its subsequent redesign is a prototype of this project’s potential. It also adds efficiency by effectively querying in a shorter amount of time, making multiple calls to the database quicker. This efficiency is magnified when there are over 200 potential users accessing the database. This centralization positively affects the overall system and its manageability in two ways. First, the centralization creates a single point of execution, rather than having the function duplicated in many different areas of the multiple applications’ code. Secondly, the application will call the stored procedure and send its variables. The stored procedure will then process the request and send the results back to the application. This improvement takes the process requirement away from the local machine and the application, speeding up the end user experience. Table Comparison of Same Data in Different Columns

Conclusion INsideOUT Database was in a state of disrepair INsideOUT needed normalization, stored procedures, and triggers INsideOUT is now more efficiency and manageable, and now has a higher level of security

Questions? Questions?