SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
1
Oliver Lemm
Qualitätsstandards in der
Datenbankentwicklung #ittage
3
über mich
Fachbereichsleiter APEX
Architekt, Projektleiter und Entwickler
4
Wir platzieren uns unter die Top 20 IT-Dienstleister in Deutschland!
> 800 Mitarbeitende
Weltweit 14 Standorte
> 150 Kunden
> 10 Industrien
Dortmund
5
1.
3.
5.
2.
4.
Agenda
Grundlagen Qualitätsstandards
Datenmodell
Datenqualität
Codequalität
Tools & Fazit
6
Grundlagen Qualitätsstandards
Datenbanknormalformen
1NF
2NF
3NF
BCNF
4NF
5NF
7
Grundlagen – Softwarequalität nach ISO 9126 / ISO 25000
Softwarequalität
Funktionalität
Zuverlässigkeit
Benutzbarkeit
Effizienz
Wartbarkeit
Übertragbarkeit
8
Grundlagen – übertragen auf die Datenbankentwicklung
Benutzbarkeit
Effizienz
Wartbarkeit
Übertragbarkeit
Funktionalität
Zuverlässigkeit
• Umgang mit IDE Tools
• Vorgaben
• Nutzung von Templates
• Optimizer/Indices
• Kapselung von Logik
• Testbarkeit
• Standards
• Versionierung
• Datenbanknormalformen
• Datenbanksetup
• Restriktives Datenmodell
• Datenbanknormalformen
9
Qualitätsbereiche in der DB
DDL
Datenstrukturen
„Tabellen“
SQL &
PL/SQL
Quellcode
„Create or Replace“
DML
Daten
10
Datenstrukturen „DDL“
Data Structur
„Schema“
Naming
Rules
Datatype
„Domains“
Primary &
Foreign Keys
Constraints
Indices
Datafile
Tablespaces
Audit
Information
Comments
11
DDL Beispiel
12
Quellcode „SQL“ & „PL/SQL“
IDE / Tooling
Versioning
Code
Encapsulation
Naming Rules
Code
Formating
Exception
Handling
Logging
Object
Restrictions
Comments
PLdoc
13
PL/SQL Beispiel
14
Daten „DML“
Data
Integrity
Data
Quality
Data
Security
Versioning
Technical
Keys
Reference
Data
Data
Comparison
15
Vom Ansatz zum Tool
Prüfung von
Standards
Entwicklungsrichtlinien
Daten
Funktionalität
in der Datenbank
mittels SQL Abfragen
gegen Metadaten
16
Bereiche zum Prüfen
DDL
PL/SQL
DML
APP
• Entwicklungsrichtlinien
• Objekteigenschaften
• Entwicklungsrichtlinien
• Funktionstests
• Stammdaten
• Bewegungsdaten
• Entwicklungsrichtlinien
• Metadaten
17
QUASTO - https://github.com/mt-ag/quasto
18
Logger - https://github.com/OraOpenSource/Logger
19
utPLSQL - https://github.com/utPLSQL/utPLSQL
20
Oracle Application Express - APEX
https://www.oracle.com/tools/downloads/apex-downloads/
21
Live-Demo
22
3
1 2
QUASTO „Architektur“ Möglichkeiten zum Einsatz von Quasto
Datenbank
Schema A
Anwendung QUASTO
1. Ansatz
Quasto & Testschema
zusammen
Datenbank
Schema
A
Anwendung
A
QS
Schema
QUASTO
Schema
B
Anwendung
B
2. Ansatz
zentrales Quasto Schema
Remote aufgerufen
3. Ansatz
zentrales Quasto Schema
testet andere Schema
Datenbank
Schema
A
Anwendung
A
QS
Schema
QUASTO
Schema
B
Anwendung
B
23
QUASTO
• Schema „QUASTO“ erstellen
• SYS - SQL>grant create procedure, public synonym, sequence, table,
trigger, type, view, job, session to quasto;
• QUASTO – SQL>@install [1/0] [1/0] [1/0] [1/0]
Parameter
• 1. Parameter => utPLSQL Unterstützung
• 2. Parameter => APEX Unterstützung
• 3. Parameter => Jenkins Unterstützung
• 4. Parameter => Logger Unterstützung
Installation
• Version 23.2
• komplett neue Installation möglich
• upgrade von 1.0 oder 1.1 möglich
Quasto
• Nutzung von Logger
• Nutzung von utPLSQL
• Nutzung von APEX
Optional
24
utPLSQL
• SYS – SQL>@create_utPLSQL_owner.sql ut3 <pw> users
• SYS - SQL>grant create session, procedure, type, table, sequence,
view, public synonym, synonym, trigger, any context to ut3;
• SYS – SQL>grant alter session to ut3;
• UT3 – SQL>@install ut3
• UT3 – SQL>@install_ddl_trigger ut3
Berechtigungen für Quasto
• UT3 – SQL>@create_user_grants ut3 quasto
• UT3 – SQL>@create_user_synonym ut3 quasto
Installation
• Version 3.1.13+
utPLSQL
• utPLSQL-cli
• utPLSQL SQL Developer extension
• utPLSQL PL/SQL Developer extension
Optional
25
Logger Installation
• SYS - SQL>@create_user
• SYS - SQL>grant connect, create view, create job, create table, create
sequence, create trigger, create procedure, create any context to
logger;
• LOGGER – SQL>@logger_install
Berechtigungen für QUASTO auf Logger
• SYS – SQL> grant create synonym to quasto;
• QUASTO - SQL>@scripts/create_logger_synonyms logger
Installation
• Version 3.1.1+
• Logger ist optional
• Integration in QUASTO möglich
Logger
• anstatt Logger auch Custom Logging
möglich
Optional
26
APEX Installation
• SYS - SQL>@apexins APEX APEX TEMP /i/
Berechtigungen für QUASTO auf APEX
• Workspace für QUASTO über internal auf vorhandenem Schema
erstellen
• SYS – SQL>grant APEX_ADMINISTRATOR_ROLE to quasto;
Installation
• Version 23.1+ (für die APP, ansonsten
jede APEX Version)
APEX
Optional
27
QUASTO Releases
1.0
•15.09.2022
1.1
•21.04.2023
23.2
•16.11.2023
30
Regeldefinition
31
Regelexport & Import
sqlplus <user>/<pw>@<db> @export_rules_to_file.sql "<project>" ""
=> git_quastosrcscriptsexport_rules_to_file.sql
Export
• mittels SQLPlus
Export
• mittels SQLcl
• JavaScript in SQLcl wird genutzt
• Java 8 / 11 supportet. Für Java 15+ muss
spezielles JDK für JavaScript Engine in
SQLcl installiert werden
Import Import
sql <user>/<pw>@<db> @import.sql
script import_file_to_rules.js "<json rule file>" 1
=> git_quastosrcscriptsimport_file_to_rules.js
32
Regeln im JSON Format
33
utPLSQL Generierung
declare
pi_scheme_names varchar2_tab_t := new varchar2_tab_t('DEMO');
begin
qa_unit_tests_pkg.p_create_unit_test_packages(
pi_option => qa_constant_pkg.gc_utplsql_single_package,
pi_scheme_names => pi_scheme_names,
pi_delete_test_packages => ‘Y’
);
end;
gc_utplsql_single_package constant number := 1;
gc_utplsql_single_package_per_rule constant number := 2;
ohne Parameter Package für jedes Schema
N / Y => default N
qa_ut_demo_mt_ag_pkg
34
utPLSQL Tests ausführen
declare
l_return clob;
begin
l_return := qa_unit_tests_pkg.f_run_unit_tests(
pi_client_name => ‘MT AG’,
pi_scheme_name => ‘DEMO‘);
end;
Projektname
Schema was getestet wird
Unit Test konformes XML wird erzeugt
35
utPLSQL Result – Unit Test konformes XML
36
utPLSQL Ergebnisse in der APP
37
Ausblick
• Einfachere Pflege
• Verbesserte
Ausführung
• Bessere Ausgabe
• Validierung der
Regeln
Regeln
• Region Plugin
• Usability
APEX Integration
• Pipelinebeispiel für
Jenkins
CI / CD Integration
• Verbesserte
Dokumentation
Dokumentation
38
Haben wir Ihr Interesse geweckt?
MT GmbH
Balcke-Dürr-Allee 9
40882 Ratingen
www.mt-itsolutions.com
Oliver Lemm
Fachbereichsleiter APEX
tel: +49 2102 30 961-164
mail: oliver.lemm@mt-itsolutions.com
https://www.linkedin.com/in/oliverlemm
@OliverLemm

Weitere ähnliche Inhalte

Ähnlich wie Qualitätsstandards in der Datenbankentwicklung.pdf

Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
SHI Search | Analytics | Big Data
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
Virttoo org
 

Ähnlich wie Qualitätsstandards in der Datenbankentwicklung.pdf (20)

Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020
 
Enterprise APEX
Enterprise APEXEnterprise APEX
Enterprise APEX
 
Warum Monitoring und warum Icinga 2 (Webinar vom 04.12.2013)
Warum Monitoring und warum Icinga 2 (Webinar vom 04.12.2013)Warum Monitoring und warum Icinga 2 (Webinar vom 04.12.2013)
Warum Monitoring und warum Icinga 2 (Webinar vom 04.12.2013)
 
Microsoft Azure Platform - System Management v.0.5
Microsoft Azure Platform -  System Management v.0.5 Microsoft Azure Platform -  System Management v.0.5
Microsoft Azure Platform - System Management v.0.5
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & Features
 
Roadshow: «Whats new in sql server 2014»
Roadshow: «Whats new in sql server 2014»Roadshow: «Whats new in sql server 2014»
Roadshow: «Whats new in sql server 2014»
 
Azure für SysAdmins Eine Reise durch die Cloud v.0.5
Azure für SysAdmins   Eine Reise durch die Cloud v.0.5 Azure für SysAdmins   Eine Reise durch die Cloud v.0.5
Azure für SysAdmins Eine Reise durch die Cloud v.0.5
 
Sesam (APEX) Öffne Dich
Sesam (APEX) Öffne DichSesam (APEX) Öffne Dich
Sesam (APEX) Öffne Dich
 
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
 
Präsentation Werdegang tassilo koller
Präsentation Werdegang tassilo kollerPräsentation Werdegang tassilo koller
Präsentation Werdegang tassilo koller
 
Webinar - Boost your ABAP
Webinar - Boost your ABAPWebinar - Boost your ABAP
Webinar - Boost your ABAP
 
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server Optimierung
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server OptimierungUwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server Optimierung
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server Optimierung
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
 
Trivadis triCast Oracle Centrally Managed Users 18/19c
Trivadis triCast Oracle Centrally Managed Users 18/19cTrivadis triCast Oracle Centrally Managed Users 18/19c
Trivadis triCast Oracle Centrally Managed Users 18/19c
 
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...
 
Ringvorlesung: FIO Systems AG stellt Projektziel zum Thema Software Design Pa...
Ringvorlesung: FIO Systems AG stellt Projektziel zum Thema Software Design Pa...Ringvorlesung: FIO Systems AG stellt Projektziel zum Thema Software Design Pa...
Ringvorlesung: FIO Systems AG stellt Projektziel zum Thema Software Design Pa...
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge
 
Continuous Delivery as a Way of Life
Continuous Delivery as a Way of LifeContinuous Delivery as a Way of Life
Continuous Delivery as a Way of Life
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case Helvetia
 
SplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use CaseSplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use Case
 

Mehr von Oliver Lemm

Mehr von Oliver Lemm (20)

APEX Page Items in detail
APEX Page Items in detailAPEX Page Items in detail
APEX Page Items in detail
 
confirm & alert
confirm & alertconfirm & alert
confirm & alert
 
APEX richtig installieren und konfigurieren
APEX richtig installieren und konfigurierenAPEX richtig installieren und konfigurieren
APEX richtig installieren und konfigurieren
 
APEX Migration
APEX MigrationAPEX Migration
APEX Migration
 
Jenkins Pipelines Advanced
Jenkins Pipelines AdvancedJenkins Pipelines Advanced
Jenkins Pipelines Advanced
 
From Dev to Ops
From Dev to OpsFrom Dev to Ops
From Dev to Ops
 
Das Universal Theme in APEX 19
Das Universal Theme in APEX 19Das Universal Theme in APEX 19
Das Universal Theme in APEX 19
 
Jenkins Pipeline meets Oracle
Jenkins Pipeline meets OracleJenkins Pipeline meets Oracle
Jenkins Pipeline meets Oracle
 
REST mit APEX 18.1
REST mit APEX 18.1REST mit APEX 18.1
REST mit APEX 18.1
 
Schritt für Schritt ins Grid
Schritt für Schritt ins GridSchritt für Schritt ins Grid
Schritt für Schritt ins Grid
 
Migration ins Universal Theme 1.1
Migration ins Universal Theme 1.1Migration ins Universal Theme 1.1
Migration ins Universal Theme 1.1
 
Mastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentMastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union Investment
 
Mastering Universal Theme with corporate design from union investment
Mastering Universal Theme with corporate design from union investmentMastering Universal Theme with corporate design from union investment
Mastering Universal Theme with corporate design from union investment
 
Jetlag - Oracle Jet und APEX
Jetlag - Oracle Jet und APEXJetlag - Oracle Jet und APEX
Jetlag - Oracle Jet und APEX
 
Wieder verschätzt?
Wieder verschätzt?Wieder verschätzt?
Wieder verschätzt?
 
Komplexe Daten mit Oracle Jet einfach aufbereitet
Komplexe Daten mit Oracle Jet einfach aufbereitetKomplexe Daten mit Oracle Jet einfach aufbereitet
Komplexe Daten mit Oracle Jet einfach aufbereitet
 
Mastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentMastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union Investment
 
Echtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & CoEchtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & Co
 
How to use source control with apex?
How to use source control with apex?How to use source control with apex?
How to use source control with apex?
 
The APEX QA Plugin
The APEX QA PluginThe APEX QA Plugin
The APEX QA Plugin
 

Qualitätsstandards in der Datenbankentwicklung.pdf