SlideShare une entreprise Scribd logo
1  sur  75
Building the Agile Database Larry Burns Consultant PACCAR Data Services
What does “agility” mean? ,[object Object],[object Object]
How does AD work? ,[object Object],[object Object],[object Object]
 
Essential concepts of AD ,[object Object],[object Object],[object Object],[object Object],[object Object]
Benefits of AD ,[object Object],[object Object],[object Object]
Benefits of AD ,[object Object],[object Object],[object Object],[object Object],[object Object]
What does “agility” imply? ,[object Object],[object Object],[object Object]
What does “agility” imply? ,[object Object],[object Object],[object Object]
What does “agility” imply? ,[object Object],[object Object]
Critical Issues for AD ,[object Object],[object Object],[object Object]
Critical Issues for AD ,[object Object],[object Object]
Critical Issues for AD ,[object Object],[object Object]
Principles of data management ,[object Object],[object Object]
Principles of data management ,[object Object]
Principles of data management ,[object Object]
Principles of data management ,[object Object]
Principles of data management ,[object Object]
Principles of data management ,[object Object],[object Object],[object Object],[object Object],[object Object]
Agile Data Management ,[object Object],[object Object],[object Object],[object Object]
Agile Data Management ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Abstraction and Encapsulation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Database Abstraction ,[object Object],[object Object],[object Object],[object Object],[object Object]
Database Abstraction ,[object Object],[object Object],[object Object],[object Object],[object Object]
Database Issues ,[object Object],[object Object],[object Object],[object Object]
Database Issues ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Database Issues ,[object Object],[object Object],[object Object],[object Object],[object Object]
Database Issues ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Database Issues ,[object Object],[object Object],[object Object],[object Object]
Tasks Tasks null smallint OverTimeHours null smallint ActHours7 null smallint EstHours7 null smallint etc, etc, etc… null smallint ActHours2 null smallint EstHours2 null smallint ActHours1 null smallint EstHours1 null tinyint WeekNo null varchar EmployeeName null int EmployeeNo null varchar ProjectMgr null int ProjectNo null varchar TaskDesc null varchar TaskTitle not null IDENTITY TaskID
Event varchar EventDesc datetime EventDateTime … etc. etc. etc. int EventType3Key int EventType2Key int EventType1Key smallint EventTypeCode IDENTITY EventID
The parameter list for your access procedure will have to look like this: CREATE PROCEDURE csEventProcedure (@EventTypeCode smallint,  @EventType1Key int = null,  @EventType2Key int = null, @EventType3Key int = null…) And the WHERE clause for the SELECT will have to look something like this: WHERE (@EventType1Key IS NOT NULL AND @EventType1Key = Event.EventType1Key)         OR (@EventType2Key IS NOT NULL AND @EventType2Key = Event.EventType2Key)         OR (@EventType3Key IS NOT NULL AND @EventType3Key = Event.EventType3Key)         … Or perhaps like this: WHERE (@EventTypeCode = 1 AND @EventType1Key = Event.EventType1Key)         OR (@EventTypeCode = 2 AND @EventType2Key = Event.EventType2Key)         OR (@EventTypeCode = 3 AND @EventType3Key = Event.EventType3Key)
Non-Database Issues ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Resolving the Conflicts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Resolving the Conflicts ,[object Object],[object Object],[object Object],[object Object],[object Object]
Resolving the Conflicts ,[object Object],[object Object],[object Object],[object Object]
Bonus Slides ,[object Object],[object Object],[object Object]
Fundamental Stored Procedures ,[object Object],[object Object],[object Object],[object Object]
Fundamental Stored Procedures ,[object Object],[object Object],[object Object]
Fundamental Stored Procedures ,[object Object],[object Object]
Data Access Component ,[object Object],[object Object]
Data Access Component ,[object Object],[object Object],[object Object],[object Object]
Data Access Component ,[object Object]
Data Integration Web Services ,[object Object],[object Object],[object Object]
Data Synchronization Integration Diagram (includes event queue tables) Mainframe Databases CICS Reformat as XML Application Server CICS  Trans Web Service 1 Web Method A Web Method C Web Method D Web Method B Web Method E Web Method F Web Method G Web Method H Web Method I SQL Database Integration Server CICS Listener TCP to MSMQ MSMQ Message Broker Web Service 2 Web Method J Metadata CICS  Trans CICS Client
Joined Views ,[object Object],[object Object],[object Object],[object Object]
Joined Views ,[object Object],[object Object],[object Object],[object Object],[object Object]
Joined Views ,[object Object],[object Object],[object Object],[object Object]
Joined Views ,[object Object],[object Object],[object Object]
Task TaskIdentifier  [IDENTITY] TaskDescription  [varchar(2000)] ProjectIdentifier  [int – FK] AccountingCode  [char(4) – FK] OvertimeApprovedIndicator  [bit] TaskEnteredDateTime  [datetime] Timestamp  [timestamp] TaskStartDateTime  [datetime] TaskEndDateTime  [datetime] Account AccountingCode  [char(4)] AccountDescription  [varchar(75)] Timestamp  [timestamp] Employee EmployeeIdentifier  [IDENTITY] EmployeeLastName [varchar(75)] EmployeeFirstName [varchar(75)] Timestamp  [timestamp] EmployeePhoneNo  [varchar(12)] EmployeeEmail  [varchar(255)] OTHoursToDate  [decimal] ProjectDescription  [varchar(2000)] Project ProjectIdentifier  [IDENTITY] ProjectMgrEmployeeID  [int – FK] Timestamp  [timestamp] ProjectDescription  [varchar(75)] TaskAssignment AssignmentStartDate [datetime] Timestamp  [timestamp] TaskIdentifier  [int – FK] EmployeeIdentifier  [int – FK] ScheduledEndDate  [datetime] HoursWorkedToDate [decimal] OTHoursToDate [decimal] Normalized application tables
EmployeeTasks Account  [varchar(75)] OTApproved  [char(3)] HoursToDate [decimal] StartDate  [char(10)] EndDate  [char(10)] EmpName  [varchar(120)] Project  [varchar(75)] ProjectMgr [varchar(120)] Task  [varchar(75)] OverTime  [decimal] Customized application view
SQL code to create the view CREATE VIEW EmployeeTasks (EmpName, Project, ProjectMgr, Task, Account, OTApproved, StartDate, EndDate, HoursToDate, OverTime)  AS SELECT CONVERT(varchar(120), emp.EmployeeFirstName + ‘ ‘ + emp.EmployeeLastName), proj.ProjectDescription, CONVERT(varchar(120), emp2.EmployeeFirstName + ‘ ‘ + emp2.EmployeeLastName), CONVERT(varchar(75), task.TaskDescription), acct.AccountDescription,  CASE task.OvertimeApprovedIndicator WHEN 1 THEN ‘Yes’ ELSE ‘No’ END, CONVERT(varchar, ta.AssignmentStartDate, 101),  CONVERT(varchar, ta.AssignmentEndDate, 101), ta.OTHoursToDate  FROM TaskAssignment ta INNER JOIN Task task  ON ta.TaskIdentifier = task.TaskIdentifier  INNER JOIN Employee emp ON ta.EmployeeIdentifier = emp.EmployeeIdentifier INNER JOIN Project proj ON task.ProjectIdentifier = proj.ProjectIdentifier  INNER JOIN Employee emp2  ON proj.ProjectMgrEmployeeID = emp2.EmployeeIdentifier  INNER JOIN Account acct ON task.AccountingCode = acct.AccountingCode
Mapping Object to View AssignTask (EmpName, Project, Task, StartDate, EndDate) CompleteTask(EmpName, Project, Task) ApproveOT (EmpName, Project, Task, ProjectMgr) EmployeeTasks Account  [varchar(75)] OTApproved  [char(3)] HoursToDate [decimal] StartDate  [char(10)] EndDate  [char(10)] EmpName  [varchar(120)] Project  [varchar(75)] ProjectMgr [varchar(120)] Task  [varchar(75)] OverTime  [decimal] EmployeeTask Account  [varchar(75)] OTApproved  [char(3)] HoursToDate [decimal] StartDate  [char(10)] EndDate  [char(10)] EmpName  [varchar(120)] Project  [varchar(75)] ProjectMgr [varchar(120)] Task  [varchar(75)] OverTime  [decimal]
Work Tables ,[object Object],[object Object],[object Object],[object Object]
Work Tables ,[object Object],[object Object],[object Object]
ADO.NET ,[object Object],[object Object],[object Object]
ADO.NET ,[object Object]
Stored Procedures ,[object Object],[object Object],[object Object]
Stored Procedures ,[object Object],[object Object],[object Object]
Stored Procedures ,[object Object],[object Object]
Triggers ,[object Object],[object Object],[object Object]
Triggers ,[object Object],[object Object],[object Object]
Triggers ,[object Object],[object Object],[object Object]
User-defined Datatypes ,[object Object],[object Object],[object Object]
User-defined Functions ,[object Object],[object Object],[object Object],[object Object],[object Object]
User-defined Functions ,[object Object],[object Object],[object Object]
User-defined Functions ,[object Object],[object Object],[object Object],[object Object],[object Object]
User-defined Functions (cont’d) ,[object Object],[object Object],[object Object],[object Object],[object Object]
User-defined Functions (cont’d) ,[object Object],[object Object],[object Object],[object Object]
Merging SQL and XML ,[object Object],[object Object],[object Object],[object Object]
Developing an “Agile Attitude” ,[object Object],[object Object]
Developing an “Agile Attitude” ,[object Object],[object Object]
Developing an “Agile Attitude” ,[object Object],[object Object]
Developing an “Agile Attitude” ,[object Object],[object Object]
Bio and Contact Information ,[object Object]

Contenu connexe

Tendances

Agile Business Intelligence
Agile Business IntelligenceAgile Business Intelligence
Agile Business Intelligence
Don Jackson
 
MDM Strategy & Roadmap
MDM Strategy & RoadmapMDM Strategy & Roadmap
MDM Strategy & Roadmap
victorlbrown
 

Tendances (20)

Data Governance Maturity Model Thesis
Data Governance Maturity Model ThesisData Governance Maturity Model Thesis
Data Governance Maturity Model Thesis
 
Business Intelligence - A Management Perspective
Business Intelligence - A Management PerspectiveBusiness Intelligence - A Management Perspective
Business Intelligence - A Management Perspective
 
Organizing Master Data Management
Organizing Master Data ManagementOrganizing Master Data Management
Organizing Master Data Management
 
Best Practices in MDM, OAUG COLLABORATE 09
Best Practices in MDM, OAUG COLLABORATE 09Best Practices in MDM, OAUG COLLABORATE 09
Best Practices in MDM, OAUG COLLABORATE 09
 
Lean Master Data Management
Lean Master Data ManagementLean Master Data Management
Lean Master Data Management
 
02. Information solution outline template
02. Information solution outline template02. Information solution outline template
02. Information solution outline template
 
Whitepaper on Master Data Management
Whitepaper on Master Data Management Whitepaper on Master Data Management
Whitepaper on Master Data Management
 
Agile Business Intelligence
Agile Business IntelligenceAgile Business Intelligence
Agile Business Intelligence
 
MDM Strategy & Roadmap
MDM Strategy & RoadmapMDM Strategy & Roadmap
MDM Strategy & Roadmap
 
Adopting a Process-Driven Approach to Master Data Management
Adopting a Process-Driven Approach to Master Data ManagementAdopting a Process-Driven Approach to Master Data Management
Adopting a Process-Driven Approach to Master Data Management
 
Semantech Inc. - Mastering Enterprise Big Data - Intro
Semantech Inc. - Mastering Enterprise Big Data - IntroSemantech Inc. - Mastering Enterprise Big Data - Intro
Semantech Inc. - Mastering Enterprise Big Data - Intro
 
Ronald Schmelzer Keynote Address
Ronald Schmelzer Keynote AddressRonald Schmelzer Keynote Address
Ronald Schmelzer Keynote Address
 
Data Governance challenges in a major Energy Company
Data Governance challenges in a major Energy CompanyData Governance challenges in a major Energy Company
Data Governance challenges in a major Energy Company
 
Supporting Knowledge Workers With Adaptive Case Management
Supporting Knowledge Workers With Adaptive Case ManagementSupporting Knowledge Workers With Adaptive Case Management
Supporting Knowledge Workers With Adaptive Case Management
 
Best Practices in MDM with Dan Power
Best Practices in MDM with Dan PowerBest Practices in MDM with Dan Power
Best Practices in MDM with Dan Power
 
T/DG's Pulse.Time - Resource and Project Management of Enterprise
T/DG's Pulse.Time - Resource and Project Management of EnterpriseT/DG's Pulse.Time - Resource and Project Management of Enterprise
T/DG's Pulse.Time - Resource and Project Management of Enterprise
 
Overcoming the Challenges of your Master Data Management Journey
Overcoming the Challenges of your Master Data Management JourneyOvercoming the Challenges of your Master Data Management Journey
Overcoming the Challenges of your Master Data Management Journey
 
Designing High Quality Data Driven Solutions 110520
Designing High Quality Data Driven Solutions 110520Designing High Quality Data Driven Solutions 110520
Designing High Quality Data Driven Solutions 110520
 
Case Management Reference Architecture
Case Management Reference ArchitectureCase Management Reference Architecture
Case Management Reference Architecture
 
Disaster Recovery
Disaster RecoveryDisaster Recovery
Disaster Recovery
 

Similaire à Building The Agile Database

Jet Reports es la herramienta para construir el mejor BI y de forma mas rapida
Jet Reports es la herramienta para construir el mejor BI y de forma mas rapida  Jet Reports es la herramienta para construir el mejor BI y de forma mas rapida
Jet Reports es la herramienta para construir el mejor BI y de forma mas rapida
CLARA CAMPROVIN
 
Running head Database and Data Warehousing design1Database and.docx
Running head Database and Data Warehousing design1Database and.docxRunning head Database and Data Warehousing design1Database and.docx
Running head Database and Data Warehousing design1Database and.docx
healdkathaleen
 
Running head Database and Data Warehousing design1Database and.docx
Running head Database and Data Warehousing design1Database and.docxRunning head Database and Data Warehousing design1Database and.docx
Running head Database and Data Warehousing design1Database and.docx
todd271
 
Ciber Soa April 2007 Omaha
Ciber Soa April 2007 OmahaCiber Soa April 2007 Omaha
Ciber Soa April 2007 Omaha
kmansour
 

Similaire à Building The Agile Database (20)

Data Quality in Data Warehouse and Business Intelligence Environments - Disc...
Data Quality in  Data Warehouse and Business Intelligence Environments - Disc...Data Quality in  Data Warehouse and Business Intelligence Environments - Disc...
Data Quality in Data Warehouse and Business Intelligence Environments - Disc...
 
Jet Reports es la herramienta para construir el mejor BI y de forma mas rapida
Jet Reports es la herramienta para construir el mejor BI y de forma mas rapida  Jet Reports es la herramienta para construir el mejor BI y de forma mas rapida
Jet Reports es la herramienta para construir el mejor BI y de forma mas rapida
 
Erp
ErpErp
Erp
 
The Case for Business Modeling
The Case for Business ModelingThe Case for Business Modeling
The Case for Business Modeling
 
Creating a Successful DataOps Framework for Your Business.pdf
Creating a Successful DataOps Framework for Your Business.pdfCreating a Successful DataOps Framework for Your Business.pdf
Creating a Successful DataOps Framework for Your Business.pdf
 
Make compliance fulfillment count double
Make compliance fulfillment count doubleMake compliance fulfillment count double
Make compliance fulfillment count double
 
Running head Database and Data Warehousing design1Database and.docx
Running head Database and Data Warehousing design1Database and.docxRunning head Database and Data Warehousing design1Database and.docx
Running head Database and Data Warehousing design1Database and.docx
 
Running head Database and Data Warehousing design1Database and.docx
Running head Database and Data Warehousing design1Database and.docxRunning head Database and Data Warehousing design1Database and.docx
Running head Database and Data Warehousing design1Database and.docx
 
Ciber Soa April 2007 Omaha
Ciber Soa April 2007 OmahaCiber Soa April 2007 Omaha
Ciber Soa April 2007 Omaha
 
Itlc hanoi ba day 3 - thai son - data modelling
Itlc hanoi   ba day 3 - thai son - data modellingItlc hanoi   ba day 3 - thai son - data modelling
Itlc hanoi ba day 3 - thai son - data modelling
 
Best Practices: Data Admin & Data Management
Best Practices: Data Admin & Data ManagementBest Practices: Data Admin & Data Management
Best Practices: Data Admin & Data Management
 
Is your big data journey stalling? Take the Leap with Capgemini and Cloudera
Is your big data journey stalling? Take the Leap with Capgemini and ClouderaIs your big data journey stalling? Take the Leap with Capgemini and Cloudera
Is your big data journey stalling? Take the Leap with Capgemini and Cloudera
 
Introduction to Modern Data Virtualization 2021 (APAC)
Introduction to Modern Data Virtualization 2021 (APAC)Introduction to Modern Data Virtualization 2021 (APAC)
Introduction to Modern Data Virtualization 2021 (APAC)
 
Effective Business Analysis
Effective Business AnalysisEffective Business Analysis
Effective Business Analysis
 
The Right Data Warehouse: Automation Now, Business Value Thereafter
The Right Data Warehouse: Automation Now, Business Value ThereafterThe Right Data Warehouse: Automation Now, Business Value Thereafter
The Right Data Warehouse: Automation Now, Business Value Thereafter
 
Top 3 Interesting Careers in Big Data.pdf
Top 3 Interesting Careers in Big Data.pdfTop 3 Interesting Careers in Big Data.pdf
Top 3 Interesting Careers in Big Data.pdf
 
Enterprise architecture
Enterprise architecture Enterprise architecture
Enterprise architecture
 
White Paper-2-Mapping Manager-Bringing Agility To Business Intelligence
White Paper-2-Mapping Manager-Bringing Agility To Business IntelligenceWhite Paper-2-Mapping Manager-Bringing Agility To Business Intelligence
White Paper-2-Mapping Manager-Bringing Agility To Business Intelligence
 
Formalizing Collaborative Software Development Issues: A Collaborative Work A...
Formalizing Collaborative Software Development Issues: A Collaborative Work A...Formalizing Collaborative Software Development Issues: A Collaborative Work A...
Formalizing Collaborative Software Development Issues: A Collaborative Work A...
 
Expert Big Data Tips
Expert Big Data TipsExpert Big Data Tips
Expert Big Data Tips
 

Plus de elliando dias

Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
elliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
elliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
elliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
elliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
elliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
elliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
elliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
elliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
elliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
elliando dias
 

Plus de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Dernier

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Building The Agile Database

  • 1. Building the Agile Database Larry Burns Consultant PACCAR Data Services
  • 2.
  • 3.
  • 4.  
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. Tasks Tasks null smallint OverTimeHours null smallint ActHours7 null smallint EstHours7 null smallint etc, etc, etc… null smallint ActHours2 null smallint EstHours2 null smallint ActHours1 null smallint EstHours1 null tinyint WeekNo null varchar EmployeeName null int EmployeeNo null varchar ProjectMgr null int ProjectNo null varchar TaskDesc null varchar TaskTitle not null IDENTITY TaskID
  • 31. Event varchar EventDesc datetime EventDateTime … etc. etc. etc. int EventType3Key int EventType2Key int EventType1Key smallint EventTypeCode IDENTITY EventID
  • 32. The parameter list for your access procedure will have to look like this: CREATE PROCEDURE csEventProcedure (@EventTypeCode smallint, @EventType1Key int = null, @EventType2Key int = null, @EventType3Key int = null…) And the WHERE clause for the SELECT will have to look something like this: WHERE (@EventType1Key IS NOT NULL AND @EventType1Key = Event.EventType1Key)        OR (@EventType2Key IS NOT NULL AND @EventType2Key = Event.EventType2Key)        OR (@EventType3Key IS NOT NULL AND @EventType3Key = Event.EventType3Key)         … Or perhaps like this: WHERE (@EventTypeCode = 1 AND @EventType1Key = Event.EventType1Key)        OR (@EventTypeCode = 2 AND @EventType2Key = Event.EventType2Key)        OR (@EventTypeCode = 3 AND @EventType3Key = Event.EventType3Key)
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45. Data Synchronization Integration Diagram (includes event queue tables) Mainframe Databases CICS Reformat as XML Application Server CICS Trans Web Service 1 Web Method A Web Method C Web Method D Web Method B Web Method E Web Method F Web Method G Web Method H Web Method I SQL Database Integration Server CICS Listener TCP to MSMQ MSMQ Message Broker Web Service 2 Web Method J Metadata CICS Trans CICS Client
  • 46.
  • 47.
  • 48.
  • 49.
  • 50. Task TaskIdentifier [IDENTITY] TaskDescription [varchar(2000)] ProjectIdentifier [int – FK] AccountingCode [char(4) – FK] OvertimeApprovedIndicator [bit] TaskEnteredDateTime [datetime] Timestamp [timestamp] TaskStartDateTime [datetime] TaskEndDateTime [datetime] Account AccountingCode [char(4)] AccountDescription [varchar(75)] Timestamp [timestamp] Employee EmployeeIdentifier [IDENTITY] EmployeeLastName [varchar(75)] EmployeeFirstName [varchar(75)] Timestamp [timestamp] EmployeePhoneNo [varchar(12)] EmployeeEmail [varchar(255)] OTHoursToDate [decimal] ProjectDescription [varchar(2000)] Project ProjectIdentifier [IDENTITY] ProjectMgrEmployeeID [int – FK] Timestamp [timestamp] ProjectDescription [varchar(75)] TaskAssignment AssignmentStartDate [datetime] Timestamp [timestamp] TaskIdentifier [int – FK] EmployeeIdentifier [int – FK] ScheduledEndDate [datetime] HoursWorkedToDate [decimal] OTHoursToDate [decimal] Normalized application tables
  • 51. EmployeeTasks Account [varchar(75)] OTApproved [char(3)] HoursToDate [decimal] StartDate [char(10)] EndDate [char(10)] EmpName [varchar(120)] Project [varchar(75)] ProjectMgr [varchar(120)] Task [varchar(75)] OverTime [decimal] Customized application view
  • 52. SQL code to create the view CREATE VIEW EmployeeTasks (EmpName, Project, ProjectMgr, Task, Account, OTApproved, StartDate, EndDate, HoursToDate, OverTime) AS SELECT CONVERT(varchar(120), emp.EmployeeFirstName + ‘ ‘ + emp.EmployeeLastName), proj.ProjectDescription, CONVERT(varchar(120), emp2.EmployeeFirstName + ‘ ‘ + emp2.EmployeeLastName), CONVERT(varchar(75), task.TaskDescription), acct.AccountDescription, CASE task.OvertimeApprovedIndicator WHEN 1 THEN ‘Yes’ ELSE ‘No’ END, CONVERT(varchar, ta.AssignmentStartDate, 101), CONVERT(varchar, ta.AssignmentEndDate, 101), ta.OTHoursToDate FROM TaskAssignment ta INNER JOIN Task task ON ta.TaskIdentifier = task.TaskIdentifier INNER JOIN Employee emp ON ta.EmployeeIdentifier = emp.EmployeeIdentifier INNER JOIN Project proj ON task.ProjectIdentifier = proj.ProjectIdentifier INNER JOIN Employee emp2 ON proj.ProjectMgrEmployeeID = emp2.EmployeeIdentifier INNER JOIN Account acct ON task.AccountingCode = acct.AccountingCode
  • 53. Mapping Object to View AssignTask (EmpName, Project, Task, StartDate, EndDate) CompleteTask(EmpName, Project, Task) ApproveOT (EmpName, Project, Task, ProjectMgr) EmployeeTasks Account [varchar(75)] OTApproved [char(3)] HoursToDate [decimal] StartDate [char(10)] EndDate [char(10)] EmpName [varchar(120)] Project [varchar(75)] ProjectMgr [varchar(120)] Task [varchar(75)] OverTime [decimal] EmployeeTask Account [varchar(75)] OTApproved [char(3)] HoursToDate [decimal] StartDate [char(10)] EndDate [char(10)] EmpName [varchar(120)] Project [varchar(75)] ProjectMgr [varchar(120)] Task [varchar(75)] OverTime [decimal]
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.