I am trying to create an Entity-Relationship Diagram by reverse engineering a MySQL database using a .SQL file. The process has been successful, using MySQL WorkBench and Toad Data Modeler. However, the diagram that both tools generate does not show the relationships between entities. So the diagram is of little use.
Having asked the software's technical support team why this is so, the reply is that they have used ADODB as a database abstraction layer in order to support several DBMSs, and ADODB doesn't explicitly define foreign keys. My question is, is there a tool that can generate these relationships by making guesses related to column names etc.?
They also mention that they use an XML descriptor to view the database structure. So is it possible to generate a diagram from the XML document?
I would generally create the ERD myself, but the database contains 99 tables and would be an extremely tedious process.
Thanks a lot,
Amy
Another is ERWin by CA. Its fanatastic tool to reverse and forward engineer databases and can infer relationships from column names. Its very costly though, i have used the trial version.
I have found the answer to my question:
In Toad Data Modeler, there is a function that infers the relationships between tables based on field names etc. In the Menu, it is under Macros -> All -> Infer Relationship.
I haven't checked that the relationships are completely accurate, but it appears to have worked well.
Thanks,
Amy
Related
We are embarking upon a Legacy Data Migration project, and in the process of understanding our source database better, we are trying to build a db model out of it.
We dont have any information about the Primary/foreign keys in the db. We are still mining the COBOL code to understand the business better.
However, in our quest to build the db model, we are trying to see if tools like ErWin or PowerDesigner or others can help us "guess" the relationships based on column names etc. I have the community edition downloaded, and trying the reverse engineering process to see if we can get some worthwhile output, before I go and ask my manager to requisition the purchase of the tool.
So far, I have not got any success with that. Tried the option wherein it asks about finding relationships using Index / Name, chose name there, but nothing so far.
Could it be that its possible, but I am missing something ?
Is it altogether possible to guess the relationships based on column names ?
Can any other tool do this job ??
Any help is appreciated...
You should be able to reverse engineer from the DB2 table directly into ERWIN.
You only need a connection to DB2 or get the z/Os dba to provide you with the DDL.
I do not think guessing the relationships is a very good idea when all the information you need is in the DB2 catalog tables. Talk to you DBA.
Can you provide some more information / examples. In Cobol there is often a naming convention
(e.g. A Table-Id is included in field names at the start / end of the field name) in which
case
T1234_Product_code
is equivalent to
T1323_Product_ID
T1245_Product_Code
I suggest investigating (if you have not already) any naming convention.
My boss is asking me to find an easy way for the engineers to type in descriptions of entities and fields of a large database (sql server 2008) and I am struggling to understand his requirement. He mentioned there is a way of doing so by "directly inputting descriptions in the schema files in a specific syntax that other software can easily pull out to generate a data dictionary".
He said this is what he did 7 / 8 years ago and it was very easy
I looked on the web, and I showed him how you can use SQL statements to edit the external properties of entities and fields, to which he said it was not what he wanted and that "this is not a convenient or fast way" of doing so.
Does any one know what my boss is talking about? And maybe explain to me what sort of schema file he is talking about?
I don't know of any way that has ever existed for SQL Server other than sp_addextendedproperty when it comes to schema definition. In Enterprise Manager, it used to be a little more obvious how to enter in descriptions. In Management Studio, it's really non obvious. You can do it a little easier if you create a database diagram, then edit the custom view of the tables and add the description column to the view. You could also use a tool like http://www.sqldatadictionary.com to quickly edit many descriptions.
is it possible to create a graphical representation of specific object in database Schema and all it relationships with all linked metadata, views, and stored procedures assocated with this object? Example: I want to define a logical relationships between “Data Sheet” tab on Prestashop product page and the rest elements in a database schema.
Yes (partially) - use the mysql workbench. It has reverse engineering db tools
see mysql dev wb link
This will generate diagram of the tables + relationships. Stored procedures, views, trigger etc are not going to be supported (too complex). You will just have to browse and reverse them yourself.
Yes, you can find PrestaShop's new Physical Data Model here: http://www.prestashop.com/blog/en/a-new-physical-data-model-available-for-prestashop/
There is a MySQL workbench model in the dev directory of the Prestashop distribution (although the last one I looked out was out of sync with the actual release database schema, although that could have been a development release). I would make that my first point of call. Unfortunately it won't show up every relationship between tables though.
One of the quickest ways to do analysis is to take a snapshot of the database, insert a particular record (user, order, customer, data sheet etc.), take another snapshot, then diff them.
I wonder how to construct mysql DB for school diary.
It will contain info for the students of some class,assessments on their school subjects(math,english and etc.) and school notes.
But for class of 30 students I can't figure out the best solution for constructing the DB.
Can you give me some advices?
Yes,
Read about ER (Entity Relationships' models).
Think how you would organize your data.
Read about foreign keys.
Apply acquired knowledge to design the database.
Implement database design in MySQL RDBMS.
If you wish, there are already some tools that will help you in creating database structure, such as Enterprise Architect (paid one) or MySQL Workbench (it is free, I believe).
you need an admin tool like phpMyAdmin or the MySQL tool that is available at the MySQL.com site (see downloads). i can't recommend any books for learning database design and it's not a trivial matter that can be condensed into a few paragraphs. you might take a look at this ... http://dev.mysql.com/tech-resources/articles/intro-to-normalization.html
good luck
I have so many tables and FK relationships it is hard to keep track and visualze it all. Speard across multiple excel documents. I have it already entered in mysql but I want to output a data model diagram that links tables together along with all the FKs.
How to do it apart from manually having to do it? I am open to 3rd part tools as long as they are free.
Well I am using phpMyAdmin on my local server.
phpMyAdmin 3 has this Designer feature that shows you the linkages between various tables and its columns.
Take a look at the MySQL Workbench.
It's a free tool and offers a few nice features like forward and backward engineering and database synchronisation. I has a few bugs, but its the best tool for MySQL I know so far.