Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ER Diagramm, Viso -> MS SQL Server (https://www.delphipraxis.net/87726-er-diagramm-viso-ms-sql-server.html)

Salomon 5. Mär 2007 11:03

Datenbank: MS SQL Server 2005 Express • Zugriff über: ADO

ER Diagramm, Viso -> MS SQL Server
 
Hallo,
befor ich meine Datenbank auf dem Server erstelle wollte ich ganz gerne ein ER-Diagramm erstellen. Mit Visio funktioniert das ganz gut. Ich habe gehört das man aus diesem Visio ER-Diragramm auch gleich eine DB auf dem MS SQL Server erstellen kann. Hat das schon einmal jemand ausprobiert? Ist das sinnvoll, oder soll ich anhand des Diagramms die SQL Scripte für die DB lieber per Hand schreiben?

Thanx
Marcus

ps. Ich hoffe die Frage ist erlaubt. Hängt ja nicht zwangsläufig mit Delphi zusammen. Aber ich denke hier gibt es einige gute DB Entwickler.

Bernhard Geyer 5. Mär 2007 11:07

Re: ER Diagramm, Viso -> MS SQL Server
 
Kommt darauf an welche Visio-Edition/Version du hast und ob es MS endlich geschaft hat das Cascadierte Löschoperationen nicht per Trigger abgebildet werden sondern gleich per DDL so definiert werden das hier kein Performancegrab entsteht.

Salomon 5. Mär 2007 11:14

Re: ER Diagramm, Viso -> MS SQL Server
 
Ich habe die Visio 2003 Professional (englisch) Version. Ich lese aus deiner Antwort das das ganze generell gut funktioniert, nur das die erzeugte DB nicht unbedingt auf Geschwindigkeit optimiert ist?

Bernhard Geyer 5. Mär 2007 11:18

Re: ER Diagramm, Viso -> MS SQL Server
 
Es kommt wie gesagt auch darauf an ob mittlerweile auch Cascadiertes Löschen über DDL-Definition funktioniert. Ansonsten hast Du u.U. für jedes Cascadier-Löschung 100 Zeilen Trigger-Coder der in 1 Zeile DDL-Definition abbildbar wäre.

Erzeuge doch mal ein Beispielprojekt mit 2 Tabellen und einer Cascadierten Löschdefinition dazwischen und Poste das erzeugte Script.

Salomon 5. Mär 2007 11:22

Re: ER Diagramm, Viso -> MS SQL Server
 
Okay, ich probier das mal aus. Kann aber noch etwas dauern. Ich postet dann hier den generierten code.

marabu 5. Mär 2007 11:26

Re: ER Diagramm, Viso -> MS SQL Server
 
Hallo,

kaskadierendes Delete per DDL wird seit SQL Server 2000 unterstützt. Leider werden aber nur zwei (NO ACTION, CASCADE) der sechs gängigen Business Rules per DDL Action abgebildet. Beispielsweise NULLIFY muss immer noch per Trigger realisiert werden.

Grüße vom marabu

Bernhard Geyer 5. Mär 2007 11:36

Re: ER Diagramm, Viso -> MS SQL Server
 
Zitat:

Zitat von marabu
kaskadierendes Delete per DDL wird seit SQL Server 2000 unterstützt. Leider werden aber nur zwei (NO ACTION, CASCADE) der sechs gängigen Business Rules per DDL Action abgebildet. Beispielsweise NULLIFY muss immer noch per Trigger realisiert werden.

Wußte ich nicht. Hab mit ERWin zu 97er-Zeiten mein Scripts automatisch generieren lassen. War ziemlich enttäuscht das nach Release der MS SQL 2000er-Version sowohl ERWin als auch Visio mit ihrer neuen Version hier zu 100% versagt hatten und immer noch alles per Trigger erledigt hatten.

Salomon 6. Mär 2007 11:06

Re: ER Diagramm, Viso -> MS SQL Server
 
Ich habe jetzt ein ER-Diagram entworfen. Allerdings bekomme ich den Export nach MS SQL Server nicht hin... Es gibt in Visio den Punkt "Tools -> Export to Database". Die Verbindung zu DB funktioniert über meine eingerichtete ODBC Schnittstelle :) Nur wie sage ich dem Tool das er das gesamte ER-Diagramm in die DB spielen soll? Hat da jemand Erfahrung?

@Bernhard Geyer: Wie kann ich mir den von Visio aus dem ER-Model erzeugten SQL Code anzeigen lasssen?

Bernhard Geyer 6. Mär 2007 12:50

Re: ER Diagramm, Viso -> MS SQL Server
 
Zitat:

Zitat von Salomon
Die Verbindung zu DB funktioniert über meine eingerichtete ODBC Schnittstelle :)

ODBC bei MS SQL-Server ist ganz schlecht. Sollte bei Visio über ADO funktionieren.

Zitat:

Zitat von Salomon
Wie kann ich mir den von Visio aus dem ER-Model erzeugten SQL Code anzeigen lasssen?

Ist schon so lange her (6-7 Jahre) das ich nicht mehr weiß welcher Menüpunkt das wäre. Sorry.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz