Software

Here are links to software that is useful for the course.

1. Diagram Editors

These are tools for drawing diagrams. Any tool that can draw a basic ER diagram is sufficient.

  • Lucidchart is web-based, no installation is required and it's quite easy to learn. It's primarily a drawing program, but it can export and import SQL in order to create or model a database. There are licenses for TIDAB, TIEDB and TITEH students. There is also a free version, but it is limited to three editable documents.

  • Astah Links to an external site. is a diagram editor, mainly made for UML, but it also has some support for ER diagrams. It can translate an ER diagram to SQL. All participants in the course are entitled to a license for astah professional, which can be found at the page Astah License. Don't use the free trial version.

  • MySQL Workbench Links to an external site. is a tool for database administration, one of it's functionalities is a diagram editor for ER diagrams. It understands an ER diagram and translates it to a MySQL database. MySQL Workbench has quite a lot of functionality, and is more complicated to learn than Lucidchart. It is also very tightly connected to MySQL. It's primarily a drawing program, but it can export and import SQL in order to create or model a database.
  • draw.io Links to an external site. is a free, web-based drawing program that has quite good support for database modelling.
  • ERAlchemy Links to an external site. is a popular python-based tool for ER diagrams (compatible with popular databases) for those that prefer to use code rather than drag-and-drop interfaces.

2. Database Management Systems

  • PostgreSQL Links to an external site. and MySQL Links to an external site. are two very frequently used open-source database management systems, which are both much used in commercial applications of any scale. Both are well-suited for this course.
  • SQLite Links to an external site. is lightweight and made to provide a local data storage for individual applications and devices, and is very frequently used for that purpose. You are not allowed to use SQLite in the project, since it is not intended to provide a shared storage for enterprise data. It is, however, very useful for experimenting.

3. Programming

The programming project requires building applications that connect to a database using any language or SDK  (e.g., Java, Python, Scala, C#, Javascript). Thus, it is strongly recommended that you use an IDE for programming assignments, e.g. IntelliJ, Visual Studio Code, NetBeans or Eclipse.