Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
Is there any perl modules implementing function of database and easy to use. I do not need modules used to connect to some database products. I need simple database writing by perl.
Thanks.
I would suggest using DBD::SQLite. This is a self-contained database management system with no dependency to external binaries (unlike most others DBI drivers). It has nice options such as creating in-memory databases.
SQLite is an open-source RDBMS that implements a significant subset of the SQL ANSI Standard.
DBD::SQLite is a legitimate DBI driver, so it conforms to the API of the great DBI module, which is the de-facto Perl standard interface for databases.
From the documentation:
DBD::SQLite is a Perl DBI driver for SQLite, that includes the entire thing in the distribution. So in order to get a fast transaction capable RDBMS working for your perl project you simply have to install this module, and nothing else.
If you can live without SQL and relations, give DBM::Deep a try. Easiest of all, I wouldn't use it in production environment for sure, but it is ideal for rapid prototyping.
DESCRIPTION
A unique flat-file database module, written in pure perl. True multi-level hash/array support (unlike MLDBM, which is faked), hybrid OO / tie() interface, cross-platform FTPable files, ACID transactions, and is quite fast. Can handle millions of keys and unlimited levels without significant slow-down. Written from the ground-up in pure perl -- this is NOT a wrapper around a C-based DBM. Out-of-the-box compatibility with Unix, Mac OS X and Windows.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I am developing an app using SQL Server, but I've been asked to keep it compatible with the ANSI standard as much as possible in case we need to change to a different database in the future.
Is there a list of functions supported by pure ANSI SQL somewhere? I would have thought there would be, but I haven't been able to find one after 20 minutes on Google.
but I've been asked to keep it compatible with the ANSI standard as much as possible in case we need to change to a different database in the future.
Note that ANSI compatibility is not sufficient to guarantee portability, as SQL Server's ANSI-compatible syntax may not be implemented by some other platform.
Best practice to maximize portability is to minimize database-side stored procedures and functions, as these always are different, and (as you are doing) prefer the ANSI flavor of doing something to a proprietary one. EG use CASE not ISNULL, etc.
At the end of the day you should plan to have an abstraction layer in your application that would allow you to change databases or support multiple. If you use an Object-Relational Mapping (ORM) in your app (like Entity Framework, Hibernate, etc), that can be used to minimize and manage the application code dependency on a particular RDBMS.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
we have a legacy Windows app written in C++ using the MFC framework. I want to now add capability to communicate with a database at a centralized server. There are ODBC Connection libraries for many of the popular databases which allow me to do exactly what I want (with MySQL for example). But upon further reading, the GPL or LGPL licensing for both the database but more importantly the connection library gets too complicated given my limited legal resources.
Opening up my source code is not an option for me as I am a small operation selling closed source software for profit. My preference is to choose a database with an available connection library with flexible licensing. I don't care if it is free or paid but I'd like it to be something relatively popular with tools, support, some user community, etc.
MySQL seemed simple and widely used but the licensing is a problem for me. The licensing for the PostgreSQL database itself seems much more flexible but the connection library I found is licensed under GPL. Are there perhaps paid options that I'm not aware of?
Should I be considering Microsoft SQL Server?
Can people please recommend any additional options to me?
LGPL is what you want. GPL is ambiguous about the status of other works (your code) which links to a GPL library (the ODBC drivers). LGPL purposely is explicit that using a LGPL library does not put your work under LGPL.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
There is a lot of databases, but I feel something different needed for Haskell. Like Erlang has it's own DB, Mnesia. Please recommend some good DBs for Haskell.
There are various frameworks for Haskell available, HDBC being the most popular.
HDBC is the database abstraction library, which allows you to use many popular databases, even Oracle or DB2. See Chapter 21. Using Databases in Real World Haskell.
I would advise you to choose the database depending on the type of data you want to store in it, rather than the language your system is implemented in.
Of course, this presupposes that bindings for the database exist in the language.
Since the question mentions Mnesia, I'll mention Haskell's equivalent: AcidState. It's a fast and flexible nosql database written in Haskell that has support for representation of native and user-defined Haskell types (that link shows you some quick how-tos, including implementing a hello-world blog).
There's more recent documentation on their wiki, and I've personally used it here in the implementation of a small web app.
If you're using Postgres I would recommend Opaleye. Disclaimer: I'm biased because I wrote it!
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I have the following scenario. I need a db to store XML messages that have been created by a reader. I then want to use a transport (wcf) to read the db external to the populating app and send the messages to a central db Generally the db needs to run on mono, and windows.
I did look at sqlite3, and it seemed to fit all my requirements, but i'm reading its not so good on multi process access and t's moving away from my sweet spot, these last couple of days.
Thanks.
Have you considered just using XML to store the data? It doesn't get any more portable than that and will work fine as long your client-side storage needs are simple. E.g. not a large amount of many domain objects that need to be stored.
Additionally using an XML data store solves a lot of setup and installation headaches. You simply reference a file (or files) relative to your executable. You don't need to worry about installing db engines for a variety of platforms and then worry about upgrading.
WOuld it be feasible to give each process their own sqlite3 database? They all ultimately use the central database anyway, right?
Have a look at Firebird.
You can use it as an embedded engine just like SQLite, but it can scale to a full blown server as well.
The only drawback is, that the documentation is a mess
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
I'm looking for a tool that generates DB diagrams.
Free (open source maybe)
Works in Linux (cross-platform maybe)
Supports PostgreSQL/MySQL
diagrams.net is free and on Github (I work on the project). It does work on Linux and has a generic SQL import, under Arrange->Insert->SQL.
You can save either locally, or directly to Google Drive, OneDrive or Dropbox. There's also a Desktop version available.
MySQL Workbench is a good tool for working with its namesake that does ERD modeling. I've used it on both Windows and Ubuntu.
If you are looking for an entity relationship model (not relational model) you have to try Dia http://dia-installer.de/
This software works on linux/windows/mac. And have a branch on git.
The entity relationship model has the purpose of make a model of the problem and let you understand the problem, so in the end you can generate a good relational model to have the most efficient model for you database.
This software is not intended to generate mysql tables directly but it has a plugin to convert Dia diagrams to sql, you can check it out in the same link.
You might want to try PowerArchitect
It's Java based (therefor cross-platform) and I have used it successfully with PostgreSQL
If you do want to spent some money (albeit not much), have a look at DbWrench which offers more features than PowerArchitect
Another open source/cross-platform option is Mogwai ERDesigner. Although there is one thing that I really don't like about it: if requires a connection to a database (to validate/define datatypes) which I find a very limiting requirement.
I use Software Ideas Modeler for entity relationship diagrams. It could meet your requirements - it's not open source but it has a free version, it works in Linux via Mono and it supports MySQL.
If you are looking for some software to auto generate ER diagram from existing database then you will love this tool: http://schemaspy.org/
https://drawerd.com is a online database structure tool.
zenchart is an online ER model generation tool, which can generate ER models through database DDL scripts, support exporting SQL, and the relationship between tables.
https://www.zenchart.net/erd-index.html