SQL Developer Data Modeler



Vergelijkbare documenten
Sparse columns in SQL server 2008

SQL & Datamodelleren

Introductie. NAV performance. Derk Jan Oelemans. Manager Development, BI en E-Business Qurius Business Solutions

DATAMODELLERING ER DIAGRAM

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd.

Inhoud. Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank

Databases - Inleiding

DECADE FINANCIALS. met APEX klaar voor de toekomst. Zeist

Toon TITEL, JAAR en PLATVORM van GAMES die voor het jaar 2000 uitkwamen op Nintendo 64

Is APEX a worthy substitute for Oracle Forms?

CB Goes Responsive. Ahead with smart logistics

DBMS SQL. Relationele databases. Sleutels. DataBase Management System. Inleiding relationele databases. bestaan uit tabellen.

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat:

De kracht van BI & Architectuur

6. Het maken van een database

Enterprisearchitectuur

Inhoud. Voorwoord 1 Belangrijkste kenmerken van dit boek 1 De opzet van dit boek 1 Over de auteurs 2 Woord van dank 2

Technisch Ontwerp W e b s i t e W O S I

Oracle Rolling Upgrades met SharePlex Systems Consultant Quest Software Nederland 9/

Elfde-Liniestraat Hasselt Schooljaar TINFO POKER GAME Oracle Scripts

ARE methodiek Het ontwikkelen van Informatie Elementen

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd.

opstarthandleiding mysqlworkbench November 2012 Fons van Kesteren HVA- CMD- V1 Datamodelleren

DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: Groep TDI 1

MA!N Rapportages en Analyses

Les 2 Eenvoudige queries

De plug-in is heel eenvoudig te installeren met een setup-programma. Waarna je een aantal menu opties in het tools menu er bij krijgt.

ContentSearch. Deep dive

DATAMODELLERING DATA MAPPING MODEL

Databases en SQL Foundation (DBSQLF.NL)

Databank - Basis 1. Inhoud. Computervaardigheden en Programmatie. Hoofdstuk 4 Databank - Basis. Terminologie. Navigeren door een Venster

Model driven Application Delivery

Data Definition Language

Client Applicaties (Browser+Desktop) http/https. Apache Webserver. http proxy. WMS WFS Adm SLD Tomcat. Tomcat. GeoServer. PostGIS

SQL datadefinitietaal

Thinking of development

Informatie Voor algemene vragen/opmerkingen omtrent de inhoud van deze site kunt u bellen of en met: Cargo Data Systems BV

Tools voor canonieke datamodellering Bert Dingemans

Relationele databases

DataFlex 19.0 SQL Server

APEX en JasperReports

SQL & Relationele datamodellen in interactieve media

SQL en XML. XML schema s & DMO. Entiteitsklasse en attribuut. SQL en XML. Datamodellering Schema een ruim begrip (zie Møller, p.

Data Governance van visie naar implementatie

ORBIS SOFTWARE TASKCENTRE INTEGREERT

Data Warehouse Script Generator Doel

Datamodelleren en databases 2011

Testen van Datawarehouses en Informa2e. Kan het 2x zo snel, 2x zo goedkoop en 2x zo volledig?

ER-modeling. Datamodellering Wat is ER-modeling?

ER-modeling. Wat is ER-modeling? ERD & relationeel model. ER-benadering DMO Datamodellering 2008

Praktijkcase Migratie van Livelink naar Sharepoint. Copyright Open Docs bv

INHOUD. Presentatie ICT werkervaring (voornamelijk) Gericht op databasetoepassingen. Sprekers. Allard van Amerongen Ing. Stefan Boekel

Ervaringen met het opzetten van een MDD omgeving

Inleiding. In dit college: Opzet van de cursus (1) DMO - introductie DMO Datamodellering 2008

De toekomst van Oracle Forms

SQL STATEMENTS. Deze kolom kan grote stukken tekst aan en is bedoeld om tekst erin de plaatsen. Geheel getal, bijvoorbeeld 8, 63, 835 NUMERIC

Windchill Document Management. - Digitaliseren van documenten en processen -

Tijd registreren met ASTRID. Ronald van Dijk en Marco de Kaper

INHOUDSOPGAVE Het Boekenwinkeltje Registreer.aspx Opgaven... 97

Azure en BI: niet alleen voor grote bedrijven

Continuous testing in DevOps met Test Automation

Maximo Tips and Tricks

Customer Case: WoningNet

Technische nota AbiFire Rapporten maken via ODBC

Hoog Beschikbaarheid en het waterschapshuis

Informatie & Databases

SQL Plan Management in Oracle11g Harald van Breederode

OGH Apex dag Hans Wijnacker. Golfscores.eu. Zeist,

Kevin Biront & Niels Doeleman AGNL Zaltbommel, 08 november ARIS Test Designer

12. Meer dan één tabel gebruiken en sub-queries

Requirements Traceability. Marcel de Baas, Jan Bank, Edwin Buisman, Frits Jacobs, Kitty Spaas, Erik Venema, Arno Zandman

Ceyenne Concentrator

1. Inleiding Inleiding SQL Inleiding Database, databaseserver en databasetaal Het relationele model...

OTB Workshop. Van PDM naar PLM. Migratie van Intralink 3.x naar PDMLink of Intralink 8.0

Proces to model en model to execute

Snel gegevens importeren en updaten met Importeren uit Excel voor SAP Business One

Wat heeft een tester aan ASL en BiSL?

Application deployment bij Fortis Verzekeringen Nederland

Copyright IBS Nieuwbouw. Vereenvoudigd en versnelt Java ontwikkeling. Huub Cleutjens

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

Capita Selecta Design Patterns voor administratieve applicaties

Oracle Designer 2.1. Genereren vanuit de Design Editor

Titel Uw processen transparant met SAP Process Mining.

SHAREPOINT ONLINE (SAMEN-)WERKEN IN DE WOLKEN. - Workshop SharePoint 1

TESTAUTOMATISERING IN EEN ETL-OMGEVING

1. * Database worden vaak gebruikt in Client-Server architectuur.

Gebruikershandleiding DAMO Watersysteem. Versie 1.0

Een platformaanpak voor moderne architectuurontwikkeling

Big Data en Testen samen in een veranderend speelveld. Testnet 10 april 2014 Paul Rakké

DATAMODELLERING DATA FLOW DIAGRAM

Op zoek naar nieuwe business modellen

Pijlers van Beheer. Bram van der Vos

Invantive Producer. Als integriteit en compliance noodzakelijk is. Maar niks extra mag kosten.

Transcriptie:

SQL Developer Data Modeler Een migratiepad vanuit Oracle Designer Chris Amelink, Manager SO Mark Rooijakkers, Technisch Architect Hans Joop Leendertse, Willem Cortenraad, Technisch directeur Architect 22 Datum november 24-09-2013 2012 1

Doelstelling van deze sessie Aanleiding: CB zoekt vervanger voor Designer Data Modeler kan hierin een grote rol spelen Import functie van Data Modeler voldoet Voldoende mogelijkheden om de import aan te vullen en te controleren We zijn geinteresseerd in feedback en sparring partners 2

Introductie CB-logistics Missie Bijdragen aan duurzaam succes van onze klanten door integrale logistieke oplossingen Visie Met slimme ketenlogistiek duurzame voordelen realiseren voor onze stakeholders. Kernwaarden Toegewijd, initiatiefrijk en klantgericht 3

Waarom CB? Integrale oplossingen Distributie, administratie, informatie en vervoer Ketenlogistiek Maximale efficiency door afgestemde processen Kostenbeheersing in de keten Duurzaamheid als uitgangspunt Duurzame klantrelaties Continue aandacht voor de milieueffecten van onze activiteiten 4

Onze markten Media Boekverkopers en overige retail Uitgeverijen Fashion Retailers Producenten en importeurs Healthcare Ziekenhuizen en zorginstellingen Groothandels en producenten Beeld HC 5

Een rijke historie 1871 Nederland is het eerste land met gecentraliseerde boekdistributie 1985 Start distributie in kantoorartikelenmarkt 1999 Start distributie voor webwinkels 2001 Volledig geautomatiseerd bestelsysteem voor retailers 2003 Introductie dienstverlening in Belgie 2009 Start digitale distributie (e-books) 2012 Actief in de markten Media, Fashion & Healthcare met 800 mensen in dienst 6

Systeemontwikkeling ~ 40 man/vrouw 4 Informatie Analisten/Architecten 2 Technisch Architecten 25 Oracle Ontwikkelaars 4 Scrummasters 4 Testers Designer/Developer, Forms, Reports, PL/SQL Opdracht: Uitfaseren Designer CB is geinteresseerd in status van Designer bij anderen = De reden dat we hier staan 7

Inhoud Doelstelling van deze sessie Introductie CB-logistics Gebruik van Designer bij CB-logistics Introductie Data Modeler De standaard import functionaliteit Omgang met complexe containers Aanvullingen op de standaard import Controle van het resultaat Samenvatting en vragen 8

Gebruik van Designer bij CB Upper CASE: Vastleggen Bedrijfsprocessen en Bedrijfsprocedures (BusinessFunctions) Gegevensmodel (Entiteiten en ERD) Structural rules (beperkingsregels aanvullend op ERD->BusinessFunctions) Lower CASE: Datamodel, Modules en PL/SQL Definitions Module netwerk (koppelingen tussen diverse onderdelen) Incidenteel Forms/Reports genereren Opslag van overige objecten Versie beheer van objecten Deployment management (UDS) Kwaliteitscontrole (selecties op Repository) 9

Gebruik van Designer buiten CB? Even enkele vragen aan t publiek: - Wie werkt er bij een bedrijf dat Designer gebruikt? - Wie heeft er ook zo n kasteel als bij CB? - Designer voor Datamodelleren? - Plannen om binnen nu en 2 jaar Designer uit te faseren? - Nog geen plannen om Designer uit te faseren? 10

Soorten objecten in Designer Business functions Entiteiten Domeinen Tabellen, views, types PL/SQL Definitions Modules Forms, reports APEX JCS Pro*C Shell script Java XML, XSD Upper Case Lower Case 11

Gebruik Designer per object soort Object Ontw Opslag Mod netw Doc Versie beh Datamodellering X X X X X (PL)SQL X X X X X Forms, Reports X X X X APEX X X X JCS/Cronacle X X X X Pro*C X X X Shell script X X X X Java X X X X XML, XSD X X X X 12

Designer werkt (nog), maar Informatie Analisten: Bedrijfsfuncties en processen buiten Designer Office objecten slecht te integreren in Designer Doelgroep van Designer is afdeling Automatisering Designer wordt niet meer doorontwikkeld: Moderne database objecten (van na ca 2000) worden niet ondersteund -> handmatige acties om code te documenteren in Designer Geen moderne ontwikkeltool voor (PL)SQL Ontwikkelaars gebruiken liever SQL Developer Actualiteit van objecten in Designer in gevaar Onderhouden van Reports érg tijdrovend BI publisher Oracle Forms blijft, maar steeds meer APEX Kennis van Designer in de markt loopt terug Ondersteuning op Windows-platform??? 13

Is er een opvolger voor Designer? Oracle biedt geen opvolger Dus moeten we verhuizen. 14

Voorstel nieuwe CB ontwikkelomgeving Forms/Reports APEX JCS/Cronacle Versie controle systeem Data Modeler - Wie gebruikt SQL Developer? - Wie gebruikt Data Modeler? SQL Developer J Developer VCS plugin Oracle IDE base 15

Inhoud Doelstelling van deze sessie Introductie CB-logistics Gebruik van Designer bij CB-logistics Introductie Data Modeler De standaard import functionaliteit Omgang met complexe containers Aanvullingen op de standaard import Controle van het resultaat Samenvatting en vragen 16

Introductie Data Modeler Database Development Life Cycle Strategy and Analysis Phase Gather requirements Logical Model Entity Relationship Diagram Design Phase Define How Model Implemented Relational Model and Physical Model Generation Phase DDL Scripts to Build Database 17

Introductie Data Modeler Logical Data Modeling Attributes Entity Relationship Entities Things of significance that must be held Relationships How these things are related Attributes Specific information that must be known 18

Introductie Data Modeler Database Design 19 Describe Database Objects Tables, Columns, Primary and Foreign Keys Relational Model maps to the objects in Logical Model Physical Model - Based on Relational Model Tablespaces, Partitions, Users, Procedures, Sequences, Triggers

Introductie Data Modeler Generate SQL Script to Create Database Objects 20

Data Modeler lijkt dus een prima optie Ondersteund het datamodelleringsproces (overeenkomstig Designer) Designer informatie kan ook nog worden geimporteerd Dat ziet er dus interessant uit, en is voor ons de reden om hier vanavond verder op in te gaan 21

Inhoud Doelstelling van deze sessie Introductie CB-logistics Gebruik van Designer bij CB-logistics Introductie Data Modeler De standaard import functionaliteit Omgang met complexe containers Aanvullingen op de standaard import Controle van het resultaat Samenvatting en vragen 22

De standaard import functionaliteiten Import mogelijk vanuit: Database (Oracle, SQL Server, DB2) Modeling tools (Designer, Erwin) Vanuit de modeling tools wordt ook de metadata overgehaald Gebruikte versie Data Modeler: 4.0 EA1 23

De standaard import vanuit Designer Stappen: Verbinding naar Designer database maken Selecteer Workarea Selecteer Applicatie Systeem Selecteer te importeren objecten 24

De standaard import vanuit Designer(2) Genereer design 25

Resultaat:? 26

Overzicht van een tabel:? Foreign key naar view 27

Detail van een tabel: 28

Overzicht van een view:? 29

Detail van een view: 30

Data Structure Diagram wordt SubView 31

Samenvatting Vanaf versie 3.3.0.747 / 4.0 is de data kwaliteit van de import goed De import procedure is eenvoudig 32

Inhoud Doelstelling van deze sessie Introductie CB-logistics Gebruik van Designer bij CB-logistics Introductie Data Modeler De standaard import functionaliteit Omgang met complexe containers Aanvullingen op de standaard import Controle van het resultaat Samenvatting en vragen 33

Een design in Data Modeler 34 Designer import

Container met meer schema s CBS Content Beheer Systeem Database CBS CBS Database 1 Database 2 Service objecten Service objecten 35

Alternatieve import manieren Container Design CBS Service objecten Relational model Relational model Design Relational model 36 Subview Subview

Alternatief 1: Opsplitsen in subviews gebaseerd op schema informatie Een subview beschrijft een deel van het model. In dit geval is een subview gelijk aan het schema. 37

Alternatief 2: Opsplitsen in relationele modellen gebaseerd op schema informatie Vanaf 4.0 via: Oudere versies: handmatig 38

Schema informatie toevoegen Schema informatie ontbreekt in Designer import -> zelf schema s aanmaken Koppeling schema object ontbreekt -> zelf koppelingen maken 39

Let op! Na het toevoegen van de schemainformatie zijn de query teksten van de views niet meer te bewerken via de grafische Query editor! Dit komt door het ontbreken van de schemanaam. 40

Performance tip! Selecteer relationeel model waaraan je wilt werken 41

Samenvatting Schema informatie ontbreekt bij Designer import Opdelen van designs in: Subviews: voor eenvoudige designs Relationele modellen: voor complexe designs 42

Inhoud Doelstelling van deze sessie Introductie CB-logistics Gebruik van Designer bij CB-logistics Introductie Data Modeler De standaard import functionaliteit Omgang met complexe containers Aanvullingen op de standaard import Controle van het resultaat Samenvatting en vragen 43

Aanvullingen op standaard import Gebruik van custom transformation scripts voor bijv.: Toevoegen schema informatie Structural rules (beperkingsregels aanvullend op ERD->BusinessFunctions) Transformation scripts zijn java script programma s en kunnen via Data Modeler gestart worden. 44

Transformation script (java script) Aanmaken van een schema en koppel aan objecten // Bestaat schema? dan alsnog maken schema = model.getschemaobjectset().getbyname( CBS"); if (schema === null){ } schema = model.getschemaobjectset().createschemaobject(null); schema.setname( CBS"); table = model.gettableset().getbyname( CONTENT"); if (table!== null){ } // bestaat tabel?, dan koppelen table.setschema(schema); // Zoek alle indexen bij tabel en koppel aan schema indexes = table.getindexes().toarray(); for (var t = 0; t<indexes.length;t++){ } idx = table.getindexbyname(indexes[t].getname()); idx.setschema(schema); view = model.gettableviewset().getbyname("sv_cbs_clob_delen"); if (view!== null){ } // bestaat view?, dan koppelen view.setschema(schema); Schema aanmaken Tabel koppelen Indexen koppelen View koppelen 45

Transformation script genereren uit Designer en verwerken in Data Modeler Designer Designer DB SQL query Data Modeler Transformation tool Transformation script 46 Design (XML)

Script toevoegen in library 47

Script uitvoeren 48

Structural rule informatie 49

Java script info = model.getdesign().getbusinessinfodesign(); document = info.getdocumentset().createdocument(null); document.setname("sr_cbs_d02"); document.setreference("de Content clob kan alleen gevuld zijn indien filelocatie leeg is en moet dan ook gevuld zijn indien het geen recensie betreft"); document.settype("structural rule"); document.setcomment("regel\n=====\nindien de content wordt opgeslagen op het.."); table = model.gettableset().getbyname("content"); if (table!== null){ table.adddocument(document); table.setdirty(true);} table = model.gettableset().getbyname("content_soort"); if (table!== null){ table.adddocument(document); table.setdirty(true);} 50

Resultaat 51

52

Inhoud Doelstelling van deze sessie Introductie CB-logistics Gebruik van Designer bij CB-logistics Introductie Data Modeler De standaard import functionaliteit Omgang met complexe containers Aanvullingen op de standaard import Controle van het resultaat Samenvatting en vragen 53

Controle van de import Controle van views met Query Builder 54

Controle van de import(2) Controle met database import Designer Generator script Target DB DDL Import Import Data Modeler Gelijk 55?

Import db en vergelijk 56

Kolom check constraints In designer is er geen verschil tussen named tabel en kolom constraints In DM zijn er tabel- en kolomlevel constraints: Bij Designer import worden alle constraints table level constraints Instellen compare opties: 57

Controle van de import(3) Vergelijk reporting schema met Designer Designer Designer DB Query Data Modeler Export Reporting schema 58 Design (XML)

Export van een design 59

Vergelijk de foreign keys Reporting schema query select f.child_table_name, f.fk_name, f.object_id from dmrs_foreignkeys f order by f.fk_name; Tabelnaam FK Data Modeler FK Designer Designer query select t.name, o.name, o.irid, tref.name table_ref, foltref.name container_ref from sdd_oco o, sdd_tab t, sdd_folder_members apptab, sdd_folders fol, sdd_tab tref -- foreign table ref, sdd_folder_members apptref, sdd_folders foltref where t.irid = o.table_ref and apptab.member_object = t.irid and apptab.folder_reference = fol.irid and o.foreign_table_ref = tref.irid and apptref.member_object = tref.irid and apptref.folder_reference = foltref.irid and fol.name = 'ART_ASSBEH' and t.name not like '~%' and o.name not like '%T' --pk and o.name not like '%K' --kolom constraint and o.name not like '%R' --rij constraint and o.constraint_type = 'FOREIGN' and apptref.ownership_flag = 'Y' order by o.name; Referenced table Designer container ART_PRIJS APS01D APS01D ARTIKEL ART_ASSBEH APS09D CB_DOMEIN_WAARDE GEN_CENTRAL APS11D V_ARTIKEL_BETROKKENE ART_ASSBEH 60

Samenvatting Controle van import is noodzakelijk Er zijn diverse (te automatiseren) controles mogelijk 61

Inhoud Doelstelling van deze sessie Introductie CB-logistics Gebruik van Designer bij CB-logistics Introductie Data Modeler De standaard import functionaliteit Omgang met complexe containers Aanvullingen op de standaard import Controle van het resultaat Samenvatting en vragen 62

Do en don t Als de import van Designer belangrijk is, gebruik dan uitsluitend DM versie 3.3.0.747 of later Denk goed na welke import variant je gaat gebruiken Denk aan performance, een design wordt in z n geheel in het geheugen gelezen! 63

Samenvatting De standaard import haalt veel informatie over en de kwaliteit is goed Ontbrekende informatie kan handmatig of via scripts worden toegevoegd Bepaalde informatie (bijv. Foreign Keys) kan deels verdwijnen, daarom is controle essentieel Er zijn volgende mogelijkheden om kwaliteitscontroles uit te voeren Conclusie: Data Modeler is een passend tool ter vervanging van de datamodeling functionaliteit van Designer 64

Vragen? Contact info: SOTechnischArchitecten@cb-logistics.nl 65

Bedankt voor de aandacht 66