My last article raised an interesting discussion whether you should see tests more as documentation or more as specification. I agree that they can contribute to both of them, but I still think tests are just - tests...
There were also complaints about my statement that testing often becomes tedious work which nobody likes. Also here I agree, that techniques like TDD can help you to structure your code and make sure you code exactly what is needed by writing the tests, but the result of the process will still be a class which needs to be tested somehow.
A diagram is a graphical representation of information that depicts the structure, relationship, or operation of anything. Diagrams enable your audience to visually grasp hidden information and engage with them in ways that words alone cannot. Depending on the type of project, there are numerous ways to use diagrams. For example, if you want to depict the relationship between distinct pieces, we usually use an Entity Relationship Diagram (ERD). There are many great tools that can help you sketch out your database designs beautifully.
In this article, I will be sharing some of my favorite tools that I use to curate my data structures and bring my ideas to life.
Google Docs Drawing
The drawing function in Google Docs allows you to add illustrations to your pages. You can add custom shapes, charts, graphs, infographics, and text boxes to your document with the built-in drawing tool.
Sketching with Google Docs
Although it is simple to add a graphic to your Google Docs, the procedure is not totally visible. Here’s how:
1 . Open a new document on Google Docs.
2 . Click on the insert button and select Drawing . Then, from the drop-down option, choose New to open the drawing screen.
3 . You can use the toolbox on this screen to add text boxes, select lines, and shapes, and modify the colors of your drawing.
4 . You may also use the cursor to adjust the size of your drawings and the color of your designs by using the toolbox at the top of your screen.
5 . When finished, click the Save and close button. You can click on the “File” toolbar displayed on the top of your screen to download your document.
Features
Cost
Free.
CLI? GUI? Online?
Online.
Requires an Account?
Yes, a Google account is required.
Collaborative Editing?
Yes, with Google Drive sharing.
Import SQL
Not Applicable.
Export SQL
Not Applicable.
Export Formats
.doc, .pdf, .rtf, .odt, .txt, .html, .epub
Generate Shareable URL
Yes.
Google Docs offers amazing convenience. However, diagramming databases is not something it was intended for. You may find yourself frustrated with redrawing arrows and relationships if you are making frequent edits to your model.
Graphviz
Graphviz is a free graph visualization software that allows us to express information diagrammatically.
Graphviz implements the DOT language. The DOT language is an abstract grammar that makes use of terminals, non terminals, parentheses, square brackets, and vertical bars. More information about the DOT language can be found in its documentation.
Graphviz has an impressive and supportive community. However, a high level of SQL support is only available when you install additional third-party software. This overhead may make it less approachable to users that are not comfortable setting up their computer to support these tools.
ERDPlus
ERDPlus is a database modeling tool that allows you to create Entity Relationship Diagrams, Relational Schemas, Star Schemas, and SQL DDL statements.
It includes a brief guide on how to create your ER diagrams, which is especially useful for beginners. You can also easily convert your created ER diagrams to relation schemas.
Features
Cost
Free.
CLI? GUI? Online?
Online.
Requires an Account?
Not required, but recommended for saving.
Collaborative Editing?
Not Applicable.
Import SQL
No.
Export SQL
Yes, with the support of SQL DDL statements.
Export Formats
.png
Generate Shareable URL
Not Applicable.
ERDPlus is suited for SQL. It does lack additional export formats and ability to share with teams, but these features are not necessary with import and export.
Diagrams.net
Diagrams.net (previously Draw.io) is a free online diagramming tool that can be used to create flowcharts, UML diagrams, database models, and other types of diagrams.
Diagrams.net is designed to support many different workflows. Its ability to easily integrate with third-party integrations such as Trello, Quip, Notion, and others distinguishes it from the other options. The ability to share and collaborate may make it work well for collaborative teams.
Conclusion
This article is based on using free database tools that could help visualize your ideas and their capabilities with limitations to great details on how to use these tools.
In my research, I also came across other excellent tools with free trials available for creating database diagrams like Lucidchart, EDrawMax, and, DrawSQL. However, these free trials have limitations which may make them less suited for developers working on multiple projects.
I strongly recommend that you read the documentation for each of these tools to determine what works best for you and, most importantly, to avoid any difficulties in using these tools.
Thank you for taking the time to read this far, and I hope you found what you were looking for. Have a wonderful day!
With the increasing reliance on websites for various purposes, the demand for reliable website monitoring services has also grown. These services not only help you track the uptime of your website but also provide valuable insights into its performance and …
D3.js is an open-source JavaScript library for producing dynamic, interactive data visualizations in web browsers using SVG, HTML and CSS.
In addition to D3, there are other popular and powerful libraries such as ECharts and Chart.js. However, they are highly encapsulated, leaving too little room for customization.
Continuous integrations and deployments are key elements to a company's success in releasing software actively in the multifold. It is common in a small engineering team that only one person has the knowledge to package up the project to release and distribute. Building a system with one engineer understanding how to distribute an application is considered to be a bad practice due to relying on John Doe. John Doe might be on vacation, sick, fired, etc. and due to this new releases are paused from touching production till the next guy figures out all the ins and outs.
Building a system that can actively measure, build, and distribute an application is crucial in order to save a lot of time and money. We're going to outline the seven tips addressing the common CI/CD risks that arise when creating a CI/CD pipeline.