SlideShare ist ein Scribd-Unternehmen logo
1 von 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]

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
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
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

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.