I have been looking for several days to no avail and I just want a tool to create ERD diagrams from the GET_DDL() output in Snowflake. I cannot connect directly to the database for security reasons and the ERD diagrams must be generated from the DDL only. It is completely fine if it cost money, but I cannot find a tool that accomplishes this. Thus far, I have tried:
DBeaver (Requires live connections)
DBSchema (Poor documentation and keeps throwing errors)
SQLdbm (Also, throws unknown error with output)
Visual Paradigm
DBVisualiser
I would love to use one of the above listed tools if someone knows how to use them OR pay money for a tool that actually works. I'm just looking for any solution to this that is quick and cost less than $200 roughly to use.
We use ER Studio by Idera for this (https://www.idera.com/er-studio-enterprise-architecture-solutions). Unfortunately is way over your budget at around USD1400 per license.
However, it allows you to create a model by importing the DDL in a .sql file. Initially it did not support Snowflake, and we have to make the DDL Oracle compatible (closest supported DB), but is now supports Snowflake.
Have you tried Oracle SQL Data Modeler? https://www.oracle.com/database/technologies/appdev/datamodeler.html
It's free...
You have listed DBSchema as one of the options but faced some difficulty. Below link provides complete guideline as how to use DBSchema to generate ERD for Snowflake. It uses JDBC driver to connect to Snowflake.
https://community.snowflake.com/s/article/DBSchema-Entity-Relationship-Diagramming-for-Snowflake
Related
I have look at the Rails docs and would like to use the same tool to create a relationship diagram like this. does anyone know the tool that was used?
rails erd relationship diagram
I think that is created using Photoshop, I knew a tool which made little bit near the design e.g
The Balsamiq Products but it is not free. You can use MySQL Workbench it's very nice and free. MySQL Workbench is a unified visual tool for database architects, developers, and DBAs. MySQL Workbench provides data modeling, SQL development, and comprehensive administration tools for server configuration, user administration, backup, and much more. MySQL Workbench is available on Windows, Linux and Mac OS X.
Also, ERDPLUS is a good tool.
I know that you can write extensions that you can call from Cypher, but I'd really like to avoid having to write Java. I'm thinking something similar to SQL Server stored procedures. Is this possible, or could I maybe write a Cypher query and wrap it in some minimal Java to make the current capabilities work?
Besides #InverseFalcon's answer, there is really no Transact-SQL or PL/SQL-like languages for graphs yet.
The closest language I am aware of is SAP's GraphScriph:
GraphScript is a domain-specific, read-only graph query language tailored to serve advanced graph analysis tasks and to ease the specification of custom, complex graph algorithms.
Caveats: it is only available in the SAP HANA Graph product, and, as the quote says, it is read-only. For more details, see presentation slides and paper.
If you would like to avoid Java due to its verbosity but are fine with writing general purpose code on the JVM, you might want to try the Kotlin language. However, using anything else than Java tends to introduce some integration issues (across all JVM-based applications, not just Neo4j in particular), so be prepared to tackle those. There is an example project on GitHub for Neo4j Kotlin procedures to get you started. Caveats: even though there is basic Kotlin support in the Eclipse IDE, it's not on par with the IntelliJ edition. So you will probably need an IntelliJ license.
If you have access to APOC Procedures, you can use apoc.cypher.run() (or apoc.cypher.doIt() for write-queries) to execute a string cypher query.
You can always follow the tutorial for creating your own procedure and have it call the appropriate APOC cypher run procedure with a hardcoded query.
What options exist to query RMS files in OpenVMS? The context for the query/access would be for BI & reporting. Currently, a very old FOCUS (Infomation Builders, v. 6.9.8) is in use, and that only from within the native OpenVMS command line shell.
My challenge working within the VMS environment is that output is intended for off-platform consumption & analysis in Excel, R, and Business Objects/Crystal Reports, and Splunk/Hunk. On-platform, I'm limited in what I can use by whatever I can compile &/or run from within my own user space, and the CONNX & similar tools all look to require a server process in the VMS environment.
Edit: I have accepted a comprehensive answer which, given organizational constraints, may not be feasible. My likely path will be to write additional data extractions jobs in FOCUS, and incur the latency & maintenance overhead that goes along with that.
Do you want to the reporting to be on-platform, or off-platform (for example with Excel)?
On-platform, after 30+ years, I still really really like Datatrieve, as mentions in a comment.
This tool was created before SQL became all the rage, so its query language takes a little getting use. It knows show to used just about every RMS option (keys, RFA's for collections, joins, locks and sharing,...)
I'm sure there are multiple commercial tools like Focus you mention, and perhaps the IGH tool Vselect for data extraction, column shuffling, sorting. Some would even recommend OpenVMS native SORT but now you are still in Command Line space.
For a (green screen) windows approach, and command line, perhaps check out the freeware tool DIX: http://www.oooovms.dyndns.org/dix/
Off-platform google for "openVMS odbc" (jdbc). You'll find tools from Connx, Easysoft and "Connect" from the company I work for : Attunity.
Those will allow you to use (windows, linux) tools like DBvizualizer or Excell to get to the OpenVMS sourced data.
Perhaps an interesting hybrid could be Attunity's Connect ( "AIS" ) solution which allows for SQL language RMS file access, but on platform (NAV_UTIL) and off-platform, ("Studio, Nav_util, Oracle db-link, ODBC, JDBC, XML, ... )
For better help, please clearify the query still better. Notably the remark " only from within the native OpenVMS command line shell". What's wrong with that? :-). What alternative access did you envision? fake-gui, DECwindows? Native API? Remote API? ...
Hope this helps some already,
Hein
You could consider writing code in a native language such as C or Java. The company I work for uses Apache, DCL scripts in cgi-bin, and the Userbase 4GL to put an Intranet reporting front-end over an OpenVMS legacy system. As long as you wrap the output in HTML etc Apache will stream it back to a browser which will interpret it accordingly. However, with the impending move to Itanium we're faced with no support for porting Userbase. If anyone knows who holds the source code could they tag a reply onto the end of this. We're looking for a terminal (character mode) reporting solution for Itanium as not all users have PCs. If it weren't for this we'd just slap Crystal over CONNX and call it a day. Many thanks.
Further to my previous answer I'm now evaluating R as a reporting solution, using the RODBC to interrogate the RMS database via CONNX using R's RODBC library.
yEd is a modeling software tool that is for free. I really enjoy using this modeling software tool because of its simplicity and quick deployment.
During my work i will take a break here and there and just kind of dream up some of my side projects entity relationship in yEd. So after building something over some course of time i wanted to transfer it to mysql.
After several searches i cannot find anything that is related to mysql workbench and yEd. Is there a way to import a yEd model into mysql workbench?
Well, yEd produces XML files that are pretty easy to understand. I've eventually managed to build some XSLT files that are capable of reading source yEd files and transform them to any output I need. (I was producing pipelines similar to those used in XProc standards)
My developpements in this field were very specific to my needs, but it's an easy task as long as you now some XML/XSLT basics.
Don't hesitate to ask further questions if you need help for this.
I developed a script that converts a TGF file to SQL.
URL: https://tioconejo.alwaysdata.net/prototipos/tgf2sql/
You just draw your diagram using YED, save it as TGF, copy the content in the site, and it will parse and transform it into SQL.
You have to draw the diagram following some criteria. It works fine!
The diagram
The result
I am thinking about using SQLite
It is a self-contained, server less, zero-configuration, transactional SQL database engine and is open source.
Will I gain anything by using Blackfish instead of SQLight ?
Why not Firebird?
http://www.firebirdsql.org
http://www.firebirdfaq.org
"...Firebird is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms. Firebird offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers. It has been used in production systems, under a variety of names, since 1981...."
Stick with FOSS (Free Open Source Software).
Both SQLite and Firebird are excellent choices. Both fill your requirements. Both are very reliable, zero-configuration and support transactions.
Without knowing enough about your intended use, Firebird would be my first choice because it makes possible to migrate to a Client Server deployment with close to zero effort and it has a very robust set of features. It is all about the options.
IMHO Blackfish is not a god choice - "Blackfish SQL runs on both the .NET framework and on the Java platform." - enough said.
Use SQLite.
Much smaller, less overhead, no licensing issues etc.
Laslty, only you can decide which one will do everything you need a db system to do. Which one has all of the features you need to support?
John
I will vote for Sqlite first, because it's compact, lite and fast, but depend on your application you may go with other choices like Firebird or PostgreSql.
for example Sqlite has limitation to one writer at the same time, it may not be problem for most of desktop applications that used by one user, but it will not scale for more uses in future.
you can go with FireBird embedded as solution which will be act like Sqlite, then move to firebird server when you need more users.
In other side BlackFish database, will force you to install .Net framework on your client's machines, which is something isn't good IMO, specially if you need to distribute your application on Internet, beside it will require license when it scale for more than developer edition.
Another thing to consider is how are you going to access your data. If you are using DBX4 for instance, it is very easy to change what database you are looking at. In which case I would suggest trying both (plus any others that people highly recommend you try). On the other hand if you are using the the Interbase or ADO data access components then your ability to change is somewhat more limited.